Office中国论坛/Access中国论坛

标题: 查询条件引起的问题 附代码 [打印本页]

作者: beaccesssuper    时间: 2008-5-30 09:26
标题: 查询条件引起的问题 附代码
Private Sub cmdReport_Click()
Dim X As Form
Dim sql_RS As String
DoCmd.Hourglass True
Application.Echo False
DoCmd.SetWarnings False
Me.Requery
If Not IsNull(Val(Me!testbatchNo)) Then
Set X = Forms![frmH-alpha_Test_Data].Form
DoCmd.OpenForm "frmH-alpha_Test_Data", , , , acFormEdit
'''''''''''''''''''''''''''''''''在程序执行到下面的sql语句时就出现you canceled the previous operation的错误,发现是where条件设置的问题
''''''''''''''''''''''''''''''''''其中testbatchNo 为TempImport表的栏位Val(Me!cboSample.Column(2))为窗体的值,执行是有值的

X.RecordSource = "SELECT TempImport.[lamp-No], TempImport.testbatchNo, tblHalphatstedescription.serialNo " _
            & " FROM tblHalphatstedescription INNER JOIN TempImport ON tblHalphatstedescription.serialNo = TempImport.testbatchNo" _
           & " where testbatchNo = '" & Val(Me!cboSample.Column(2)) "' ORDER BY TempImport.[lamp-No], TempImport.testbatchNo, TempImport.Meas_pos;"

else
MsgBox "Please select items you want to print out !", vbOKOnly, "Select prompt!"
End If
Exit_cmdReport_Click:
    DoCmd.Hourglass False
    Application.Echo True
    DoCmd.SetWarnings True
    Exit Sub
End Sub
作者: zhengjialon    时间: 2008-5-30 10:15
testbatchNo是什么类型的值? 是文本型号就加单引号,否则不用加的.
作者: zhuyiwen    时间: 2008-5-30 10:42
原帖由 beaccesssuper 于 2008-5-30 09:26 发表
Private Sub cmdReport_Click()
Dim X As Form
Dim sql_RS As String
DoCmd.Hourglass True
Application.Echo False
DoCmd.SetWarnings False
Me.Requery
If Not IsNull(Val(Me!testbatchNo)) Then
Set X  ...


Private Sub cmdReport_Click()
Dim X As Form
Dim sql_RS As String
DoCmd.Hourglass True
Application.Echo False
DoCmd.SetWarnings False
Me.Requery
If Not IsNull(Val(Me!testbatchNo)) Then
Set X = Forms![frmH-alpha_Test_Data].Form
DoCmd.OpenForm "frmH-alpha_Test_Data", , , , acFormEdit

Dim SomeValue
SomeValue = Val(Me!cboSample.Column(2))

X.RecordSource = "SELECT TempImport.[lamp-No], TempImport.testbatchNo, tblHalphatstedescription.serialNo " _
            & " FROM tblHalphatstedescription INNER JOIN TempImport ON tblHalphatstedescription.serialNo = TempImport.testbatchNo" _
           & " where testbatchNo = '" & SomeValue & "' ORDER BY TempImport.[lamp-No], TempImport.testbatchNo, TempImport.Meas_pos;"

else
MsgBox "Please select items you want to print out !", vbOKOnly, "Select prompt!"
End If
Exit_cmdReport_Click:
    DoCmd.Hourglass False
    Application.Echo True
    DoCmd.SetWarnings True
    Exit Sub
End Sub




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3