Sql 如何使用VBA或宏在access中使用窗体更新表?

Sql 如何使用VBA或宏在access中使用窗体更新表?,sql,forms,ms-access,insert,vba,Sql,Forms,Ms Access,Insert,Vba,我正在尽我最大的努力建立我的第一个数据库,但我遇到了一个我无法找到答案的问题。我是一个完全的新手在这个论坛和写作任何类型的代码,所以请温柔 我试图在表格中创建一个新记录,当在表单中的列表框中双击一个学生的名字时 要从中获取第一个StudentID列值的列表框=lstStudent 组合框,从中获取第二个CourseID列值:cboCourseID 要从中获取第三个NoteID列值的文本框=txtCourseNodeId 正在所需表中创建新记录,没有错误代码错误,但没有值被带入字段。正在创建自动编

我正在尽我最大的努力建立我的第一个数据库,但我遇到了一个我无法找到答案的问题。我是一个完全的新手在这个论坛和写作任何类型的代码,所以请温柔

我试图在表格中创建一个新记录,当在表单中的列表框中双击一个学生的名字时

要从中获取第一个StudentID列值的列表框=lstStudent

组合框,从中获取第二个CourseID列值:cboCourseID

要从中获取第三个NoteID列值的文本框=txtCourseNodeId

正在所需表中创建新记录,没有错误代码错误,但没有值被带入字段。正在创建自动编号,但其他列为空。这是我的密码:

  Private Sub lstStudent_DblClick(Cancel As Integer)
     CurrentDb.Execute "INSERT INTO tblAttendance (StudentID, CourseID, NoteID) VALUES ('me.lstStudent','me.cboCourseID','me.txtCourseNoteID')" 
End Sub
字段已填充,因此这不是问题所在。目标字段的格式是正确的,我想不出还有什么其他方法。

更改此设置

      CurrentDb.Execute "INSERT INTO tblAttendance (StudentID, CourseID, NoteID) VALUES ('me.lstStudent','me.cboCourseID','me.txtCourseNoteID')" 
就这样

 CurrentDb.Execute "INSERT INTO tblAttendance (StudentID, CourseID, NoteID) _ 
 VALUES ('" & me.lstStudent & "','" & me.cboCourseID & "','" & me.txtCourseNoteID "');" 
另见

正在所需表中创建新记录,并且没有 错误的代码错误,但没有值被带到 田野。正在创建自动编号,但 其他列为空

使用此INSERT语句,您将为新行中的这3个字段提供文本值

插入到TBlattenance StudentID、CourseID、NoteID中 值'me.lststuent'、'me.cboCourseID'、'me.txtcourseNodeId' 但是,StudentID、CourseID和NoteID是数字字段,因此不接受这些文本值。在这种情况下,db引擎无法插入任何内容。您仍然会在AttendanceID中使用新的自动编号值添加新行,但其他字段为空

如果将DbFailOneError选项包含在.Execute中,Access将通知您有关问题错误3464、条件表达式中的数据类型不匹配以及中止插入-将不会添加新行

CurrentDb.Execute INSERT INTO tblAttendance StudentID、CourseID、NoteID值'me.lststuent'、'me.cboCourseID'、'me.txtCourseNodeId',dbFailOneError 使用与@HarveyFrench建议的方法类似的方法,但从值列表中删除单引号

将暗条纹插入为字符串 strInsert=插入到tblAttendance StudentID、CourseID、NoteID和vbCrLf&_ VALUES&Me.lststuent.Value&、&Me.cboCourseID.Value&、&_ Me.txtCourseNoteID.Value&;
“检查代码试图插入到表中的值。”。在查询设计器中创建一个新查询,切换到SQL视图,粘贴此查询,然后运行它:选择'me.lststuent'作为StudentID,'me.cboCourseID'作为CourseID,'me.txtCourseNodeId'作为noteId非常感谢HansUp,这也正是我所需要的!我也非常感谢你的解释。表单未绑定到数据集的原因是,从多个表中提取数据以填充下拉框,然后我需要将该信息写入另一个单独的表中。我不确定这是否是实现我目标的最直接的方式,但这是我第一次尝试做类似的事情,我在不断学习。再次感谢您的帮助,也感谢@HarveyFrench。我想我刚收到您的邀请加入LinkedIn。问题是它发送到了一个电子邮件地址,而这个地址与我在LinkedIn上的错误个人资料相关联。以下是我正确的LinkedIn个人资料: