SQL Code Not Like

Status
Niet open voor verdere reacties.

enjoy01

Gebruiker
Lid geworden
21 okt 2014
Berichten
5
Wie kan mij helpen krijg een sql code niet werkend
Krijg foutmelding 3131 de component FROM bevat syntaxfout
De code is:
Code:
Dim str1SQL As String
str1SQL = "SELECT tblArtikel.Artikel, tblArtikel.Leverancier FROM tblArtikel" & _
"WHERE (((tblArtikel.Leverancier) Not Like 1 And (tblArtikel.Leverancier) Not Like 2 And (tblArtikel.Leverancier) Not Like 4))" & _
"ORDER BY tblArtikel.Leverancier;"
DoCmd.RunSQL str1SQL

Alvast bedankt voor de support
 
Ik zie in ieder geval dat er spaties ontbreken, dus mogelijk werkt het al zo:

Code:
Dim str1SQL As String
str1SQL = "SELECT tblArtikel.Artikel, tblArtikel.Leverancier FROM tblArtikel" & " " & _
"WHERE (((tblArtikel.Leverancier) Not Like 1 And (tblArtikel.Leverancier) Not Like 2 And (tblArtikel.Leverancier) Not Like 4))" & " " & _
"ORDER BY tblArtikel.Leverancier;"
DoCmd.RunSQL str1SQL

Tijs.
 
Beetje omslachtige manier van spaties toevoegen :)
Ik denk dat er met je LIKE ook wat mis is.

Code:
Dim strSQL As String
strSQL = "SELECT Artikel, Leverancier FROM tblArtikel " & _
"WHERE ((Leverancier Not Like "1" And Leverancier Not Like "2" And Leverancier Not Like "4")) " & _
"ORDER BY Leverancier;"
DoCmd.RunSQL strSQL

Maar ik snap de LIKE dus niet; als je de leveranciers 1, 2 en 4 niet wilt zien, dan is dit veel handiger:

Code:
strSQL = "SELECT Artikel, Leverancier FROM tblArtikel " & _
"WHERE (Leverancier Not In(1, 2, 4) ORDER BY Leverancier;"
DoCmd.RunSQL strSQL

Nu filter je alle leveranciers weg waar een 1, 2, of 4 in zit, dus ook 12, 41, 114 etc.
 
Laatst bewerkt:
@OctaFish: Ik heb die spaties expres zo neergezet zodat het verschil duidelijk is. :) Natuurlijk kunnen die spaties ook handmatig tussen de "-tekens worden toegevoegd zoals jij hebt gedaan. :D
En ik vermoed dat je in je Where clause wilde neerzetten:

Code:
"WHERE (Leverancier Not In [COLOR="#FF0000"](1, 2, 4))[/COLOR] ORDER BY Leverancier;"

Tijs.
 
Laatst bewerkt:
Wow wat een snelle reactie, hartelijk dank
Ik heb de voorbeelden getest maar geven allemaal dezelfde fout zoals eerder vermeld
Kleine aanvulling:
Wil dus uit een tabel tblArtikel specifieke leveranciers uitsluiten daarom Not Like
Het zijn ca. 50 leveranciers waarvan ik er een zestal wil uitsluiten
Deze leveranciers hebben een getalswaarde van o.a 1, 3, 4 , 14 en 25
Werk met access 2010
 
Dan wordt het:
Code:
strSQL = "SELECT Artikel, Leverancier FROM tblArtikel " & _
"WHERE (Leverancier Not In(1, 3, 4,14,15)) ORDER BY Leverancier;"
 
Michel
Bedankt voor de snelle reactie
Ben hier al lang mee aan het proberen en krijg hierdoor volgens mij last van blindheid
Het werkt niet ik krijg fout 2342 SQLuitvoeren vereist een argument dat bestaat uit een SQL instructie
Dit is wat ik heb staan na actie op knop klikken
Code:
Dim strSQL As String
strSQL = "SELECT Artikel, Leverancier FROM tblArtikel " & _
"WHERE (Leverancier Not In(1, 3, 4,14,15)) ORDER BY Leverancier;"
DoCmd.RunSQL strSQL

Ad
 
[Access n00b-alert on]
Misschien moet er een spatie tussen In en ( ??

Dus
Code:
Dim strSQL As String
strSQL = "SELECT Artikel, Leverancier FROM tblArtikel " & _
"WHERE (Leverancier Not In (1, 3, 4, 14, 15)) ORDER BY Leverancier;"
DoCmd.RunSQL strSQL

[Access n00b-alert off]

Tijs.
 
Spatie doet niks, en de code moet dus gewoon zonder spatie werken. Maar heb je wel een numeriek veld?
 
Michel, Tijs

Bedankt voor de support
Heb toch de oplossing wist dat ik iets over het hoofd zag
Ben begonnen met Me.Filter liep daar vast en dan ga je dwalen
Ik zag in 1 keer de fout die ik daar gemaakt had " te veel
Oplossing is dus toch wel heel simpel
Code:
Me.Filter = "(Leverancier) not In (1, 2, 4, 6, 24, 35 )"
Me.FilterOn = True

Ben in ieder geval blij dit forum gevonden te hebben
Nogmaals bedankt, probleem opgelost

Ad
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan