Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA在access中执行SQL insert语句时出现问题_Sql_Ms Access_Vba_Insert_Insert Into - Fatal编程技术网

使用VBA在access中执行SQL insert语句时出现问题

使用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

我正在尝试此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 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:用两个撇号替换任何一个撇号。类似这样的东西
姓氏=替换(姓氏,“,”)
我想。