我遇到了以下代码的问题。代码运行时,值将被放置在“tblPrepayments”上,但AccountID值除外。 me.cboAccountID.column(2)位于“frmInvoices”上,它引入AccountID,但出于可用性原因显示客户端名称。
我没有得到任何错误,但价值并没有进入“tblPrepayments”。我错过了什么?如果您需要进一步说明,请与我们联系。
If [Rec'd_Prepayments] <> "0.00" And [Prepayment_Month] <> "" Or [Prepayment_Year] <> "" Then
Dim RecSet As Recordset
Set RecSet = CurrentDb.OpenRecordset("tblPrePayments")
RecSet.AddNew
RecSet![AccountID] = me.cboAccountID.column(2)
RecSet![Prepayment_Month] = "Billing_Month"
RecSet![Prepayment_Year] = "Billing_Year"
RecSet![Rec'd_Prepayment] = "Prepayment1"
RecSet.Update
End If
End Sub
如果我运行MsgBox me.cboAccountID.column(2)
,则会出现运行时错误'94':无效使用Null 。如果我将代码更改为Msgbox me.cboAccountID.column(1)
,则会获取客户端的名称,而不是ID,以及随后的错误数据类型错误。
以下是 cboAccountID 的行来源。
SELECT tblClientLists.[AccountID], [tblClientLists].Invoice_To
FROM tblClientLists
ORDER BY [Invoice_To];
答案 0 :(得分:1)
组合框值基于0,因此您正在寻找Me.cboAccountID.column(0)或Me.cboAccountID.Value也应该在这里工作。