- ベストアンサー
アクセスでの登録ボタンでの処理について
- アクセス初心者のための新規登録フォームについての処理方法
- 非連結な構造でクエリを利用して登録ボタンを押した情報のみをテーブルに保存することは可能か
- 新規登録用フォームをMainMenu上に配置し、クリックすると新規登録用画面が開く構造にしたい
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 >非連結で作成して、クエリに飛ばして、登録ボタンを押したものだけがテーブルに入っていくという構造… >テーブルに情報を入れていくのは非連結じゃ無理… 非連結フォームの内容(TextBoxやLABEL等のデータ)を登録ボタン押下後にテーブルへINSERTする …で良いなら。 Private Sub btnButton1_Click() Dim qdf As QueryDef Dim strSql As String '追加SQL文の定義 strSql = Empty strSql = strSql & "Parameters [P_a] Text[50],[P_b] Text[50],[P_c] Text[50];" strSql = "Insert INTO TBL_A (a,b,c) Values([P_a],[P_b],[P_c]);" Set qdf = CurrentDb.CreateQueryDef("", strSql) '一時作成、自動消滅 'パラメータの置き換え(INSERTするデータ) qdf.Parameters("P_a").Value = Format(Now, "hh:mm:ss") qdf.Parameters("P_b").Value = "bbb" qdf.Parameters("P_c").Value = "ccc" '追加実行 qdf.Execute '解放 qdf.Close Set qdf = Nothing End Sub でいかがでしょう? 上記のSql文の"Parameters"は使用しなくても直接SQL文とデータを結びつけても可です。 たとえば strSql = "Insert ~ values('" & データ1 & "','" & データ2 & "','" & データ3 & "');" です。 この場合、 「qdf.Parameters(xxx).value = 」の行は不要です。 >クリックしたら新規登録用画面が開くという風に作りたい 画面を開くなら DoCmd.openForm "F1" "F1"の部分は、プロジェクトエクスプローラで表示されるフォーム名 "Form_F1"の質問者さんが命名したフォーム名です。