- ベストアンサー
複数のテーブルに対応したプロシージャの作成可能性とは?
- 複数のテーブルに対応したプロシージャを作成することは可能ですか?
- テーブルにはT会社とT社員の2つがあります。フォームにはFメインメニュー、F会社、F社員の3つがあります。
- Fメインメニューのコマンドボタン(1)でF会社のtxtBoxに主キーの番号を振り、コマンドボタン(2)でF社員のtxtBoxにT社員の最大数を振ることは可能でしょうか?
- みんなの回答 (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 にするとか
その他の回答 (1)
- samz_
- ベストアンサー率91% (11/12)
コマンドボタン(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 の様にしてどうでしょうか?
お礼
早急な回答ありがとうございます。 やってみたのですが、どこかに forms!F会社.txt会社コード.Value 的なコードを記述しなければtxtBoxに挿入されないと思い、 色々試したのですが・・・ ホント素人でお手数掛けますm(_ _)m F会社のtxt会社コードに値を渡す記述を 教えてください。
お礼
返答ありがとうございます。 バッチリ!理想どうりに起動しました! また機会がありましたら、お力添え宜しくお願いいたします。