strSQL fout typen komen niet met elkaar overeen

Status
Niet open voor verdere reacties.

antonv

Gebruiker
Lid geworden
4 mrt 2007
Berichten
19
hoi allen
ik heb een vraag wat voor mij een hersenkraker is geworden.
in een access 2003 database wordt vanuit een formulier (frmoffertekop) een zoekscherm voor artikelen geopend.
in dit zoekscherm selekteert de gebruiker een artikelnummer, keert weer terug naar het formulier (frmOffertekop) bij het sluiten van het zoekscherm (knop cmdSluit)

Algemene beschrijving
Het probleem is een SQL string met een "WHERE [veld1] = waarde1 AND [veld2] = waarde2 " voorwaarde.
Tijdens uitvoering wordt de volgende foutmelding gegeven:
Typen komen niet met elkaar overeen.
veld1 en waarde1 zijn tekst
veld2 en waarde2 zijn numeriek


Indien de SQL string met "WHERE [veld1] = waarde1" wordt uitgevoerd werkt alles wel, maar komen de gegevens niet op de juiste plaats.:evil:


Detail van de Code
===================================================================
Private Sub cmdSluit_Click() 'sluiten van frmartikel
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQl As String
Dim strNr_ As String

Set db = OpenDatabase("DB_OfferteDataRepl.mdb") 'open de tabel met offerte regels
strSQl = "SELECT * FROM tblOfferteregel WHERE Offertenummer ='" & Me.Offertenummer & " ' " And Regelnummer = " & Me.Regelnummer & "
Set rs = db.OpenRecordset(strSQl) 'selekteer offerteregel waar artikel gewijzigd wordt dmv strSQL
stNr_ = Me![Nr_]
Do
rs.Edit
rs!Nr_ = Me!Nr_ 'schrijf artikelnummer weg in tabel offertregels (tblOfferteRegels)
MsgBox "regel wordt gevuld met artikelnr " & strNr_
rs.Update
Forms!frmOffertekop.frmOfferteRegel.Requery 'Vernieuwen formulier
End

End Sub
=====================================================================


tblOfferteregel
veld Offertenummer = tekst
veld offerteregel = nummeriek, lange integer

Heeft iemand een idee hoe ik dit kan oplossen ??
Ik hoop dat je me kunt helpen.
Alvast bedankt
Anton
 
Foutje bij het opbouwen van je SQL statement

Wijzig deze regel
strSQl = "SELECT * FROM tblOfferteregel WHERE Offertenummer ='" & Me.Offertenummer & " ' " And Regelnummer = " & Me.Regelnummer & " "

Maak er dit van:
strSQl = "SELECT * FROM tblOfferteregel WHERE Offertenummer ='" & Me.Offertenummer & "' AND Regelnummer = " & Me.Regelnummer & " "
 
Bedankt

Werkt nu perfect.
zag de quote de hele tijd over het hoofd
bedankt
Anton
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan