1

これは、Visual Basic レポートのスクリーンショットです。ご覧のとおり、8月、12月、2月に始まりますが、これはアクセスですでにグループ化されています。 ここに画像の説明を入力

これは、私が正しいことをしたかどうかわからないアクセス内のクエリですが、私はすでに最も早い順に並べられています。

ここに画像の説明を入力

msアクセスからのSQLコードは次のとおりです

SELECT MonthName(Month([Date_sold])) & ' ' & Year([Date_sold]) AS Month_Sold, Sum(tblSell.Total_Price) AS Total_Earnings, Sum(tblSell.Quantity_Bought) AS Total_Medicine_Sold, tblSell.Generic_name, tblSell.Brand_Name
FROM tblSell
GROUP BY MonthName(Month([Date_sold])) & ' ' & Year([Date_sold]), tblSell.Generic_name, tblSell.Brand_Name, Year([Date_sold]), Month([Date_sold])
ORDER BY Year([Date_sold]), Month([Date_sold]);

要するに、Visual Basic に関する私のレポートでは、ms アクセスの場合と同じように 2 月を最初に表示する必要がありますが、8 月を示しているのとは異なります。

4

2 に答える 2

4

Order by は、プロパティ シートの [データ] タブにあるレポートの [Order By] プロパティによって上書きされると思います。そこに設定するか、空であることを確認してください。次に、レポートのプロパティを次のように設定します。

Me.OrderBy = "[SomeField], [AnotherField]"
Me.OrderByOn = True

編集: すべての Microsoft 製品では、開発者は VBA (Visual Basic for Applications) と呼ばれる言語を使用して開発環境にアクセスできます。この言語を使用してプログラムやマクロを作成し、製品を強化できます。少し古いですが、まだ関連している可能性があります: http://visualbasic.about.com/od/learnvba/l/aa030803b.htm

私が提案したコードをレポートの OnLoad イベントに追加する必要があります。これをする:

  1. アクセスを開きます。
  2. レポートをデザイン ビューで開きます。
  3. 左側に、 [プロパティ シート]というタブが表示されます。
  4. イベントタブを選択
  5. OnLoadイベントで、[ ... ] (省略記号) ボタンをクリックします。
  6. これにより、VBA コードが表示されます。
  7. これを追加:
Private Sub Report_Load()
    Me.OrderBy = "[SomeField], [AnotherField]"
    Me.OrderByOn = True
End Sub

それを試して、それが機能するかどうかを確認してください。

于 2013-03-05T14:03:32.883 に答える