2017-02-10 73 views
0

获取运行此代码的错误数据类型转换错误。 数据来自文本框设置为数据类型富文本。运行UPDATE命令的vba错误

CurrentDb.Execute "UPDATE tblISPServices", "SET Location=& Me.cboLocation,ServiceType = & Me.cboSType, BBProvider = & Me.txtBBProvider" & "WHERE ID= & Me.txtID.Tag" 

请帮助

回答

1

记得从VBA代码获取变量或控制值和休息应该是双引号内的字符串。

当产生这样的SQL语句执行记得3条规则

1)字符串数据类型字段应该有一个字符串值单引号,所以我已经为例如位置后,把单引号&前'“& Me.cboLocation &”' 2)Number数据类型不需要单引号,所以删除ID字段的单引号, ID =“& Me.txtID.Tag 3)日期数据类型将有#,而不是为如#单引号” & NOW()&“#

我的假设是,在表tblISPServices场位置是文本数据类型,服务类型为文本数据类型,DBProvider是文本数据类型和ID是数字

观察我是如何进行的更改从VBA获取变量(控制特性)来生成字符串变量

CurrentDb.Execute "UPDATE tblISPServices SET Location= '" & Me.cboLocation & "', ServiceType = '" & Me.cboSType & "', BBProvider = '" & Me.txtBBProvider & "' WHERE ID= " & Me.txtID.Tag 

注意:记得在生成这样的字符串时确保y ou不要加入任何关键字来为例如字符串或数字下列哪项是错误的SQL,因为它没有分开这里

BBProvider = '" & Me.txtBBProvider & "'WHERE ID= " & Me.txtID.Tag 

正确的SQL会,

BBProvider = '" & Me.txtBBProvider & "' WHERE ID= " & Me.txtID.Tag