vba - 缺少 ' - VBA 中的 SQL 语法问题
问题描述
我正在尝试在 VB Access 中运行带有变量的 SQL 语句。我收到语法问题的错误。我想我在声明中缺少 ' 或 ",但我不知道该怎么做。
这是代码。
If (rs.RecordCount <> 0) Then
rs.MoveFirst
Do While rs.EOF = False
TempExportCount = TempExportCount + 1
Checkdatacsv = rs![FileName68]
OriginalFileName = rs![FileName]
'***
'This is the variable - batch number
'***
BatchNO = rs![BatchNumber]
FullPath = DirectoryPath & Checkdatacsv
DoCmd.TransferText acImportDelim, "AP-csv-Import", "tblAP_Payable_2", FullPath, False
Dim SQL2 As String
'***
'This is the statement
'***
SQL2 = "UPDATE tblAP_Payable_2 SET tblAP_Payable_2.BNO = " & BatchNO & "WHERE tblAP_Payable_2.BNO = 0;"
DoCmd.RunSQL SQL2
DoCmd.OpenQuery "qDEL_AP_BLank", acViewNormal, acEdit
导入 csv 文件中的每一行时,表中会填充 BatchNO,因此我会知道每条记录是从哪个文件导入的
解决方案
最有可能的是,BatchNo是文本,因此需要引号,并且 - 如前所述 - 你错过了一个空格:
SQL2 = "UPDATE tblAP_Payable_2 SET tblAP_Payable_2.BNO = '" & BatchNO & "' WHERE tblAP_Payable_2.BNO = 0;"
推荐阅读
- java - 即使在应用程序关闭时也显示意图对话框
- django - 芹菜定期任务多次执行
- mpi - 使用 MPI_Bsend 在多个等级之间进行数据交换
- kotlin - 在 init 块中初始化变量并在 kotlin 中为变量定义一个 setter
- python - 代码不断抛出错误```命令帮助已经是现有命令或别名```为什么会这样,我该如何解决?
- flutter - Flutter:将有状态的小部件组合成一个 Flutter-redux 应用架构
- javascript - 如何重写 HTML 页面以获得完全相同的字段?
- flutter - 如何在模型中拥有对象的 ArrayList
- javascript - 如何在firebase中获取新创建用户的用户ID
- system-verilog - 如何用系统verilog中的所有枚举值制作一个数组?