フォーム入力時、顧客や商品データが無い場合、フォームを開いたままで、そのテーブルを開き、顧客や商品データを入力、閉じます。
フォームでは、顧客や商品データはコンボボックスで選ぶ用にしていますが、それにテーブルに新たに入力したそのデータが出てきません。
フィールド→更新、やフォームを閉じ開きすれば、現れます。
これを、例えばボタンを作成し、テーブルにデータ追加後、ワンクリックで、フォームのコンボボックスに新入力データを反映させるにはどうすれば良いのでしょうか(SQLの方が良いか?)。
また、フォームのコンボボックスのデータは、フォームを開いた時のテーブルやクエリのデータそのままで、コンボボックス選択時に再読み込みなどはしないのでしょうか?
正確にはコンボボックスのデータは順の関係でクエリで整順させたものです。
access2000でwindows2000です。
宜しくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
<Test>
ID Field_1
1 Item_1
2 Item_2
3 Item_3
を[コンボ_Items]で表示しているフォーム[Form1]があります。
Private Sub コマンド_Add_Click()
On Error Resume Next
DoCmd.OpenForm "ItemAdd", , , Null
End Sub
で、<Test>へのID=4、Field_1='Item_4' を追加するフォーム[ItemAdd]をオープン。
フォーム[Test]を閉じた場合に[コンボ_Items]に4つのデータを表示するには?
との質問かと思います。
Private Sub Form_Close()
On Error Resume Next
Forms("Form1").Controls("コンボ_Items").Requery
End Sub
この場合、コンボアイテム追加フォームを閉じる際にコンボボックスを更新させるといいです。
No.2
- 回答日時:
質問のようなことをする場合の定石です
追加入力はテーブルで行うのではなく、入力用フォームから行います
コンボのNotInListイベントに下のようなコードを書きます
Private Sub 品名コード_NotInList(NewData As String, Response As Integer)
Dim NewCategory As Integer
'入力されたものを新規登録するか確認
NewCategory = MsgBox("新規の商品として登録しますか?", vbYesNo + vbQuestion + vbDefaultButton1, "新規の商品")
If NewCategory = vbYes Then
'入力されたものを再クエリに備えて削除
DoCmd.RunCommand acCmdUndo
End If
DoCmd.OpenForm "h商品", acNormal, , , , acDialog, NewData
Response = acDataErrAdded
End Sub
入力用フォームの開くときイベントに下のコードを書きます
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
Me.品名 = Me.OpenArgs
End Sub
入力用フォームを閉じれば入力された状態から作業を続けられます
再クエリは必要ありません
No.1
- 回答日時:
> コンボボックス選択時に再読み込みなどはしないのでしょうか?
リストは自動では更新されませんので、「再クエリ(Requery)」を使用します。
いわゆるマクロで組んでいるのでしたら、
1)「アクション」に「再クエリ」を設定
2)画面左下の「コントロール」引数にコンボボックス名を指定
コードで組んでいるのでしたら、
コンボボックス名.Requery
をコマンドボタンのクリック時イベントに設定してやればOKです。
または、コマンドボタンは作らずに、コンボボックスのフォーカス
取得後イベントでもいいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
accessの自動更新処理をできな...
-
ACCESSのフォームからデータの...
-
選択したチェックボックスのみ...
-
アクセス非連結フォームのテキ...
-
Accessのハイパーリンクのパス...
-
Accessのフォームのスタイルの...
-
オートシェイプのような作図入...
-
Access上でホイールマウスの機...
-
Accessのフォーム画面について
-
ADOでRecordsetオブジェクトを...
-
accessの入力フォームでの入力規制
-
アクセスのフォームで連結コン...
-
Access 別フォームへの再クエ...
-
Accessフォームのテキストボッ...
-
テキストボックス(アクセス)内...
-
ACCESS(アクセス):一度の入力で...
-
access 非連結のサブフォームの...
-
【ACCESS】テーブルの内容がフ...
-
帳票フォームで製品写真を表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
選択したチェックボックスのみ...
-
アクセスのフォームのビューが...
-
ACCESSで入力フォームをHTMLフ...
-
Accessのフォーム上にレコード...
-
Access 別フォームへの再クエ...
-
Accessフォームのテキストボッ...
-
accessの自動更新処理をできな...
-
「メソッドまたはデータメンバ...
-
アクセスでテーブルの変更内容...
-
アクセスでの項目追加について...
-
Accessのフォームで作業領域を...
-
Access フォーム上でコンボボッ...
-
アクセス 0以外をカウントす...
-
ACCESSの表形式で、レコードを...
-
Accessのハイパーリンクのパス...
-
ADOでRecordsetオブジェクトを...
-
Access2002 フォームを閉じるた...
-
ACCESSで、フォームのレコード...
-
Access runtimeでテーブル、ク...
おすすめ情報