fout in SQL, maar wat?

Status
Niet open voor verdere reacties.

jvondermans

Gebruiker
Lid geworden
14 feb 2005
Berichten
75
Ik heb een vrij grote tabel met veel gegevens. in de tabel is het niet overal verplicht gegevens in te vullen, dus sommige velden zijn leeg. Om een selectie uit te kunnen maken heb ik een formulier waarin uit drop-downlistjes opties kunnen worden gekozen.

Als ik een keuze maak en vervolgens op uitvoeren klik wordt de query opgebouwd en uitgevoerd. Alles werkt prima, maar 1 ding werkt niet helemaal optimaal.

Als ik in het formulier bij de lijstjes aangeef dmv een checkbox dat ik die optie juist NIET wil, dan gaat het mis. Dan laat hij de juiste keuze buiten beschouwing, maar OOK de velden die niet zijn ingevuld/leeg zijn.

hieronder de code:
Code:
Private Sub drptestgroep_Exit(Cancel As Integer)
Dim vartestgroep
vartestgroep = Me.drptestgroep
If Me.chktesetgroepniet = False Then
strSQL = strSQL & " AND testgroep = " & Chr(34) & vartestgroep & Chr(34) & " "
Else
strSQL = strSQL & " AND NOT testgroep = " & Chr(34) & vartestgroep & Chr(34) & " "
End If
End Sub

het gaat dus mis in de regel hieronder, als testgroep geen gegevens bevat:
strSQL = strSQL & " AND NOT testgroep = " & Chr(34) & vartestgroep & Chr(34) & " "

dit komt achter de volgende "basisquery":
strSQL = "INSERT INTO totaallijst_na_selectie SELECT * FROM totaallijst_voor_selectie WHERE Bedrijfsnummer Is Not Null"

iemand een idee hoe de lege velden ook geselecteerd te krijgen?

Alvast bedankt voor de ideeen
 
Ik zou de querystring eens in een variabele zetten d.m.v. een inputbox, en de code die gegenereerd wordt in een nieuwe query zetten. je ziet dan gelijk wat (en waarom) welke records worden geselecteerd. In deze query pas je dan de selectie zodanig aan dat je filtering klopt, en die SQL vertaal je dan terug naar je opdrachtregel.
 
op zich klopt deze regel wel, maar ik ben aan het klooien met de statement NOT, die krijg ik op 1 of andere manier niet goed.

als ik aangeef dat hij iets NOT moet doen, dan laat hij ook de lege velden buiten beschouwing. Terwijl ik alleen de velden buiten beschouwing wil laten die er inderdaad niet aan voldoen.

Bij de eerste regel van de IF statement werk het prima, dus het werkt goed.
 
Daarom raadde ik aan om het in een losse query te bekijken. Waarschijnlijk moet je er namelijk nog iets als 'OR testgroep Is Null' aan toevoegen. En dat doe je toch net iets makkelijker in een query dan in code.
 
is gelukt!! inderdaad even in query omgezet en toen uitproberen! eerste keer was direct raak, want jouw 'OR testgroep is Null' was direct de goede.

Heel erg bedankt!
 
Boy I'm good.... ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan