Update语句中的SQL语法错误-组合多个字段
好吧,我这辈子都搞不懂。我只是从来没有组合过多个字段,就语法而言,这让我很反感。我知道我应该单引号引|的,但是我是否单引号引字符串字段?我在这搞什么鬼Update语句中的SQL语法错误-组合多个字段,sql,vba,ms-access,Sql,Vba,Ms Access,好吧,我这辈子都搞不懂。我只是从来没有组合过多个字段,就语法而言,这让我很反感。我知道我应该单引号引|的,但是我是否单引号引字符串字段?我在这搞什么鬼 CurrentDb.Execute "UPDATE tblFinal SET (tblFinal.[Short Item Description] = & tblFinal.[2 Digit Year] & '|' & tblFinal.[License Type] & '|' & trim(tblF
CurrentDb.Execute "UPDATE tblFinal SET (tblFinal.[Short Item Description] =
& tblFinal.[2 Digit Year] & '|' & tblFinal.[License Type] & '|'
& trim(tblFinal.[License Number]) & '|' " & _
"tblFinal.[State] & '|' & tblFinal.[City of Store])"
我得到的错误只是“Update语句中的语法错误”
CurrentDb.Execute "UPDATE tblFinal SET (tblFinal.[Short Item Description] =
& tblFinal.[2 Digit Year] & '|' & tblFinal.[License Type] & '|'
& trim(tblFinal.[License Number]) & '|' " & _
"tblFinal.[State] & '|' & tblFinal.[City of Store])"
我对Access了解不多,但我认为您只是在混合中使用了一些错误的双引号:
CurrentDb.Execute "UPDATE tblFinal SET (tblFinal.[Short Item Description] =
& tblFinal.[2 Digit Year] & '|' & tblFinal.[License Type] & '|'
& trim(tblFinal.[License Number]) & '|' " & _
"tblFinal.[State] & '|' & tblFinal.[City of Store])"
CurrentDb.Execute "UPDATE tblFinal SET tblFinal.[Short Item Description] = tblFinal.[2 Digit Year] & '|'& tblFinal.[License Type] & '|'& trim(tblFinal.[License Number]) & '|'& tblFinal.[State] & '|'& tblFinal.[City of Store]"
您只需要在要连接的文本周围加上单引号,所有字段都可以用
&
连接,注意行的连续字符和引号:
CurrentDb.Execute "UPDATE tblFinal SET (tblFinal.[Short Item Description] =
& tblFinal.[2 Digit Year] & '|' & tblFinal.[License Type] & '|'
& trim(tblFinal.[License Number]) & '|' " & _
"tblFinal.[State] & '|' & tblFinal.[City of Store])"
Dim sSQL As String
Dim db As Database
Set db = CurrentDb
sSQL = "UPDATE tblFinal SET (tblFinal.[Short Item Description] = " _
& "tblFinal.[2 Digit Year] & '|' & tblFinal.[License Type] & '|' " _
& "trim(tblFinal.[License Number]) & '|' " _
& "tblFinal.[State] & '|' & tblFinal.[City of Store])"
db.Execute sSQL, dbFailonError
几乎总是最好先创建SQL字符串,这样更容易调试。最好使用CurrentDb实例。管道周围的单引号不应该是双引号吗?您可以使用该连接语句执行select吗?因为CurrentDb.execute需要在整个语句周围使用双引号,我相信所有内部字符串引用都是单引号,语句可以编译,但是在尝试执行那行代码时,它给了我语法错误。为了避免需要连续字符,它能仅仅是一行吗?
CurrentDb.Execute "UPDATE tblFinal SET (tblFinal.[Short Item Description] =
& tblFinal.[2 Digit Year] & '|' & tblFinal.[License Type] & '|'
& trim(tblFinal.[License Number]) & '|' " & _
"tblFinal.[State] & '|' & tblFinal.[City of Store])"