38

我在我的 vba excel 代码中使用了这个插入语句,但我无法将它分成多行

SqlQueryString = "Insert into Employee values(" & txtEmployeeNo.Value & " _
,'" & txtContractStartDate.Value & "' _
,'" & txtSeatNo.Value & "' _
,'" & txtFloor.Value & "','" & txtLeaves.Value & "')"

它给出错误“预期语句结束”。请帮忙。

4

4 回答 4

54

您不能在字符串中使用 VB 续行符。

SqlQueryString = "Insert into Employee values(" & txtEmployeeNo.Value & _
"','" & txtContractStartDate.Value &  _
"','" & txtSeatNo.Value & _
"','" & txtFloor.Value & "','" & txtLeaves.Value & "')"
于 2013-05-18T13:07:35.873 回答
13

您可以简单地通过多个步骤创建字符串,这有点多余,但它可以在调试或编辑时保持代码的可读性并保持理智

SqlQueryString = "Insert into Employee values(" 
SqlQueryString = SqlQueryString & txtEmployeeNo.Value & " ,"
SqlQueryString = SqlQueryString & " '" & txtEmployeeNo.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtContractStartDate.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtSeatNo.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtContractStartDate.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtSeatNo.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtFloor.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtLeaves.Value & "' )"
于 2013-05-19T15:41:36.223 回答
5

如果多行的长字符串让您感到困惑。然后您可以安装 mz-tools 插件,它是一个免费软件,并具有为您拆分线路的实用程序。

下载 Mz 工具

如果您的字符串如下所示

SqlQueryString = "Insert into Employee values(" & txtEmployeeNo.Value & "','" & txtContractStartDate.Value & "','" & txtSeatNo.Value & "','" & txtFloor.Value & "','" & txtLeaves.Value & "')"

只需选择字符串 > 右键单击​​ VBA IDE > 选择 MZ-tools > 分割线

在此处输入图像描述

于 2013-05-18T17:06:29.890 回答
-4

我知道这是超级老的,但是如果有人来寻找这个,从 Visual Basic 14 开始,Vb 支持插值。太酷了!

例子:

SQLQueryString = $"
   Insert into Employee values( 
       {txtEmployeeNo}, 
       {txtContractsStartDate},
       {txtSeatNo},
       {txtFloor},
       {txtLeaves}
)"

有用。 文档在这里

编辑:写完之后,我意识到 OP 是在谈论 VBA。 这在 VBA 中不起作用!!! 但是,我将把它留在这里,因为作为 VB 的新手,我偶然发现了这个问题,在 VB.net 中寻找解决这个问题的方法。如果这对其他人有帮助,那就太好了。

于 2019-01-22T23:39:19.497 回答