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

このコードをデータレポートを作成するためのレコードセットとして使用しています。

  1. 私の仕事は、さまざまなコンボボックスからオプションを選択し、そのレポートを表示することです。そのため、レコードセットが必要になります。

  2. 私の質問は、このコードがデータレポートを作成するのに十分かどうかということです???

  3. このレコードセットをデータレポートに直接渡すため、(connection --command --sql)などのデータ環境またはデータレポートのプロパティを設定しませんでした。データ環境のプロパティでSQLを起動する必要はありません。

しかし、残念ながら、希望する出力が表示されません。助けてください。

4

2 に答える 2

0

これを試して。文字列にかなりを追加するには、doubleかなりを使用します。また、2番目の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
于 2013-01-19T06:22:47.977 に答える
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

注: データ レポート データソースは、デザイン モード中にクリアする必要があります。(datareport のプロパティを参照し、その datasource プロパティを空に設定してください。) ああ、もう 1 つ、データベースのデータ フィールドに対応する datareport 内の各テキスト ボックス オブジェクトの datafield プロパティも設定する必要があることに注意してください。デザインタイム…

私はこの方法を長い間使用しており、うまく機能しています。

于 2013-01-29T03:15:39.477 に答える