Microsoft Access 掲示板

既存があれば既存なければ新規レコードをつくる

1 コメント
views
4 フォロー

まず、入力フォームの日付フィールドと氏名フィールドに入力します
他には出勤時間などのフィールドがあります
日付と氏名どちらもが一致するレコードがすでにある場合にはその他のフィールドには既存のレコードを表示
日付と氏名が一致するものがなければ新規レコードとして作成
というのはどのようにしたらよいですか?

くる
作成: 2020/09/24 (木) 00:41:15
通報 ...
1
hiroton 2020/09/24 (木) 11:15:25 7c0ec@f966d

前の質問と同じで抽出フォームを使えば既存レコードの表示はできます
「日付」「氏名」の項目固定で抽出になるのでその辺は調整してあげるといいと思います

検索結果でレコードが無ければ新規として登録できるようにしてあげればいいので抽出処理の後に追加の条件判定をして追加の処理を入れます

If Me.CurrentRecord < 1 Then
    '//抽出でレコードが見つからなかったので新規登録画面を表示する
    Me.AllowAdditions = True
    '//抽出内容を設定する
    Me!日付.DefaultValue = Me!検索用日付
    Me!氏名.DefaultValue = Me!検索用氏名
End If

※「検索用日付」、「検索用氏名」は抽出用のそれぞれのフィールドです。適宜置き換えてください

※フォームを開いたときに新規登録ができるとまずいので開くときイベントでレコードの追加を「しない」にする処理を追加しておきましょう

Me.AllowAdditions = False '//新規レコード追加をできないようにする