1

8 つのフィールドと複数のレコードを含む csv ファイルがあります。テキスト ボックスに検索語を入力して ID フィールド (最初のフィールド) を検索し、一致するレコードを見つけて、VB フォームの複数行のテキスト ボックスに完全なレコードを表示したいと考えています。また、日付で検索して、2009 などの特定の年で終わるすべての日付を検索し、一致するすべての完全なレコードを返したいと思います。以下のコードでこれまでのところ、ファイル内のすべてのデータを返すことができますが、検索を実行できませんでした。コメントアウトされた IF ステートメントを試しましたが、機能しませんでした。サンプル CSV は、以下のコードに従います。どんな助けでも素晴らしいでしょう。ありがとう。

Imports System.IO

Public Class Form1

Private Sub btnSearchName_Click(sender As System.Object,...

    Dim fileIn As String
    Dim fileRows(), fileFields() As String

    fileIn = "C:\SuppliersSearch_Test\suppliers.csv"

    Label1.Text = String.Empty

    If IO.File.Exists(fileIn) Then
        Dim fileStream As StreamReader = File.OpenText(fileIn)
        fileRows = fileStream.ReadToEnd().Split(Environment.NewLine)
        For i As Integer = 0 To fileRows.Length - 1
            fileFields = fileRows(i).Split(",")
            If fileFields.Length >= 8 Then

                ' ?? loop to see if field0 contains the inputted surname, return the record
                'then check the next record until ALL records checked and matching ones returned

        ‘ if fileFields(0) = txtSearch.text then

                txtResults.Text += fileFields(0) & ", " & fileFields(1) & ", " & fileFields(3) & ", " & fileFields(4) & ", " & fileFields(5) & ", " & fileFields(6) & ", " & fileFields(7)


            End If
        Next
    Else
        txtResults.Text = fileIn & " not found."
    End If
End Sub


End Class

CSV データのサンプル。わかりやすくするために、各レコードは「.com」で終わります。

Supp1,1 ブルー,1 ソックス,01/01/2008,1 SocksSupplier,1 Socks supp アドレス,1 Socks phone,1 Socks@socks.com Supp2,2 ピンク,2 Shoes,01/05/2009,2 ShoesSupplier,2シューズサップアドレス,2 シューズサップ電話番号,2 Shoes@shoes.com Supp3,3 赤,3 バッグ,04/03/2009,3 BagSupplier,3 バッグサプライヤーアドレス,3 バッグサップ電話番号,3 bags@bags.com Supp4, 4 Gren,4 Tie,05/03/2007,4 TieSupplier,4 Tie Supplier address,4 Tie supp phone,4 tie_supp@ties.com Supp5,5 Grey,5 スーツ,13/05/2009,5 SuitSupplier,5 スーツサプライヤの住所,5 スーツの電話番号,5 suitupp@suits.com Supp6,6 ブラック,6 スカート,14/05/2008,6 スカートのサプライヤ,6 スカートのサプライヤの住所,6 スカートの電話番号,6 skirtsupp@skirts.com

4

0 に答える 0