2016-10-20 12 views
2

私はコンボボックスのオプションを使用して並べ替えたいですか?レポートは完全に表示されますが、ソートは機能しておらず、エラーは発生しません。私はCrystal Reportsのバージョン10.0.0.533とVisual Basic 6を使用していますレポートはコードで並べ替えられません

Dim Report As New CRAXDRT.Report 
Set Report = App1.OpenReport(g_ReportDirectory & "xxxx.rpt") 

If cmbRefresh6.Text <> "" Then 

    Select Case cmbRefresh6.Text 
         Case "TestOne" 
         Report.RecordSortFields.Add Report.Database.Tables(2).Fields.Item(3), crDescendingOrder 
         Case "TestTwo" 
          Report.RecordSortFields.Add Report.Database.Tables(1).Fields.Item(23), crDescendingOrder 
    End Select 
End If 

If (cmbRefresh1.Text <> "") Then 
    Report.RecordSelectionFormula = "{WORK.ID}" = '1' 
End If 

アプリケーションはレポートを開いてデータが順序付けられていないことを示します。

答えて

0

これを実行している私の解決策が見つかりました。レポートにグループを作成し、式フィールドに割り当てました。Report.Areas( "GH3")はグループヘッダー3を参照し、Report.FormulaFields.Item(2)は並べ替えるアイテムを含む数式です。 2番目のオプションを注文して同様の問題が発生した場合に役立つことを願っています。

If cmbRefresh6.Text <> "" Then 

        Select Case cmbRefresh6.Text 
         Case "TestOne" 

           Report.Areas("GH3").GroupConditionField = Report.FormulaFields.Item(3) 
           Report.Areas("GH3").SortDirection = crAscendingOrder 
         Case "TestTwo" 

           Report.Areas("GH3").GroupConditionField = Report.FormulaFields.Item(2) 
           Report.Areas("GH3").SortDirection = crAscendingOrder 
        End Select 
       End If 
関連する問題