dポイントプレゼントキャンペーン実施中!

アクセス初心者です。新規登録用のフォームを作成しています。普通のフォームはマウス等の操作で前後の情報が見れますよね?(100件、情報が入力されていたら、100件見れますよね。)非連結で作成して、クエリに飛ばして、登録ボタンを押したものだけがテーブルに入っていくという構造はできるのでしょうか?ちなみにクエリから引っ張ってきた検索画面はフォームにあります。今の作成に仕方で、登録ボタンをクリックしても、テーブルに入っていきません。新規登録用フォームはMainMenu上に新規というボタンを設けてあって、それをクリックしたら新規登録用画面が開くという風に作りたいのです。テーブルに情報を入れていくのは非連結じゃ無理なんですか?どなたか分かる方いましたらご教示ください。よろしくお願い致します。

A 回答 (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"の質問者さんが命名したフォーム名です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!