wazawaza
wazawaza
2022/06/18 (土) 14:36:59
hirotonさん、ありがとうございます。
再度挑戦しました。
すると「パラメーターが少なすぎます。9を指定してください。」です。
Private Sub btn追加_Click()
Dim rs As DAO.Recordset, fld As DAO.Field
Dim strSQL As String
strSQL = "SELECT 依頼ID AS txt依頼ID, 依頼日 AS txt依頼日, 依頼者 AS cmb依頼者, 作業長承認 AS cmb作業長承認, W_No AS txtW_No, W_Noロット AS txtW_Noロット, 品名 AS txt品名, 希望処置 AS cmb希望処置, 補足説明 AS txt補足説明 FROM T_依頼;"
Set rs = CurrentDb.OpenRecordset(strSQL)
rs.AddNew
For Each fld In rs.Fields
fld.Value = Me(fld.Name).Value
Next
rs.Update
strSQL = "SELECT 詳細ID As txt詳細ID, ロット番号 AS txtロット番号, ロット枝 AS cmbロット枝, 依頼理由_1 AS cmb1依頼理由, 依頼理由_2 AS cmb2依頼理由, 依頼理由_3 AS cmb3依頼理由, 巻き長さ AS txt巻き長さ, 詳細補足説明 AS txt詳細補足説明, T_依頼詳細"
Set rs = CurrentDb.OpenRecordset(strSQL) '←ここでエラー
Dim i As Long
For i = 1 To 10
If Not IsNull(Me("cmb1依頼理由" & i).Value) Then
rs.AddNew
For Each fld In rs.Fields
If Not ",依頼ID,最終更新日," Like "*," & fld.Name & ",*" Then
fld.Value = Me(fld.Name & i).Value
End If
Next
'//レコード共通項目や計算結果を入れるものは個別に処理
rs!依頼ID.Value = Me!txt依頼ID.Value
rs!最終更新日.Value = Now
rs.Update
End If
Next i
rs.Close
MsgBox "追加しました", vbInformation, "完了"
End Sub
hatenaさん、ありがとうございます。
実行時エラー’3022’は、同じ主キーで一生懸命、登録を試みてました😅
スミマセン😅😅
で、再度挑戦しました。
すると「バリアント型ではない変数にNull値を代入しようとしました」です。
Private Sub btn追加_Click()
If IsNull(Me.依頼者.Value) Or IsNull(Me.希望処置.Value) _
Or IsNull(Me.W_No.Value) Then
MsgBox "必要項目が入力されていません", vbInformation, "確認"
Exit Sub
End If
Dim rs As DAO.Recordset, fld As DAO.Field
Set rs = CurrentDb.OpenRecordset("T_依頼")
rs.AddNew
rs("依頼ID").Value = Me.依頼ID.Value
rs("依頼日").Value = Me.依頼日.Value
rs("依頼者").Value = Me.依頼者.Value
rs("W_No").Value = Me.W_No.Value 'コンボボックスの連結列をフィールドのデータと合うものにしておく
rs("W_Noロット").Value = Me.W_Noロット.Value
rs("品名").Value = Me.品名.Value
rs("希望処置").Value = Me.希望処置.Value
rs("補足説明").Value = Me.補足説明.Value
rs.Update
rs.Close
Set rs = CurrentDb.OpenRecordset("T_依頼詳細")
Dim i As Long
For i = 1 To 10
If Not IsNull(Me("依頼理由_1" & i).Value) Then
rs.AddNew
For Each fld In rs.Fields
fld.Value = Me("詳細ID" & i).Value '←ここでエラー
fld.Value = Me("ロット番号" & i).Value
fld.Value = Me("ロット枝" & i).Value
fld.Value = Me("依頼理由_1" & i).Column(1)
fld.Value = Me("依頼理由_2" & i).Column(1)
fld.Value = Me("依頼理由_3" & i).Column(1)
fld.Value = Me("巻き長さ" & i).Value
fld.Value = Me("詳細補足説明" & i).Value
fld.Value = Now
Next
rs.Update
End If
Next i
rs.Close
MsgBox "追加しました", vbInformation, "完了"
End Sub
親テーブル「T_依頼」
進捗状況 | 依頼ID | 依頼日 | 依頼者 | 作業長承認 | 加工承認 | 仕上承認 | 生管承認 | W_No | W_Noロット | 品名 | 希望処置 | 補足説明 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Yes/No型 | 短いテキスト | 日付/時刻型 | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 長いテキスト |
子テーブル「T_依頼詳細」
詳細ID | 依頼ID | ロット番号 | ロット枝 | 依頼理由_1 | 依頼理由_2 | 依頼理由_3 | 巻き長さ | 詳細補足説明 | 検品作業者 | 検品フィードバック | PEコメント | 最終更新日 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
オートナンバー型 | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 短いテキスト | 数値型 | 長いテキスト | 短いテキスト | 長いテキスト | 長いテキスト | 日付/時刻型 |
通報 ...