Access2003のフォームで社員管理システムを作ろうとしていますが、VBAの記述でわからないことがあるので、教えてください。
まず、テキストボックス「txt_検索」に社員番号を入力し「cmd_検索」ボタンを押すと、社員管理テーブルの社員番号フィールドより検索をします。
社員管理テーブルに該当するレコードがある場合は、レコードの編集となり、社員番号がない場合はテキストボックス「txt_社員番号」に「txt_検索」の値を入れた新規レコードの作成としたいのです。
入力した値でレコードの検索をして、無いなら新規作成といったコードは
どのような記述になるのか教えてください。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
社員管理テーブルを元に作成されたフォームでしょうか。
レコードソースに社員管理テーブルが指定されており、
cmd_検索、txt_検索 は、ヘッダー部に作成されているものと仮定します。
以下一例)
txt_検索 に入力あったら、まず既定値を設定し、検索後なかったら新規へ
Private Sub cmd_検索_Click()
If (Len(Nz(Me.txt_検索)) > 0) Then
Me.txt_社員番号.DefaultValue = "'" & Me.txt_検索 & "'"
With Me.Recordset
.FindFirst "社員番号='" & Me.txt_検索 & " '"
If (.NoMatch) Then .AddNew
End With
End If
End Sub
※ 社員番号がテキスト型の時の例です。
※ 追加/削除/更新の許可を制御されていた場合には、.NoMatch 判別部分で設定してみてください。
全件を表示しておいて対象のところに移動・・・というのが前述した方法になります。
必要なものだけを表示するようにする方法の一例は以下。
レコードソースのクエリの社員番号抽出条件に [Forms]![フォーム名]![txt_検索] を指定します。
txt_検索 に入力後、 cmd_検索 で再クエリします。
(既定値も設定しておきます)
Private Sub cmd_検索_Click()
If (Len(Nz(Me.txt_検索)) > 0) Then
Me.txt_社員番号.DefaultValue = "'" & Me.txt_検索 & "'"
Me.Requery
End If
End Sub
もしくは、cmd_検索 は不要で、txt_検索 の更新後処理で行います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
平社員の場合の役職名は?
-
月1くらいで休む派遣さんが、休...
-
巨乳の同僚
-
皆さんの会社の親睦会費は社員...
-
社員への残業時間公開について
-
出戻り社員は一番下でしょ?? ...
-
若いイケメンには態度を変える...
-
自分にだけタメ口対応をされま...
-
帰り際になって急に話しかけて...
-
マクドナルド社員になるのはか...
-
会社の人に勝手にLINE追加され...
-
派遣社員に直接注意
-
職場で寝不足で早退するのはど...
-
職場で空気のような存在になっ...
-
Accessの参照フィールドの列が...
-
ニコニコしてる人の裏の顔につ...
-
Access VBA DB(先頭の0値を...
-
社員各位という言葉について
-
会社の保養所の不正利用につい...
-
大人のイジメって何をされるの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
平社員の場合の役職名は?
-
出戻り社員は一番下でしょ?? ...
-
会社の人に勝手にLINE追加され...
-
巨乳の同僚
-
社員名簿で家族構成書くとこあ...
-
社員各位という言葉について
-
職場で空気のような存在になっ...
-
社内盗撮
-
会社の互助会費について
-
社員への残業時間公開について
-
マクドナルド社員になるのはか...
-
帰り際になって急に話しかけて...
-
月1くらいで休む派遣さんが、休...
-
自分にだけタメ口対応をされま...
-
派遣社員に直接注意
-
悪口を本人に聞かれてしまった
-
皆さんの会社の親睦会費は社員...
-
若いイケメンには態度を変える...
-
妻ですが男性と2人だけの出張が...
-
社員がPCを壊した場合の対処方...
おすすめ情報