Gegevens uitlezen

Status
Niet open voor verdere reacties.

kokkie20

Gebruiker
Lid geworden
4 aug 2006
Berichten
221
Hallo,
ik moet via microsoft acces 2003 een herinneringssysteem maken.
Ik heb al een code hiervoor gevonden maar hij werkt niet zoals het hoort.
Het moet dus via een formulier gaan, dat als je de klantid invoert, dat hij automatisch een .doc bestand maakt.
Maar als ik dus een klantid invoer, dan geeft hij deze error:
Code:
Fout 3075 tijdens uitvoeren:
Syntaxisfout (operator ontbreekt) in query-expressie Klant ID = 1
Ik heb de lijn "vet" gemaakt, zodat je kan zien om welke regel het gaat.
Ik heb de code hieronder bijgevoegd + de acces bestand:

Code:
Private Sub Knop0_Click()

Dim db As DAO.database
Dim rs As DAO.Recordset
Dim veld As Field
Dim selectie

Set db = CurrentDb()
selectie = Form_Herinner.kiesnaam.Value
[B]Set rs = db.OpenRecordset("select * from Klantgegevens where Klant ID = " & selectie)[/B]
Set klantNaam = rs.Fields(1)
Set klantVoorNaam = rs.Fields(2)
Set klantPlaats = rs.Fields(3)
Set klantStraat = rs.Fields(4)
Set klantNummer = rs.Fields(5)
Dim WordApp As Object

Set WordApp = CreateObject("Word.Application")
WordApp.Documents.Open filename:="C:\herinnering.doc"

Set doc = WordApp.ActiveDocument
Set sel = WordApp.selection
WordApp.Visible = True

Do Until rs.EOF
    sel.Typetext Text:=klantVoorNaam.Value & " " & klantNaam.Value & vbCrLf
    sel.Typetext Text:=klantStraat.Value & " " & klantNummer.Value & vbCrLf
    sel.Typetext Text:=klantPlaats & vbCrLf
    rs.MoveNext
    Loop
    
End Sub

mvg

Johnny
 

Bijlagen

Je hebt een kleine aanpassing nodig:

Code:
selectie = Form_Herinner.kiesnaam.Value
strSQL = "SELECT * FROM Klantgegevens where [B][ID][/B] = " & selectie
tmp = InputBox("", "", strSQL)

Set rs = db.OpenRecordset(strSQL)

Je kunt de sql-string direct in de recordset gooien, maar zelf doe ik dat eigenlijk nooit. In het voorbeeld zie je dat ik hem in een variabele zet, die ik vervolgens m.b.v. een inputbox controleer. Als je de opdracht nu uitvoert, kun je de gebruikte query-opdracht namelijk kopieren, en in een nieuwe query plakken, zodt je gelijk ziet of alles werkt.
In jouw geval werkte het dus niet, omdat je het veld [Klant ID] ten eerste verkeerd aanroept ( veldnamen met een spatie er in moet je altijd tussen rechte haken zetten), en ten tweede heet het veld in de tabel anders....

Probeer dus veldnamen met spaties te vermijden, of zet ze tussen rechte haken!

Michel
 
Laat maar zitten, heb het probleem opgelost
moest wat veranderen bij de
rs.Fields

mag ik je hartelijk bedanken voor de oplossing!
 
Laatst bewerkt:
@kokkie20 is het een schoolopdracht soms?
 
nee dit is voor een maat van mij.
hij begint zijn eigen bedrijf qua computer onderdelen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan