|
▼わん さん:
おはようございます。
>情けないことですが、どうか宜しくお願いいたします。
いえいえ、わん さんだけでなく、同じ様な事で困っている他の方が
今後過去ログとして参考になさるかもしれません。
わん さんのご提示される内容も段々と当方に伝わりやすくなっていますよ。
>DCount("*", "社員労働時間", "社員番号=Forms!社員用タイムレコーダー!社員番号" _
> & "And 打刻日付=#" & MyDate & "#") = 0
こちらは当方の検証不足でした。すみません。
「Forms!社員用タイムレコーダー!社員番号」も「"」の外に出す必要があります。
※フォーム名、コントロール名である事を明記する [ ] をつけてあります。
>>DCount("*", "社員労働時間", "社員番号 =" & Forms![社員用タイムレコーダー].[社員番号] _
>> & "And 打刻日付 = #" & MyDate & "#") = 0 Then
>>DCount("*", "社員労働時間", "社員番号 =" & Forms![社員用タイムレコーダー].[社員番号] _
>> & "And 打刻日付 = #" & MyDate & "# And Not IsNull(退勤時間)") > 0
退勤ボタンが「社員用タイムレコーダー」フォームにあるのであれば、
>>If DCount("*", "社員労働時間", "社員番号 = " & Me.社員番号 _
>> & "And 打刻日付 = #" & MyDate & "#") = 0 Then
>>If DCount("*", "社員労働時間", "社員番号 = " & Me.社員番号 _
>> & "And 打刻日付 = #" & MyDate & "# And Not IsNull(退勤時間)") > 0 Then
>クエリの中身は以下のようになっています。
見事に退勤打刻クエリに「Date」関数がいらっしゃいますね。
UPDATE 社員労働時間 SET 社員労働時間.退勤時間 = Now()
WHERE (((社員労働時間.社員番号)=[Forms]![社員用タイムレコーダー]![社員番号])
AND ((社員労働時間.打刻日付)=IIf(Hour(Now())>11,Date(),Date()-1)));
上記 SQL をクエリのSQLビューに貼り付けて確認されてみて下さい。
|
|