• 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.

SQL tabel in excel plakken en daarna lezen

Status
Niet open voor verdere reacties.

ercmrj

Nieuwe gebruiker
Lid geworden
25 mei 2016
Berichten
2
Ik gebruik onderstaande code om een paar kolommen uit een SQL bestand te lezen en daarna in excel te plakken.

Nu wil ik echter in dezelfde macro meteen een kolom doorzoeken. Echter de kolom is nog leeg op het moment dat de macro niet geheel doorlopen is. Ik ben dus verplicht om 2 macro's te maken. De eerste om de tekst in excel te plakken en de 2e om een kolom te lezen.

Is er een commando wat je kunt gebruiken die ervoor zorgt dat ik de tekst meteen kan lezen. Als ik met F8 de macro stap voor stap doorloop werkt het wel goed.



[SQL]varConnection = "ODBC;DRIVER=SQL Server;SERVER=SQL2008;UID=spar;PWD=;APP=glprec;WSID="
varSQL = "SELECT a_orders.ord_prj, a_orders.ord_ordnr,a_prodstap.stp_stapnr, a_orders.ord_artcode, a_prodstap.stp_wpnr, a_prodstap.stp_omschr_kort, a_stapinfo.stp_omschr_lang FROM GLprec.spar.a_orders a_orders, GLprec.spar.a_prodstap a_prodstap, GLprec.spar.a_stapinfo a_stapinfo WHERE a_prodstap.stp_ordnr = a_orders.ord_ordnr AND a_prodstap.stp_prj = a_orders.ord_prj AND a_stapinfo.stp_ordnr = a_prodstap.stp_ordnr AND a_stapinfo.stp_prj = a_prodstap.stp_prj AND a_stapinfo.stp_stapnr = a_prodstap.stp_stapnr AND ((a_orders.ord_artcode Like'" & klant & "'))"

With ActiveSheet.QueryTables.Add(Connection:=varConnection, Destination:=ActiveSheet.Range("A4"))


.CommandText = varSQL
.Name = "VCNC"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=True

End With[/SQL]
 
Probeer het eens met .Refresh BackgroundQuery:=False i.p.v. True
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan