2017-10-02 4 views
2

範囲内で動作するアプリケーションにエクスポート(Excelへのアクセス)関数を記述しました。SQLすべてのデータを選択していない間

ユーザは、A-F、G-M、N-RおよびS-Zの4 RadioButtonsです。

グリッドにすべての顧客をロードする、のは、ユーザがrbtnAFを選択したとしましょうCustomer_Codeフィールドは、A、B、C、D、EまたはFで始まる

データをロードするためのコード以下のとおりである。

Dim strFields As String = "[Customer_Addresses].[Cust_Code], [Customers].[Customer_Name], [Customer_Addresses].[Contact_Code], [Customer_Addresses].[Contact_Name], " & _ 
     "[Customer_Addresses].[Contact_Type], [Customer_Addresses].[Add1], [Customer_Addresses].[Add2], [Customer_Addresses].[Add3], [Customer_Addresses].[Add4], " & _ 
     "[Customer_Addresses].[Add5], [Customer_Addresses].[Postcode], [Customer_Addresses].[Country], [Customer_Addresses].[Telephone], [Customer_Addresses].[Fax], " & _ 
     "[Customer_Addresses].[Email], [Customer_Addresses].[Mobile_Phone], [Customers].[Customer_Category], [Customers].[Average_Payment_Terms], " & _ 
     "[Customers].[Notes], [Customers].[salesRep], [Customers].[hoEmail], [Customers].[webpage] FROM Customers " & _ 
     "INNER JOIN Customer_Addresses ON [Customers].[Customer_Code] =[Customer_Addresses].[Cust_Code]" 

    If rbtnAF.Checked = True Then 
     sql = "SELECT " & strFields & " WHERE [Customer_Addresses].[Cust_Code] BETWEEN " & _ 
     "'A*' AND 'F*' ORDER BY [Customer_Addresses].[Cust_Code]" 

     Dim da As New OleDbDataAdapter(sql, con) 

     Dim ds As New DataSet 
     Dim dt As New System.Data.DataTable 

     da.Fill(ds) 
     dt = ds.Tables(0).Copy() 

     ugExport.DataSource = Nothing 
     ugExport.DataSource = dt 

これだった、私は私がグリッドに正しい範囲をロードし、私が望んでいたとして、それらをエクスポートすることができた、細かい作業、と思いました。 しかし、ユーザーは私に戻って来て、すべての顧客を読み込んでいないと言いました。

私はこれがちょっと変わったと思ったので、データベースをロードして自分でテストしました。 DBには、この画像でわかるように、A-Fの範囲に収まる4人の顧客がいます。私はその後、エクスポートリストに顧客の範囲A-Fを表示したときに

enter image description here

しかし、唯一の2顧客が表示さがあります。

enter image description here

これは、顧客一覧画面でTextBoxは、ユーザが顧客コードで検索できるようにすることがあり、また、注目に値します - 私は1つだけFを入力すると予想されるように、すべての4人の顧客が表示されます。

基準に適合する4つのレコードがあるにもかかわらず、地球上では何が起こっているのでしょうか?リテラル文字として*あなたはそれが扱うことがわかります構文の間で確認する

答えて

関連する問題