Sql 访问VBA代码以插入到两个不同的表中
我有一个用户表单,可以插入到“用户”表和“组织者”表中 当我点击一个按钮时,用户数据被毫无问题地插入,但组织者表数据没有问题。它给我一个错误,说“由于类型转换失败,ms access set 1 Field为null” 注意:用户id是用户表中的主键,是组织者表中的外键。 其数据类型为长整数 我将非常感谢任何帮助Sql 访问VBA代码以插入到两个不同的表中,sql,ms-access,vba,Sql,Ms Access,Vba,我有一个用户表单,可以插入到“用户”表和“组织者”表中 当我点击一个按钮时,用户数据被毫无问题地插入,但组织者表数据没有问题。它给我一个错误,说“由于类型转换失败,ms access set 1 Field为null” 注意:用户id是用户表中的主键,是组织者表中的外键。 其数据类型为长整数 我将非常感谢任何帮助 Private Sub InsertSqlIntoOrgTable() Dim orgUserId As Long, sqlOrgInsertUsrId As String
Private Sub InsertSqlIntoOrgTable()
Dim orgUserId As Long, sqlOrgInsertUsrId As String
orgUserId = getLastUserId()
sqlOrgInsertUsrId = "INSERT INTO ORGANIZER (USER_ID) VALUES ('&orgUserId&')"
DoCmd.RunSQL sqlOrgInsertUsrId
End Sub
此函数获取插入到上述代码中以将其插入到organizer表中的最后一个用户\u id
Private Function getLastUserId() As Long
Dim lastUserId As Long
getLastUserId = DMax("USER_ID", "USER")
getLastUserId = lastUserId
End Function
编辑:
我的类型转换失败错误已通过将sql语句修改为
sqlOrgInsertUsrId = "INSERT INTO ORGANIZER (USER_ID) VALUES (" & orgUserId & ")"
现在,我想将取自同一用户的“organization_name”添加到“Organizator”表中。
在上面的同一个子部分中,我添加了一些东西来完成这项工作,但它提示我在一个小对话框中再次插入值(组织名称),然后给我另一个错误,说“ms access由于违反验证规则而将一行设置为空”
注意:我没有在任何地方为“组织名称”设置任何验证规则
有什么帮助吗?您的getLastUserID函数错误。尝试:
Private Function getLastUserId() As Long
Dim lastUserId As Long
lastUserId = DMax("USER_ID", "USER")
getLastUserId = lastUserId
End Function
如果这还不能解决问题,那么在分配SQL后向我们显示sqlOrgInsertUsrId的内容您的连接是错误的。一定是
sqlOrgInsertUsrId = "INSERT INTO ORGANIZER (USER_ID) VALUES (" & orgUserId & ")"
这就解决了
类型转换失败的问题,之后应用了cboden的更正。我将用于将用户id插入到organizer中的sql命令更改为:sqlOrgInsertUsrId=“INSERT into organizer(user_id)值(&ORGIUSERID&)”,它起作用:)这是一个新问题。请在这里接受答案并创建一个新问题,否则事情会变得相当混乱。
sqlOrgInsertUsrId = "INSERT INTO ORGANIZER (USER_ID) VALUES (" & orgUserId & ")"