0

我写了这个函数来选择“全选”选项中的所有值

Private Function Not_Null()
   If CmbGrade.Text = "SELECT ALL" Then
      sql = "SELECT  A.ROLLNO,A.FIRST_NAME,A.MIDDLE_NAME,A.LAST_NAME,A.ADDRESS,A.GRADE,B.DIV,A.BLOOD_GROUP,C.HOUSE,A.DATE_OF_BIRTH,A.TRANSPORT,A.SNAME,A.MEAL,A.RUTNO FROM STUDENT_RECORD_DATABASE A,DIVISION B,HNM C WHERE A.DIVID=B.DIVID AND A.HID=C.HID AND GRADE IS NOT NULL"            
      SET rs = cn.Execute(sql)
   End If
End Function

在命令单击调用此函数后

Private Sub CmdReport_Click()
   Dim STRp As String
   STRp = Not_Null()
   sql = "SELECT A.ROLLNO,A.FIRST_NAME,A.MIDDLE_NAME,A.LAST_NAME,A.ADDRESS,A.GRADE,B.DIV,A.BLOOD_GROUP,C.HOUSE,A.DATE_OF_BIRTH,A.TRANSPORT,A.SNAME,A.MEAL,A.RUTNO FROM STUDENT_RECORD_DATABASE A,DIVISION B,HNM C WHERE A.DIVID=B.DIVID AND A.HID=C.HID"
   Set rs = cn.Execute(sql)
   Set DataReport2.DataSource = rs
   DataReport2.Show
End Sub

当我选择“全选”选项时,它不显示任何记录请帮助......

4

1 回答 1

4

你正在执行并不重要STRp = Not_Null(),因为 (a)Not_Null不返回一个值,并且 (b) 即使你正在执行 a SET rsin Not_Null,那么即使假设你已经rs在你的模块或表单中的某个地方声明了,你'重新覆盖它的值CmdReport_Click

试试这个:

Private Sub CmdReport_Click()
   sql = "SELECT A.ROLLNO,A.FIRST_NAME,A.MIDDLE_NAME,A.LAST_NAME,A.ADDRESS,A.GRADE,B.DIV,A.BLOOD_GROUP,C.HOUSE,A.DATE_OF_BIRTH,A.TRANSPORT,A.SNAME,A.MEAL,A.RUTNO FROM STUDENT_RECORD_DATABASE A,DIVISION B,HNM C WHERE A.DIVID=B.DIVID AND A.HID=C.HID AND GRADE ='" & CmbGrade.Text & "'"
   If CmbGrade.Text = "SELECT ALL" Then
      sql = "SELECT  A.ROLLNO,A.FIRST_NAME,A.MIDDLE_NAME,A.LAST_NAME,A.ADDRESS,A.GRADE,B.DIV,A.BLOOD_GROUP,C.HOUSE,A.DATE_OF_BIRTH,A.TRANSPORT,A.SNAME,A.MEAL,A.RUTNO FROM STUDENT_RECORD_DATABASE A,DIVISION B,HNM C WHERE A.DIVID=B.DIVID AND A.HID=C.HID AND GRADE IS NOT NULL"            
   End If
   Set rs = cn.Execute(sql)
   Set DataReport2.DataSource = rs
   DataReport2.Show
End Sub

此外,很明显,您甚至对您的编程语言 (VB) 都缺乏最基本的了解。我强烈建议您先阅读一本关于该主题的介绍性书籍,或者在进一步学习之前搜索在线介绍性教程。

于 2013-02-06T17:38:58.560 回答