2013-01-19 21 views
0
Private Sub showreport_Click() 
    sql = "select * from student_record_database where" 
    sql=sql+ Grade='" & Combo1.Text & "' AND Meal='" & Combo11.Text & "'" 
    Set RES = CON.Execute(sql) 
    Set DataReport1.DataSource = RES 
    DataReport1.WindowState = vbMaximized 
    DataReport1.Show vbModal 
End Sub 

我使用此代碼作爲記錄集來創建數據報告。如何使用vb6中的記錄集創建datareport?

  1. 我的任務是選擇從不同的組合框的選項,然後顯示它的報告,以便需要有記錄集..

  2. 我的問題是,這個代碼是否足以創建數據報表? ?

  3. 我沒有設置數據環境或數據報告的任何屬性,例如(connection - command - sql),因爲我直接將此記錄集傳遞給數據報表,因此無需在數據屬性中觸發任何sql環境。

但不幸的是,它不顯示所需的輸出 請幫助我。

回答

0

試試這個:

Private sub cmdprint_click() 

Dim rs as new adodb.recordset 

rs.open "SQL Query Statement Here",CON, adOpenDynamic, adLockOptimistic 

set datareport1.datasource=rs 
datareport1.show 

end sub 

注: 數據報告datasouce應該在設計模式被清除。 (請參閱datareport上的屬性並將它的datasource屬性設置爲空。)哦......還有一件事,請記住,您應該爲數據庫中的每個文本框對象設置datafield屬性,這些屬性對應於數據庫中的數據字段設計時間...

我使用這種方法很長一段時間,它工作正常。

0

試試這個。 要添加一個相當的字符串,使用一個雙。 也錯過了你的拼寫第二COMBO1引用作爲Combo11

Private Sub showreport_Click() 
    sql = "select * from student_record_database where " 
    sql = sql & "Grade=""" & Combo1.Text & """ AND Meal=""" & Combo1.Text & """" 
    Set RES = CON.Execute(sql) 
    Set DataReport1.DataSource = RES 
    DataReport1.WindowState = vbMaximized 
    DataReport1.Show vbModal 
End Sub 
+0

不是先生,它是另一個組合顯示學生膳食設施的組合11,組合1顯示學生的標準,我想過濾這兩個領域然後顯示報告............ .................................................. .......問題是,它在我使用數據環境 - 連接 - 命令 - sql等提供數據源時起作用.......................但是當我將記錄集傳遞給數據報告時,它顯示空的數據報告............. –

+0

我想我明白了爲什麼現在。您是否使用數據控件來連接數據庫?您將數據集傳遞給表單而不是數據控件。 – 2013-01-19 10:02:39

+0

先生,我不明白你在說什麼......請清除我的疑惑,我正在使用ADODB和RES是它的記錄集......... –