0

クエリを実行する VB.net プログラムがあります。クエリは、一度に数万のレコードをプルします。現在、レポートビューアーにレポートするクエリがあり、データセットを .csv ファイルにエクスポートするフォームに 2 番目のボタンがあります。これはすべて宣伝どおりに機能しますが、すべてのレコードが表示されるわけではありません。データセットに情報を保存せずにクエリを実行すると、1,000 を超える結果が得られます。

プログラムを実行すると、568 の結果しか得られません。プログラム内で「Fill」コマンドを使用すると、この情報が大きすぎると思います。レポートビューアで、または「エクスポート」ボタンが選択されたときに、データセット内のすべてのレコードを表示するように変更するにはどうすればよいですか。

これが私のクエリです:

SELECT        Invoice_Tb.Customer_First_Name AS firstname, Invoice_Tb.Customer_Last_Name AS lastname, Invoice_Tb.Customer_Address AS add1, Invoice_Tb.City, 
                         Invoice_Tb.Customer_State AS State, LEFT(Invoice_Tb.ZIP_Code, 5) AS ZIP, Invoice_Tb.Customer_Email_Address AS [Email Address], 
                         Invoice_Tb.Vehicle_Mileage AS [Vehicle Mileage], Invoice_Tb.Invoice_Date AS [Date Of Service], Invoice_Tb.Store_Number, @startdate AS Start_Date, 
                         @enddate AS End_Date
FROM            Invoice_Detail_Tb INNER JOIN
                         Invoice_Tb ON Invoice_Detail_Tb.Invoice_Number = Invoice_Tb.Invoice_Number AND Invoice_Detail_Tb.Invoice_Date = Invoice_Tb.Invoice_Date
WHERE        (Invoice_Detail_Tb.Store_Category_Code = 'FS') AND (Invoice_Tb.Invoice_Date BETWEEN CONVERT(DATETIME, @startdate, 102) AND CONVERT(Datetime, 
                         @enddate, 102)) AND (Invoice_Tb.Reminder_Mail_Flag = 'Y')

結果をレポート ビューアーにプルするためのボタン コードを次に示します。

Me.Invoice_TbTableAdapter.Fill(Me.DataDeliveryServiceDataSet.Invoice_Tb, startdatepicker.Value, enddatepicker.Value)


        Me.ReportViewer1.RefreshReport()

これがcsvボタンコードへの私の「エクスポート」です:

Dim str As New StringBuilder

        For Each dr As DataRow In Me.DataDeliveryServiceDataSet.Invoice_Tb

            For Each field As Object In dr.ItemArray

                str.Append(field.ToString & ",")

            Next

            str.Replace(",", vbNewLine, str.Length - 1, 1)

        Next



        Try

            My.Computer.FileSystem.WriteAllText("C:\temp\testcsv.csv", str.ToString, False)

        Catch ex As Exception

            MessageBox.Show("Write Error")

        End Try

すべてのレコードを表示する方法を教えてください。

4

0 に答える 0