お世話になります。
T_請求に追加する追加クエリQ_家賃請求Tがあります。
どの物件を更新するかをチェックボックスで指定し、追加クエリの抽出条件にしています。
月に1度のみの操作ですが、数人でこのデータベースを触り、
何度も追加されると困るので2度目以降はエラー処理をさせたいと思っています。
Private Sub 更新_Click()
Dim ret As Integer
ret = MsgBox("チェック物件を請求更新します。" & vbCrLf & "よろしいですか?", _
vbYesNo + vbQuestion, "請求月次更新")
If ret = vbYes Then
If DCount("[契約者CD]", "[T_請求]", "[物件CD] = " & Me!物件CD & _
" AND [T_請求]![請求年月] > #" & DateSerial(Year(Date), Month(Me![処理日]) + 1, 1) & "#") _
<> 0 Then
MsgBox "すでに指定物件の請求は更新されています" & vbCrLf & _
"同じ月に請求を2度更新できません"
Else
DoCmd.SetWarnings False
DoCmd.OpenQuery "Q_家賃請求用T"
MsgBox "更新されました"
DoCmd.SetWarnings True
End If
Else
If MsgBox("処理を中止しました", vbOKOnly + vbDefaultButton1 + vbExclamation) = vbOK Then
Me.Undo
Cancel = True
End If
End If
End Sub
以上のようなコードを書きました。
処理が正しくできているか確認のために、動作を調べたのですが、
まったく同じ請求年月で同じ物件CDのものが保存先のテーブルに処理されてしまいます。
どの部分を直せばいいのでしょうか?
足りない情報があれば提示しますので、よろしくお願いいたします。
お礼
よーーーく見てみたらものすごく初歩的なところでつまづいていたことがわかりました。 [T_請求]![請求年月] > #" & DateSerial(Year(Date), Month(Me![処理日]) + 1, 1) & "#") <> 0 ではなく [T_請求]![請求年月] = #" & DateSerial(Year(Date), Month(Me![処理日]) + 1, 1) & "#") <> 0 でした・・・お恥ずかしい限りです。 お付き合いくださりありがとうございました。