双击列表框以打开表单到特定记录

时间:2013-09-21 21:55:34

标签: ms-access access-vba

我有一个列表框,显示我的整个Access数据库记录,并在其他列中显示简要说明。第一列(0)具有记录标识符(PART NUMBER),它是表中的主键。我试图让双击事件打开“SETUP SHEET DATA ENTRY”表单到列表框中的特定行。部件号分类为文本而非数字。我不知道问题是什么,任何建议都会有所帮助。

列表框名称= Listallpart

表名中的主键= PART NUMBER

表名=设置表历史记录

表单名称=设置表数据条目

Private Sub Listallpart_DblClick(Cancel As Integer)
    DoCmd.OpenForm "SETUP SHEET DATA ENTRY", , , "[PART NUMBER] = " & Me.Listallpart.Column(0).Value
End Sub

我有另一个非常相似的问题......

Private Sub Listallpart_DblClick(Cancel As Integer)
Dim strpn As String
Dim strco As String

strpn = Me.Listallpart.Column(0)
strco = Me.Listallpart.Column(1)

DoCmd.OpenForm "SETUP SHEET DATA ENTRY", , , ("[PART NUMBER] = '" & Me.Listallpart.Column(0) & "'" And "[CURRENTOPERATION] ='" & Me.Listallpart.Column(1) & "'")

End Sub

上面的代码是代码的另一个mod。每条记录都有这两个必需的唯一字段。我得到一个“运行时错误”13“不匹配类型”。我在开头添加了两个变量,以确保值正确。我插入了断点并确认了值。数据是数字。

2 个答案:

答案 0 :(得分:3)

由于[PART NUMBER]是文本字段,请在OpenForm语句中的列表框值周围添加引号。

DoCmd.OpenForm "SETUP SHEET DATA ENTRY", , , "[PART NUMBER] = '" & Me.Listallpart.Column(0).Value & "'"

答案 1 :(得分:0)

你的第二个问题与你的第一个问题相反;看作[CURRENTOPERATION]是数字,您不需要在OpenForm

中添加引号
DoCmd.OpenForm "SETUP SHEET DATA ENTRY", , , ("[PART NUMBER] = '" & Me.Listallpart.Column(0) & "'" And "[CURRENTOPERATION] =" & Me.Listallpart.Column(1))