maxventure
Nieuwe gebruiker
- Lid geworden
- 6 mei 2007
- Berichten
- 3
Vanuit Excel wil ik middels een macro data uit een mysql database binnenhalen.
Onderstaande macro gebruik ik hiervoor.
Als extra wil ik nu deze macro de klantgevens van klantnr x uit de database laten filteren en in excel plaatsen.
Klantnr x is een variabel getal en staat in bijvoorbeeld cel A1
Dus als men in cel A1 het bijvoorbeeld het klantnummer 4 intypt, dat middels onderstaande macro de klantgevens van klantnummer 4 worden opgehaald uit de database en in excel worden geïmporteerd.
Met deze klantgevens kan dan een offerte gemaakt worden.
In onderstaande macro staat de code "WHERE (aanmelden_0.klantnr=4)" vermoedelijk zal er in plaats van klantnr=4 een verwijzing naar cel A1 moeten staan. Echter dit krijg ik niet werkend.
Indien u tijd en zin heeft, hoop ik graag dat u mij kunt helpen.
Met vriendelijke groet en alvast mijn hartelijke dank
Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 6-5-2007 door Maxventure.
'
' Sneltoets: CTRL+s
'
Workbooks.Add
With ActiveSheet.QueryTables.Add (Connection:= _
"ODBC;DATABASE=;DSN=;OPTION=0;PWD=;PORT=0;SERVER=.nl;UID=" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT aanmelden_0.adres, aanmelden_0.bouwjaar, aanmelden_0.category, aanmelden_0.datum, aanmelden_0.dekking, aanmelden_0.emailadres, aanmelden_0.fax, aanmelden_0.geboortedatum, aanmelden_0.inboedel, " _
, _
"aanmelden_0.klantnr, aanmelden_0.merk, aanmelden_0.naam, aanmelden_0.nieuwprijscaravan, aanmelden_0.nieuwprijstent, aanmelden_0.nieuwsbrief, aanmelden_0.opmerking, aanmelden_0.postcode, aanmelden_0.RE" _
, _
"MOTE_HOST, aanmelden_0.remoteadr, aanmelden_0.telefoon, aanmelden_0.type, aanmelden_0.voorletters, aanmelden_0.woonplaats" & Chr(13) & "" & Chr(10) & "FROM datatrade.aanmelden aanmelden_0" & Chr(13) & "" & Chr(10) & "WHERE (aanmelden_0.klantnr=4)" _
)
.Name = "Query van datatrade"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
Onderstaande macro gebruik ik hiervoor.
Als extra wil ik nu deze macro de klantgevens van klantnr x uit de database laten filteren en in excel plaatsen.
Klantnr x is een variabel getal en staat in bijvoorbeeld cel A1
Dus als men in cel A1 het bijvoorbeeld het klantnummer 4 intypt, dat middels onderstaande macro de klantgevens van klantnummer 4 worden opgehaald uit de database en in excel worden geïmporteerd.
Met deze klantgevens kan dan een offerte gemaakt worden.
In onderstaande macro staat de code "WHERE (aanmelden_0.klantnr=4)" vermoedelijk zal er in plaats van klantnr=4 een verwijzing naar cel A1 moeten staan. Echter dit krijg ik niet werkend.
Indien u tijd en zin heeft, hoop ik graag dat u mij kunt helpen.
Met vriendelijke groet en alvast mijn hartelijke dank
Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 6-5-2007 door Maxventure.
'
' Sneltoets: CTRL+s
'
Workbooks.Add
With ActiveSheet.QueryTables.Add (Connection:= _
"ODBC;DATABASE=;DSN=;OPTION=0;PWD=;PORT=0;SERVER=.nl;UID=" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT aanmelden_0.adres, aanmelden_0.bouwjaar, aanmelden_0.category, aanmelden_0.datum, aanmelden_0.dekking, aanmelden_0.emailadres, aanmelden_0.fax, aanmelden_0.geboortedatum, aanmelden_0.inboedel, " _
, _
"aanmelden_0.klantnr, aanmelden_0.merk, aanmelden_0.naam, aanmelden_0.nieuwprijscaravan, aanmelden_0.nieuwprijstent, aanmelden_0.nieuwsbrief, aanmelden_0.opmerking, aanmelden_0.postcode, aanmelden_0.RE" _
, _
"MOTE_HOST, aanmelden_0.remoteadr, aanmelden_0.telefoon, aanmelden_0.type, aanmelden_0.voorletters, aanmelden_0.woonplaats" & Chr(13) & "" & Chr(10) & "FROM datatrade.aanmelden aanmelden_0" & Chr(13) & "" & Chr(10) & "WHERE (aanmelden_0.klantnr=4)" _
)
.Name = "Query van datatrade"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub