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) 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 に答える