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

Gegevens uit een accessdatabase halen

Status
Niet open voor verdere reacties.

Guidolavespa

Gebruiker
Lid geworden
1 dec 2001
Berichten
152
Ik zou graag een VBA procedure maken die het volgende zou moeten doen.

> commandoknop die :
> eerste cel selecteren
> huidige gebied wissen
> gegevens uit een accessdatabank query halen
> plakken van de eertse cel
> voila, das alles

Iemand al mee gewerkt?
graag een voorbeeldje als het kan.
 
Omdat ik overgestapt ben van MS Office naar OpenOffice.org kan ik onderstaande niet meer testen vanuit VBA, maar vanuit visual basic heeft het altijd gewerkt en ik verwacht dat het ook met vba moet kunnen.

Om een cel te selecteren en te wissen kun je gewoon even een macro opnemen. Voor het verbinding maken met en op halen van gegevens uit de database kun je onderstaande code gebruiken.
Code:
private sub command1_click()
'declaraties:
Dim cmd as String
Dim sql as String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

'een verbindingsreeks aanmaken voor het tot stand brengen van de verbinding met de database.
cmd="Provider=microsoft.jet.OLEDB.3.51;" & _ 
        "Data Source=C:\jouwmap\jouwdatabase.mdb"

'verbinding maken met de database
Set cn = New ADODB.Connection
      With cn
             .Connectionstring = cmd
             .Open
       End With

'SQL query maken. (datgene dat je op wilt halen uit je database)
sql="Select * from [tabel] where [tabel].kolomnaam = 'jouwzoektekst'"

'Gegevens uitlezen
Set rs = New ADODB.Recordset
     With rs
            .Open sql, cn, adOpenForwardOnly, adLockReadOnly
        'onderstaande is afhankelijk van hoeveel rijen gegevens je hebt
        'als het maar 1 is kun je het volgende gebruiken
                    Range("A1").formulaR1C1 = rs("kolomnaam die je in wilt voegen")
            .Close
      End With

'recordset leegmaken
Set rs = Nothing

'verbinding met de database verbreken
cn.Close

'verbindingsobject verwijderen
Set cn = Nothing

End Sub

Ik hoop dat je er hiermee uitkomt en anders hoor/lees ik het wel.

Brutus
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan