前提・実現したいこと
言葉が足りず、状況が伝わりづらかったら申し訳ございません。
製品登録フォームから、必要事項を選択し、
登録ボタンを押すとテーブルに登録されるように作りました。
1つ目の登録フォームは問題なく動いています。
製品を作るための原反を登録するフォームも必要だったため、
1つ目のフォームと同じような登録フォームを作りました。
原反用のテーブルも作成し、登録するVBAコードも書き換えたのですが、
登録ができない状態です。
発生している問題・エラーメッセージ
登録ボタンを押しても、エラーは起きません。
登録用のコード以降のコードは作動しているみたいです。
該当のソースコード
Private Sub 登録_Click() Dim i As Long Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("T_K_GDate", dbOpenTable) With rs For i = 1 To 3 If Len(Me.Controls("副材料" & CStr(i)).Value & "") > 1 Then .AddNew .Fields("伝票").Value = Me.伝票.Value .Fields("日付").Value = Me.日付.Value .Fields("時間").Value = Me.終了時間.Value .Fields("B_ID").Value = Me.取引区分.Value .Fields("B_Name").Value = Me.取引区分2.Value .Fields("M_ID").Value = Me.機械.Value .Fields("M_Name").Value = Me.機械2.Value .Fields("K_Kakou_ID").Value = Me.原反ID.Value .Fields("K_Kakou_Item").Value = Me.原反名.Value .Fields("C_ID").Value = Me.カテゴリ.Value .Fields("C_Name").Value = Me.カテゴリ2.Value .Fields("K_Fuku_ID").Value = Me.Controls("副材料" & CStr(i)).Value .Fields("K_Fuku_Item").Value = Me.Controls("副材料1_" & CStr(i)).Value .Fields("数量").Value = Me.Controls("副材料1_1_" & CStr(i)).Value .Fields("入庫").Value = Me.入庫.Value .Update End If Next End With MsgBox "登録処理しました。" Call ClearControls DoCmd.Close acForm, "F_K_Kakou", acSaveNo DoCmd.OpenForm "F_K_Kakou", acNormal, "", "", , acNormal End Sub
試したこと
テーブルを参照できていないのかと思い、
.Fields("伝票").Value = Me.伝票.Value
→ .Fields("伝").Value = Me.伝票.Value
に変えてもエラーは起きませんでした。
伝票番号を自動的に新しいものを取得するように、
登録するテーブルを参照していますが、そちらは正常に作動しております。
Private Sub Form_Load() Me!伝票 = DMax("伝票", "T_K_GDate") + 1 End Sub
補足情報(FW/ツールのバージョンなど)
環境
Windows10
Access2016
回答4件
あなたの回答
tips
プレビュー