数据从MS Access VBA中的一个表单传递到另一个表单时出现问题

时间:2015-05-27 06:05:01

标签: access-vba ms-access-2010

任何人都可以解决我的问题

表格: SB_1 (这是客户发票创建表单)

表单: Add_NewRelations (这是添加表单的客户详细信息)

我在表单中使用了VBA代码: SB_1 在cmd(按钮)上,数据从一个表单传递到另一种形式 Add_NewRelations ,需要新客户详细信息更新。

根据Code Tag,VBA工作正常。但是一些现有的客户详细信息无需更新到表单: Add_NewRelations 。所以在这种情况下,我在VBA代码中添加了带有DCount的IF语句。

当我用DCount添加If语句时,整个VBA都没有工作......我认为DCount是错误的......我怎么能纠正它?

任何人都可以重播如何解决这个问题吗?

Private Sub Button_Click()
On Error GoTo ErrorHandler
'Me.Refresh

Dim strCriteria As String
strCriteria = "CIDCustomer = '" & Trim(Trim(Me!RID) & " " & Trim(Me!RName)) & "'"

 'If DCount("*", "CIDCustomer", "RelationsQry") > 0 Then
 'Cancel = True
 'Else

If DCount("*", "RelationsQry", strCriteria) > 0 Then
Cancel = True
Else

   'If Not IsNull([Customer]) Then
   'Me.Visible = False
   DoCmd.OpenForm "Add_NewRelations", acNormal, , , , acWindowNormal
   Forms![Add_NewRelations].Form.RID = Me.CID2
   Forms![Add_NewRelations].Form.RName = Me.Customer
   Forms![Add_NewRelations].Form.RType.Value = "Customer"
   Forms![Add_NewRelations].Form.Address = Me.Address
   Forms![Add_NewRelations].Form.TINNumber = Me.TINNumber
   Forms![Add_NewRelations].Form.TownVLG = Me.TownVLG
   Forms![Add_NewRelations].Form.RName.SetFocus
   'Forms![Add_NewRelations].Visible = False
   'DoCmd.Close

End If

ErrorHandler:
End Sub

1 个答案:

答案 0 :(得分:0)

要将引号传递给SQL,您需要转义它们,并且您还需要额外的单引号以及条件的元素。

而不是:

strCriteria = "CIDCustomer = '" & Trim(Trim(Me!RID) & " " & Trim(Me!RName)) & "'"

尝试

strCriteria = "" "CIDCustomer = '" & Trim(Trim(Me!RID) & "' & " " & '" Trim(Me!RName)) & "'" ""
相关问题