• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のテーブルに対応したプロシージャは作成可能ですか?)

複数のテーブルに対応したプロシージャの作成可能性とは?

このQ&Aのポイント
  • 複数のテーブルに対応したプロシージャを作成することは可能ですか?
  • テーブルにはT会社とT社員の2つがあります。フォームにはFメインメニュー、F会社、F社員の3つがあります。
  • Fメインメニューのコマンドボタン(1)でF会社のtxtBoxに主キーの番号を振り、コマンドボタン(2)でF社員のtxtBoxにT社員の最大数を振ることは可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • samz_
  • ベストアンサー率91% (11/12)
回答No.2

コマンドボタン(1)のクリック時イベントに、 Me.txt会社コード = 新規レコード挿入("T会社", "会社コード") を、 コマンドボタン(2)のクリック時イベントに、 Me.txt社員コード = 新規レコード挿入("T社員", "社員コード") を、それぞれ記述します プロシージャは、 Public Function 新規レコード挿入(pTable As String, pKey As String) As Long Dim l_strSQL As String Dim lngMAX As Integer lngMAX = CLng(Nz(DMax(pKey, pTable), 0)) + 1 l_strSQL = l_strSQL & "INSERT INTO " & pTable & "(" & pKey & ")" & vbCrLf l_strSQL = l_strSQL & "VALUES ('" l_strSQL = l_strSQL & Format(lngMAX, "000") l_strSQL = l_strSQL & "')" & vbCrLf CurrentDb.Execute l_strSQL 新規レコード挿入 = lngMAX End Function にするとか

KOUSUKE0409
質問者

お礼

返答ありがとうございます。 バッチリ!理想どうりに起動しました! また機会がありましたら、お力添え宜しくお願いいたします。

その他の回答 (1)

  • samz_
  • ベストアンサー率91% (11/12)
回答No.1

コマンドボタン(1)のクリック時イベントに、 Call 新規レコード挿入("T会社", "会社コード") を、 コマンドボタン(2)のクリック時イベントに、 Call 新規レコード挿入("T社員", "社員コード") を、それぞれ記述します プロシージャは、 Public Sub 新規レコード挿入(pTable As String, pKey As String) Dim l_strSQL As String l_strSQL = l_strSQL & "INSERT INTO " & pTable & "(" & pKey & ")" & vbCrLf l_strSQL = l_strSQL & "VALUES ('" l_strSQL = l_strSQL & Format(CLng(Nz(DMax(pKey, pTable), 0)) + 1, "000") l_strSQL = l_strSQL & "')" & vbCrLf CurrentDb.Execute l_strSQL End Sub の様にしてどうでしょうか?

KOUSUKE0409
質問者

お礼

早急な回答ありがとうございます。 やってみたのですが、どこかに forms!F会社.txt会社コード.Value 的なコードを記述しなければtxtBoxに挿入されないと思い、 色々試したのですが・・・ ホント素人でお手数掛けますm(_ _)m F会社のtxt会社コードに値を渡す記述を 教えてください。

関連するQ&A