メイン/サブフォーム形式でサブフォームは帳票フォームかデータシートですよね。
帳票フォームです
インプット用のフォームを呼び出すイベントプロシージャ全体。
Docmd.OpenForm "PF_Input1",,,,,acDialog
インプット用のフォームのコード
Private Sub btnInput_Click()
On Error GoTo ErrHandler
If Nz(Me.cmbP_Name, "") = "" Or Nz(Me.txtQty, "") = "" Then
MsgBox "Fill P_Name and transaction Quantitiy", vbExclamation, "Caution"
Exit Sub
End If
Dim sngQty As Single
Dim strSQL As String
If Nz(Me.opgTzT, "") = "" Then
MsgBox "Choice transaction type", vbExclamation, "Caution"
Exit Sub
ElseIf Me.opgTzT = 21 Or 22 Then
sngQty = Me.txtQty
Else
sngQty = Me.txtQty * -1
End If
' SQLによる、データ入力
strSQL = _
"INSERT INTO T_SeihinTorihiki (T_Time, P_ID, TID, Qty, Memo) " &
"VALUES(" &
"#" & Me.txtTzDate & "#, " &
"'" & Me.cmbPName.Column(0) & "', " &
Me.opgTzT & ", " &
sngQty & ", " &
"'" & Me.txtMemo & "' );"
Dim db As DAO.Database
Set db = CurrentDb
db.Execute strSQL
MsgBox "Already Inputed"
Call initilizeForm
GoTo Finally
ErrHandler:
MsgBox "Error #: " & Err.Number & vbNewLine & vbNewLine & _
Err.Description, vbCritical, "Error"
Finally:
If Not db Is Nothing Then
db.Close
Set db = Nothing
End If
End Sub
以上です。
インプットフォームはほかにこれといったコードがありません。初期化のためのInitialize Formと、閉じるボタンくらいです。