ACCESS 2003の条件分岐について教えて頂けないでしょうか?
access2003を勉強中です。
先週1週間かけても解決できないことがありまして、どなたか教えて頂けないでしょうか。
内容は
会社で使用する勤務表に関してです。
ユーザー名(コンボボックス)、日付(カレンダーコントロール)、
出社時間(テキストボックス)、退社時間(テキストボックス
、作業内容(テキストボックス)をユーザーが入力し「登録」
コマンドボタンのイベントで入力した内容を、勤務表テーブルに
反映させたいのです。
その時に同じユーザーの同じ日付を2件入力させないようにしたいので
フォームに入力された内容からユーザー名と日付によって、
同じ内容が勤務表テーブルに無ければinsert、有ればupdateと
条件分岐をしたいのです。
しかし、
Public Sub kinmu()
Dim mmrs As ADODB.Recordset
Dim mmcn As ADODB.Connection
Set mmrs = New ADODB.Recordset
Set mmcn = Application.CurrentProject.Connection
mmrs.Open "勤務表", mmcn, adOpenKeyset, adLockOptimistic
mmrs.MoveFirst
If DCount("[ユーザー名] & [日]", "[勤務表]", "[ユーザー名]=[Forms]![フォーム1]![コンボ56]" & _
"and[日]=[Forms]![フォーム1]![テキスト88]") = 0 Then
mmcn.Execute "INSERT INTO 勤務表 ([ユーザー名],[日],[出社],[退社],[作業内容]) VALUES ([Forms]![フォーム1]![コンボ56],[Forms]![フォーム1]![テキスト88],[Forms]![フォーム1]![テキスト8],[Forms]![フォーム1]![テキスト17],[Forms]![フォーム1]![テキスト28]);"
Else
mmcn.Execute "UPDATE 勤務表 SET (ユーザー名=[Forms]![フォーム1]![コンボ56],日=[Forms]![フォーム1]![テキスト88],出社=[Forms]![フォーム1]![テキスト8],退社=[Forms]![フォーム1]![テキスト17],作業内容=[Forms]![フォーム1]![テキスト28] where [ユーザー名]=[Forms]![フォーム1]![コンボ56] and [日]=[Forms]![フォーム1]![テキスト88]);"
End If
として、「登録」コマンドボタンのイベントとしてCallキーワードによって呼び出そうとしているのですが、うまくいきません。
最初はDCount関数で件数を求め、それを変数に入れる。
IIF関数による分岐。などいろいろ試してはいたのですが、、、。
どなたか教えて下さい。よろしくお願いします。
お礼
情報ありがとうございます。 あれから調べまして、 >システム変数 inputstr に格納する。 とおっしゃれているように、その一文に気づき試してみた所 出来ました。 ありがとうございました。