• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

2 AND's toevoegen in excel macro sql query

Status
Niet open voor verdere reacties.

layzbone

Nieuwe gebruiker
Lid geworden
18 dec 2008
Berichten
4
Hallo

Ik wil 2 AND's toevoegen aan een werkende query (zie beneden):

1) AND BLH_REMARK NOT LIKE %something%
2) AND BLH_SALES_TYPE NOT LIKE %other%

Door gissen en missen heb ik een hoop syntaxen geprobeerd maar ik krijg steeds errors terwijl ik type... Wat is de correcte manier om de 2 AND's toe te voegen?


Code:
Sheets("NewStuff").Select
    Range("I8").Select
    With Selection.QueryTable
        .Connection = _
        "ODBC;DRIVER=SQL Server;SERVER=BLAH-server;UID=user;PWD=password;APP=Microsoft® Access;WSID=yeah-file;DATABASE=database"
        .Sql = Array( _
        "SELECT BLAH.BLH_COLUMN_A, BLAH.BLH_DATE, BLAH.BLH_COLUMN_C," _
        , _
        "BLAH.BLH_CODE_DIV, MODELE.MOD_NAME, MODELE.MOD_NAME_KF, MODELE.MOD_ERREG, " _
        , _
        "BLAH.BLH_UNIT_ID" & Chr(13) & "" & Chr(10) & " FROM database.dbo.BLAH BLAH, " _
        , _
        "database.dbo.MODELE MODELE " & Chr(13) & "" & Chr(10) & "WHERE BLAH.BLH_MOD_ID = MODELE.MOD_ID AND " _
        , _
        "((BLAH.BLH_DATE>={ts '" & DateFrmStr & "'})" _
        , _
        "and(BLAH.BLH_DATE<={ts '" & DatetoStr & "'}) " _
        , _
        "AND(BLAH.BLH_FAX_DATE IS NULL))" & Chr(13) & "" & Chr(10) & "ORDER BY BLAH.BLH_DATE DESC" _
        )
       .Refresh False
    End With

Word er gek van en heb niet echt de tijd om het verder zelf uit te zoeken.
Alvast bedankt voor elke hulp!
 
heb niet echt de tijd om het verder zelf uit te zoeken
Daarmee doe je in iedergeval je naam eer aan...:D:D:D

Wat heb je tot nu toe dan al geprobeerd?

Groet, Leo
 
Dat je zelf geen tijd hebt voor dit probleem vind ik wel eerlijk, maar geeft mij niet echt motivatie om je te helpen. Daarnaast heb ik thuis geen excel dus kan je alleen maar in de goede richting schoppen.

In die code zie ik een heel aantal vreemde dingen:
Je hebt er een aantal keer _ , _ staan met wat enters ertussen.
- Persoonlijk vindt ik het gebruik van de underscore alleen maar vreselijk irritant en in mijn mening wordt het er echt niet overzichtelijker op.
- En wat doen die komma daar? Hoort hij er wel, want hij staat buiten de String van de query.

En waarom heb je een aantal CHR-functie's (de CHR(13) en CHR(10))in de querystring staan?
Ok je kunt enters in je qeury zetten, maar waarom zet je niet enters in de string?
 
Leo :) een naam reflecteert niet noodzakelijk je persoonlijkheid ;)

wat ik geprobeerd heb is die 2 AND gewoon tussen de eerste 2 and's en de laatste regel te voegen met (bijna, voor zover het me logisch leek in de lijn van de overige code) alle mogelijke combinaties van underscores, komma's, haakjes en quotation marks. altijd is er wel een foutmelding zoals 'Expected: list separator or )' ofzo. ik ken er gewoon te weinig van om systematisch te werk te gaan... en googelen levert weinig op.



TheM, de overige code heb ik niet zelf gemaakt, ik ben gewoon al blij dat ze werkt dus raak ik het verder niet aan... maar zijn die (ongetwijfeld goede) vragen van je een mogelijke oorzaak van mijn extra AND's probleem?

iig alvast bedankt voor jullie reply
 
Laatst bewerkt:
layzbone, Ik heb ook wat zitten puzzelen maar moet wel eerlijk bekennen dat het gebruik van SQL van mij wel héél lang geleden is. Ik kwam dus niet uit dit stukje 'select'. Sorry, voor mij stopt de hulp hier.
Nou ja.... misschien nog 1 klein dingetje...Het zou nog kunnen dat je beter geholpen bent bij de Access-sectie van het forum. Daar wordt meer met SQL gewerkt dan in Excel.

Groet, Leo
 
ok toch bedankt!

ondertussen wat gespeeld met 'import external data' in excel.
maandag ga ik simpelweg een nieuwe macro recorden met een nieuwe sql query erin die alles omvat wat ik wil.
dan de gegenereerde sql query code copy/pasten in de oude macro: denk dat dit wel moet lukken, ik laat het nog weten :)
 
copy-paste van een nieuwe opgenomen macro met query did the trick...

Best practice: Probeer nooit zelf MS SQL array code rechtstreeks aan te passen :)
 
Laatst bewerkt:
Lol dat valt best mee. Je moet dan alleen wel kennis hebben van dat waarmee je bezig bent. Maar als je op dat punt zat had je de macro zelf geschreven ipv opgenomen.

PS En nu je het hebt over een array kan ik die komma's ook ineens plaatsen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan