前にも同様のご質問をさせていただきましたが、解決しませんでしたので、もう一度質問させていただきます。
データ入力をACCESSで入力をしたいと考えております。
今回の場合にはサブフォームを使用するのですが、メインのフォーム側のボタンをクリックしただけで、メインのフォームに書かれたデータはメインのテーブルへ、サブフォームに書かれたデータはサブのテーブルへそれぞれデータを格納するには、[イベント プロシージャ]ではどのように記述すればよろしいのでしょうか。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
Access2000であればADO(データベースとアクセスする手段のひとつ)が使用できます。
メインのテーブル
テーブル名:メインのテーブル
フィールド1
フィールド2
サブのテーブル
テーブル名:メインのテーブル
フィールド1
フィールド2
メインのフォームには下記のテキストボックスとボタン
テキスト1、テキスト2、「データの格納」ボタン
サブフォームには下記のテキストボックス
テキスト3、テキスト4
で、「データの格納」ボタンをクリックしたらデータが格納できるサンプルを作ってみました。
Private Sub データの格納_Click()
On Error GoTo Err_データの格納_Click
メインデータの格納
サブデータの格納
MsgBox ("保存完了")
Exit_データの格納_Click:
Exit Sub
Err_データの格納_Click:
MsgBox Err.Description
Resume Exit_データの格納_Click
End Sub
Public Sub メインデータの格納()
Dim rst As New ADODB.Recordset
Dim rstName As String
Set rst = New ADODB.Recordset
rstName = "メインのテーブル"
rst.Open rstName, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rst.AddNew
rst![フィールド1] = Forms![メインのフォーム].テキスト1
rst![フィールド2] = Forms![メインのフォーム].テキスト2
rst.Update
rst.Close
Set rst = Nothing
End Sub
Public Sub サブデータの格納()
Dim rst As New ADODB.Recordset
Dim rstName As String
Set rst = New ADODB.Recordset
rstName = "サブのテーブル"
rst.Open rstName, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rst.AddNew
rst![フィールド1] = Forms![メインのフォーム]![サブフォーム]![テキスト3]
rst![フィールド2] = Forms![メインのフォーム]![サブフォーム]![テキスト4]
rst.Update
rst.Close
Set rst = Nothing
End Sub
ご参考になれば幸いです。m(__)m
No.1
- 回答日時:
前回の質問番号がわかれば、その回答に補足しやすいのですが・・・
あと、作成してるフォームとサブフォームは、それぞれレコードソースをそれぞれのテーブルにしているかどうか、それぞれのフォームのテキストボックスは、連結か非連結かによっても変わります。
作成してるフォームとサブフォームは、それぞれレコードソースをそれぞれのテーブルにしており、それぞれのフォームのテキストボックスは、それぞれのテーブルの各フィールドに連結しているのならば、
フォームとサブフォームを再表示(Requery)すると、確実に入力したデータは格納されます。
ボタンがフォームにあるので、フォームを再表示は、
Me.Requery
です。
サブフォームの再表示は、
Forms![フォーム名]![サブフォーム名].Requery
となります。
以上ご参考になれば幸いです。m(__)m
この回答への補足
ありがとうございます。
質問番号は「No.243452」です。
フォームもサブフォームも非連結です。
データを入力したその瞬間から、テーブルへ格納するのではなく、ボタンをクリックするまでテーブルへの格納は行いたくないのです。
また、サブフォームはデータシートです。
説明不足で申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Visual Basic(VBA) VB.netのコンテナークラスとはなんですか 2 2023/07/22 03:54
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- その他(パソコン・周辺機器) 2つのPCを行き来する 2 2022/06/15 01:59
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access サブフォームでの選択行...
-
access サブフォームにリストを...
-
Access 複数フォームを...
-
ACCSESS2013VBA フォームのレコ...
-
アクセスで サブフォームの表...
-
アクセスでサブフォームのレコ...
-
ACCESS サブフォームのフィール...
-
Accessのサブフォーム内で連続...
-
Accessのサブフォームから値を...
-
Access2000、これはいったい・...
-
Accessでサブフォームを使った...
-
別MDBのフォームを起動
-
ACCESSでサブフォームの...
-
強制終了になってしまいます
-
[Access2000] フォーム間で値の...
-
レコードセットで得た結果をサ...
-
Access2003 タブコントロール...
-
Accessで、一覧からクリックし...
-
コンボボックスで選択実行後、...
-
Accessで、サブフォームのある...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access サブフォームでの選択行...
-
ACCSESS2013VBA フォームのレコ...
-
Access 複数フォームを...
-
(ACCESS)条件に応じて、テキ...
-
access サブフォームにリストを...
-
Accessのサブフォームから値を...
-
サブフォームが見えなくなる。
-
Access2000、これはいったい・...
-
サブフォームでのダブルクリッ...
-
サブフォームのデータを保存す...
-
googleフォームでインストール...
-
Accessで、一覧からクリックし...
-
ACCESSでfilterとorderbyについて
-
Access2000 サブフォームのReco...
-
レコードセットで得た結果をサ...
-
サブフォームの切り替え方を教...
-
アクセスでサブフォームのレコ...
-
AccessのFormのみをスクリーン...
-
別MDBのフォームを起動
-
Accessのコンボボックスに連動...
おすすめ情報