为什么更新 sql 语句无法识别 table 字段引用
Why an update sql statement won't recognize table field references
我正在尝试使用 UPDATE SQL 语句根据另一个字段的值有条件地填充某些 table 字段。出于某种原因,我收到一条错误消息,指出找不到 |1 字段。我已经检查了字段的 table 引用和拼写,但无法弄清楚为什么找不到它们。代码是(导致错误的是 strUpdateProd 行):
Private Sub btnProduct_Click()
Dim dlg As FileDialog
Dim strFileName As String
Dim strUpdateProd As String
Set dlg = Application.FileDialog(msoFileDialogFilePicker)
With dlg
.Title = "Select Audit File to Import"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Text Files", "*.txt", 1
If .Show = -1 Then
strFileName = .SelectedItems(1)
Else
Exit Sub
End If
End With
DoCmd.RunSQL ("DELETE * FROM tblProductImport")
DoCmd.TransferText acImportFixed, "Product Import Spec", "tblProductImport", strFileName
strUpdateProd = "UPDATE [tblProductImport] " _
& "SET [tblProductImport].[Register] = '" & IIf([tblProductImport].[InvestSplit1] = "R", "RRSP", "TFSA") & "' " _
& "WHERE [tblProductImport].[HolderID] IS NOT NULL;"
DoCmd.RunSQL strUpdateProd
DoCmd.SetWarnings True
End Sub
试试这个:
strUpdateProd = "UPDATE [tblProductImport] " _
& "SET [tblProductImport].[Register] = IIf([tblProductImport].[InvestSplit1] = 'R', 'RRSP', 'TFSA') " _
& "WHERE [tblProductImport].[HolderID] IS NOT NULL;"
我正在尝试使用 UPDATE SQL 语句根据另一个字段的值有条件地填充某些 table 字段。出于某种原因,我收到一条错误消息,指出找不到 |1 字段。我已经检查了字段的 table 引用和拼写,但无法弄清楚为什么找不到它们。代码是(导致错误的是 strUpdateProd 行):
Private Sub btnProduct_Click()
Dim dlg As FileDialog
Dim strFileName As String
Dim strUpdateProd As String
Set dlg = Application.FileDialog(msoFileDialogFilePicker)
With dlg
.Title = "Select Audit File to Import"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Text Files", "*.txt", 1
If .Show = -1 Then
strFileName = .SelectedItems(1)
Else
Exit Sub
End If
End With
DoCmd.RunSQL ("DELETE * FROM tblProductImport")
DoCmd.TransferText acImportFixed, "Product Import Spec", "tblProductImport", strFileName
strUpdateProd = "UPDATE [tblProductImport] " _
& "SET [tblProductImport].[Register] = '" & IIf([tblProductImport].[InvestSplit1] = "R", "RRSP", "TFSA") & "' " _
& "WHERE [tblProductImport].[HolderID] IS NOT NULL;"
DoCmd.RunSQL strUpdateProd
DoCmd.SetWarnings True
End Sub
试试这个:
strUpdateProd = "UPDATE [tblProductImport] " _
& "SET [tblProductImport].[Register] = IIf([tblProductImport].[InvestSplit1] = 'R', 'RRSP', 'TFSA') " _
& "WHERE [tblProductImport].[HolderID] IS NOT NULL;"