【发布时间】:2015-12-11 18:31:07
【问题描述】:
感谢迄今为止所有的社区帮助!引用这个网站是一件美好的事情。
我在 Access 中设计了一个前端,但无法让我的 VBA 代码正常工作...非常感谢任何反馈或建议!我对 VB 还是很陌生,很可能缺少此用例的一些基本组件....
基本上我的数据库由 8 个表和连接它们的关系表组成。我想构建允许用户将一个表中的实体“附加”或关联到表单中的其他实体的功能。
选项按钮指向不同的实体表并设置组合框的记录源以选择任何给定的记录。
问题:我的问题是尝试使用用户提供/选择的所有信息(使用组合框)创建新记录
调试器已确定此行存在问题:
Set rs = db.OpenRecordset(BUS_APP_SERVER_REL)
.. 但我的完整代码如下:
Private Sub Check259_Click()
Dim BP4_BizApp As String
BP4_BizApp = "SELECT [BUS_APPL_NAME],[BUS_APPL_ID] FROM [BUSINESS_APPLICATIONS] ORDER BY [BUS_APPL_NAME]"
If Me.Check259 = True Then
Me.Combo257.RowSource = BP4_BizApp
End If
End Sub
Private Sub Check261_Click()
Dim BP4_ITApp As String
BP4_ITApp = "SELECT [IT_APPL_NAME],[IT_APPL_ID] FROM [IT_APPLICATIONS] ORDER BY [IT_APPL_NAME]"
If Me.Check261 = -1 Then
Me.Combo257.RowSource = BP4_ITApp
End If
End Sub
Private Sub Check263_Click()
Dim BP4_Tool As String
BP4_Tool = "SELECT [TOOL_NAME],[TOOL_ID] FROM [TOOLS] ORDER BY [TOOL_NAME]"
If Me.Check263 = -1 Then
Me.Combo257.RowSource = BP4_Tool
End If
End Sub
Private Sub Check_265_Click()
Dim BP4_DB As String
BP4_DB = "SELECT [DB_NAME],[DB_ID] FROM [Databases] ORDER BY [DB_NAME]"
If Me.Check265 = -1 Then
Me.Combo257.RowSource = BP4_DB
End If
End Sub
Private Sub Command221_Click()
Dim db As Database
Dim rs As DAO.Recordset
Dim SVR_ID As Variant
Dim BizApp_ID As Variant
Dim ENV As Variant
Dim COMM As String
BizApp_ID = Me.Combo257.AfterUpdate
SVR_ID = Me!SERVER_ID
ENV = Me.Combo214.AfterUpdate
COMM = Me!Text216
Set dbVideoCollection = CurrentDb
Set rs = db.OpenRecordset(BUS_APP_SERVER_REL)
rs.AddNew
rs(BUS_APPL_ID).Value = BizApp_ID
rs("SERVER_ID").Value = SVR_ID
rs("ENV_TYPE").Value = ENV
rs("COMMENTS").Value = COMM
rs.Update
End Sub
感谢您的宝贵时间! 瑞恩
【问题讨论】:
-
欢迎来到 Stack Overflow,Ryan。
BUS_APP_SERVER_REL是什么?如果那是表的名称或保存的查询,请在其周围加上引号:db.OpenRecordset("BUS_APP_SERVER_REL")如果它是字符串变量的名称,那么它的值是多少?
标签: ms-access checkbox combobox vba