使用VBA在access中执行SQL insert语句时出现问题
我正在尝试此SQL语句,但不断出现错误使用VBA在access中执行SQL insert语句时出现问题,sql,ms-access,vba,insert,insert-into,Sql,Ms Access,Vba,Insert,Insert Into,我正在尝试此SQL语句,但不断出现错误 Run-time error '3061': Too few parameters. Expected 4. 我试图执行的语句是: sSQL = "INSERT INTO MasterTable (AdmissionNumber, Surname, Forename, TutorGroup) VALUES (intAdmissionNo, strSurName, strForeName, strTutorGroup)" CurrentDb.Execute
Run-time error '3061':
Too few parameters. Expected 4.
我试图执行的语句是:
sSQL = "INSERT INTO MasterTable (AdmissionNumber, Surname, Forename, TutorGroup) VALUES (intAdmissionNo, strSurName, strForeName, strTutorGroup)"
CurrentDb.Execute sSQL, dbFailOnError
admissionno、strSurName、strForeName和strutorgroup中的4个值都有值,并且字段都存在
非常感谢您的帮助,谢谢!:) 我没有在VBA中这样做,但除非我弄错了,否则您没有按照您认为的那样发送变量。请尝试此行而不是当前行:
sSQL = "INSERT INTO MasterTable (AdmissionNumber, Surname, Forename, TutorGroup) VALUES (" & intAdmissionNo & ", " & strSurName & ", " & strForeName & ", " & strTutorGroup & ")"
您在哪里提供了要插入的实际值???它们之前已声明,它们也显示在“监视”窗口中。(但入院号将是一个变化的数字,forname/姓氏是forname/姓氏,tutorgroup也会变化)。一个例子可能是:…值(5040,Smith,John,10R)啊,谢谢,但现在给我一个运行时错误3075。查询表达式“10R”中出现语法错误(缺少运算符)。(10R是TutorGroup对它的评估)TutorGroup是字母,不是数字,加引号“,”&“strutorGroup&“)”啊,谢谢:)我在所有字符串周围加了引号,效果很好。虽然现在我似乎每次有人的名字有撇号时都会出错。你知道如何在不删除撇号的情况下绕过这个问题吗?@Tim:用两个撇号替换任何一个撇号。类似这样的东西
姓氏=替换(姓氏,“,”)
我想。