2017-07-03 13 views
0

私は基本的な質問があります。私は2列のList2を持つアクセスデータベースを持っています。私はバーコード番号をスキャンするinputboxを持っていて、このバーコードを列で見つけたら、同じ行の2列目(名前ヘッダーCisl)の値を表示すると、このバーコード番号を列1(名前ヘッダー-Zak)バーコード。私はコードの一部を持っており、どのように継続しているのか知らない。ここでは、ヘルプアクセスデータベースのvb.net検索

Private Sub PictureBox12_Click(sender As Object, e As EventArgs) Handles PictureBox12.Click 
    Dim barcode As String = Nothing 
    Dim foundRows() As Data.DataRow 

    barcode = InputBox("Naskenujte čárový kód ||||||||||||||||||||||||||||||||||||") 
    If Len(Trim(barcode)) = 0 Then Exit Sub 'Pressed cancel 

    'Vytvoreni dotazu 

    foundRows = SdfDataSet.Tables("List2").Select("[Zak] = '" & barcode & "'") 


    If foundRows IsNot Nothing Then 
     MsgBox("Nenalezeno") 
    Else 
     MsgBox("Zákaznické číslo: " & barcode & foundRows(0)("Cisl")) 
    End If 

End Sub 

いただきありがとうございます、私はあなたの質問を理解している場合、このような画像データベースhttps://s4.postimg.org/8qulca9e5/source.png

+1

基本的には、WHERE句を使ってデータベースに問い合わせる方法を尋ねています。これは基本的なデータアクセスであり、多数の場所で読むことができます。 – jmcilhinney

答えて

0

ものです:

'Get the Row with the barcode. 
Dim foundRows() As Data.DataRow 
foundRows = DataSet1.Tables("List1").Select("[Zak] = '" & barcode & "'") 

If foundRow IsNot Nothing Then 
    'If not Found do something here or not.  
Else 
    'If found output the first found rows Column2 
    MsgBox("Zákaznické číslo: " & barcode & foundRow(0)("Column2")) 
End If 

:列名で列2を交換します。

+0

この方法の問題点は、db内のテーブルからすべての行をデータセットに既にプルする必要があることです。非常に非効率的です。 jmcilhinneyのコメントによると、WHERE句のバーコードを使用してdbを照会する必要があります。 – peterG

+0

こんにちは、ごめんなさい、何も起こらない。私はトップ・ルックでソース・コードを更新します。 – Filip

+0

バーコードを入力ボックスにスキャンし、この値に基づいて、リスト2の最初の列でこの値を検索します。私が値を見つけたら、最初の列の値と同じ行の2番目の列の値を表示したい。 – Filip

関連する問題