そのため、ボタンのクリック時にデータをテーブルに保存するために使用するバインドされていないフォームがあります。
同じボタンをクリックするだけでデータをテーブルに保存できるようにするエントリ用のサブフォームを作成する方法はありますか? 基本的には、ユーザーのエントリ オプションを追加したいと考えています。他の方法も知っていますが、この方法で行うことに特に興味があります (可能であれば)。
したがって、「親フォーム」が frmMain であるとしましょう。そして、2 つの子フォーム "sub1" と "sub2" があります。たとえば、frmMain には、txtTitle と txtAuthor という 2 つのテキスト ボックスがあるとします。sub1 と sub2 の両方に、価格のようなものを表すテキスト ボックスがあります。アイデアは、本のタイトルと著者、そして各店舗での価格 (簡略化) です。
だから私はこれを試しました(試してみる価値があると思ったので):
Dim db as DAO.database
Dim sql as String
sql = "INSERT INTO (Title, Author, PriceA, PriceB) VALUES ("
if not isnull(me.txtTitle) then
sql = sql & """" & me.txtTitle & ""","
Else
sql = sql & " NULL,"
End If
if not IsNull(me.txtAuthor) then
sql = sql & " """ & me.txtAuthor & ""","
else
sql = sql & " NULL,"
end if
if not IsNull (forms!sub1.txtPrice) then
sql = sql & " """ & forms!sub1.txtPrice & ""","
else
sql = sql & " NULL,"
end if
コードを完成させずに、私が目指している GOTCHA を目にするかもしれません。これを試してみたところ、「アクセスでフォームが見つかりません」というメッセージが表示されました。新しいサブフォームを親フォームに呼び出すボタンをクリックすると、sub1 が閉じて sub2 が開くときに、入力したばかりの値が保持/保存されないため、このアプローチでも理由がよくわかると思います。上記のアイデアは、どちらか一方のアプローチを意図したものではなく、両方のサブフォームが常に使用されることを意図していることに言及する必要があります。
これは例です。このメソッドを (可能であれば) 使用して、1 つのフォームに約 7 つの異なるサブフォームを選択し、SQL ステートメントを介してテーブルに保存できるようにしたいと考えています。
より良い方法があるかもしれないことは理解していますが、好奇心からこのアプローチでそこにたどり着くことができるかどうか疑問に思っています.
いつもありがとう!