Zoeken in twee kolommen in een database (Access)

Status
Niet open voor verdere reacties.

Steffen007

Nieuwe gebruiker
Lid geworden
9 mei 2013
Berichten
3
Hallo allemaal,

Ik ben bezig met het schrijven van een programma voor het scannen van medische producten in VB2010. Als het product gescand is word er automatisch een etiket uit geprint met de informatie van het product die in de (Access) database staan.
Het probleem is dat er gebruik wordt gemaakt van twee verschillende barcodes (Barcode & EAN barcode) die in aparte kolommen staan in de database.

Ik heb een form waarin een textbox (Textbox1) als een zoekfunctie wordt gebruikt.
Nu gebruik ik de onderstaande code om alleen de barcode op te zoeken in de database.

Me.TestBindingSource.Filter = "[Barcode] = '" & Me.TextBox1.Text & " ' "

Dit werkt zonder problemen alleen nu wil ik ook de EAN barcode zoeken in dezelfde textbox (Textbox1).
Eigenlijk moet er in twee kolommen gezocht worden naar de verschillende barcodes.

Ik hoop dat het een beetje duidelijk is.
 
Misschien een domme opmerking, maar kan je niet gewoon een OR ertussen zetten

zoiets als:

Me.TestBindingSource.Filter = "[Barcode] = '" & Me.TextBox1.Text & " ' OR [EANBarcode] = '" & Me.TextBox1.Text & " ' "

Of sla ik de bal nu volledig verkeerd?
 
Hoi Xanderke,

Bedankt voor je reactie maar dit werkt niet. Als ik nu probeer te zoeken zoekt het programma alleen op de EANBarcode.
Als ik dan zoek op Barcode laat hij niets zien.
 
Hoi,

Ik heb niet echt veel ervaring met databases in vb.net, maar wel met SQL. En ik weet zeker dat het mogelijk is om database gegevens op te vragen in vb.net via SQL. Dan kan je vervolgens alsnog het 'OR'-statement gebruiken: http://www.w3schools.com/sql/sql_and_or.asp.

Misschien is dat nu nog een beetje ingewikkeld om in te bouwen, maar het zou een oplossing kunnen zijn.

Succes!
MartinJM

[edit]
Ik heb nog even naar de BindingSource.Filter gekeken op MSDN, en daar staat dit (in het voorbeeld):
http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.filter.aspx zei:
source1.Filter = "artist = 'Dave Matthews' OR cd = 'Tigerlily'"
Dus dat suggereert dat 'or' toch gewoon moet werken....
[/edit]
 
Laatst bewerkt:
Hallo hallo,

Ik denk dat ik een statementfout heb gemaakt, misschien werkt volgende beter... :
Me.TestBindingSource.Filter = "[Barcode] = '" & Me.TextBox1.Text & "'" OR "[EANBarcode] = '" & Me.TextBox1.Text & " ' "

Probeer dit eens...
 
Hoi,

Bij het voorbeeld van MSDN staat 'OR' ook tussen de dubbele quotes...

Misschien kan je het nog even proberen met een vaste waarde en dan kijken of het wel werkt (dus gewoon even een voorbeeld invullen). Of je kan even kijken wat er nu precies in het filter komt te staan dmv een breakpoint.

MartinJM
 
Hoi Xanderke,

Ik krijg de onderstaande foutmelding met Me.TestBindingSource.Filter = "[Barcode] = '" & Me.TextBox1.Text & "'" OR "[EANBarcode] = '" & Me.TextBox1.Text & " ' "

Conversion from string "[Barcode] = ''" to type 'Long' is not valid.



Bedankt voor je reactie MartinJM.
Ik zal zel eens kijken of het lukt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan