WHERE in recordset vergelijkt niet 2 data´s

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
ik het de Id in tbl leverancier en die heb ik via de wizard naar de tbl artikelen gebarcht

Nu kan ik niet de opdracht uitvoeren WHERE Id_leveranier = rs!Id

Zie code

Code:
qstr1 = "SELECT *  FROM leverancier WHERE mailen = true"
Set db = CurrentDb
Set rs = db.OpenRecordset(qstr1)
rs.MoveFirst
x = 0

  Do While Not rs.EOF
    z = rs!Id
    Body = Body + "<p><strong>" + "Leverancier:  " + rs!Leverancier + "</p>" + "<p>  Contactpersoon: " + rs!Contactpersoon + "</p>" + "<p>  Adres: " + rs!Adres + "</p>"
    Body = Body + "<p>" + "Postcode:  " + rs!Postcode + "</p>" + "<p>  Plaats: " + rs!Plaats + "</p>" + "<p>  E-mail: " + rs!E_mail + "</p></strong>"
    Body = Body + "<p></p><p>-----------------------------------------------------------------------------</p>"
    Body = Body + "<p>Atiekel:   |    Bestelnummer:   |    Aantal:   |    </p>"
    strAan = rs!E_mail
    qstr2 = "SELECT *  FROM artikelen WHERE bestellen = true and Id_leverancier  = '" + rs!Id + "'"

    Set rs2 = db.OpenRecordset(qstr2)
    rs2.MoveFirst
        Do While Not rs2.EOF
            z2 = rs2!Id_leverancier
            aantal = rs2!aantal
            Body_artikel = Body_artikel + "<table><tr><td>" + rs2!Artikel + "   </td><td>" + rs2!Bestelnummer + "   </td><td>" + aantal + " </td></tr></table>"
            rs2.MoveNext
        Loop

Gegevenstypen komen niet overeen in criteriumexpressie
 
Een id is over het algemeen een getal. Daar hoef je dan geen quotes omheen te zetten.

Code:
qstr2 = "SELECT *  FROM artikelen WHERE bestellen = true and Id_leverancier  = " + rs!Id

Enjoy!
 
Een id is over het algemeen een getal. Daar hoef je dan geen quotes omheen te zetten.

Code:
qstr2 = "SELECT *  FROM artikelen WHERE bestellen = true and Id_leverancier  = " + rs!Id

Enjoy!

Nope werk niet.

Lukt me alleen als
Code:
    qstr2 = "SELECT *  FROM artikelen WHERE bestellen = true and leverancier2 = '" + z + "'"
Doe en z stel ik in als string en leveranciers2 is een tekst record waar ik de waardes van Id_leverancier naartoe copieer.
 
is id_leverancier niet numeriek dan?
Code:
qstr2 = "SELECT *  FROM artikelen WHERE bestellen = true and Id_leverancier  = " & rs!Id
zou moeten werken.

Waarom join je die twee tabellen niet? Dat werkt trouwens vele malen sneller.
Code:
SELECT *  FROM leverancier l inner join artikelen a on l.id = a.id_leverancier
WHERE l.mailen = true and a.bestellen = true

Je hebt een tabel Leverancier en een tabel Artikelen ik mis eigenlijk een tabel Bestellingen of Orders en Orderdetails.
Ik hoop dat je je database genormaliseerd hebt.

HTH:D
 
Idee wat ik eens kan uit proberen, ben ook maar een autodydact en leer gaande weg!!!

Maar Hoe kan ik dan een mailtje opmaken????

Is het trouwens mogelijk om via access een web site uit te lezen?

Dat ik in access een filmtitel in geef en dat access dat op bv moviemeter.nl de gegevens opzoek zoals synopsis regiseur enz...
 
Laatst bewerkt:
De code om je email op te bouwen zal er ongeveer uitzien als dit.
Code:
    Set rs = db.OpenRecordset(qstrJoinQuery)
    Body = Body + "<p><strong>" + "Leverancier:  " + rs!Leverancier + "</p>" + "<p>  Contactpersoon: " + rs!Contactpersoon + "</p>" + "<p>  Adres: " + rs!Adres + "</p>"
    Body = Body + "<p>" + "Postcode:  " + rs!Postcode + "</p>" + "<p>  Plaats: " + rs!Plaats + "</p>" + "<p>  E-mail: " + rs!E_mail + "</p></strong>"
    Body = Body + "<p></p><p>-----------------------------------------------------------------------------</p>"
    Body = Body + "<p>Atiekel:   |    Bestelnummer:   |    Aantal:   |    </p>"
    strAan = rs!E_mail
        Do While Not rs.EOF
            z2 = rs!Id_leverancier
            aantal = rs!aantal
            Body_artikel = Body_artikel + "<table><tr><td>" + rs!Artikel + "   </td><td>" + rs!Bestelnummer + "   </td><td>" + aantal + " </td></tr></table>"
            rs.MoveNext
        Loop

Is het trouwens mogelijk om via access een web site uit te lezen?
Geen idee. Nooit gedaan.

HTH:D
 
Thnx ik had het ook net zelf uit gevogeld.

Maar hoe krijg ik in godsvredesnaam die gegevens netjes onder elkaar, in tabellen of kolommen. Nu is het een rommelig verspringend rommeltje.

Ps. Ik verzend als en HTMLbody!
 
Thnx ik had het ook net zelf uit gevogeld.

Maar hoe krijg ik in vredesnaam die gegevens netjes onder elkaar, in tabellen of kolommen. Nu is het een rommelig verspringend rommeltje.

Ps. Ik verzend als en HTMLbody!

Dat is een HTML issue. Als je HTML er rommelig uitziet maakt dat niks uit omdat het toch als HTML getoond wordt en niet als tekst?
 
nou kijk dit is mijn probleem!!

En dat ziet er wel heel erg rommelig uit.
 

Bijlagen

  • mailtest.jpg
    mailtest.jpg
    14,1 KB · Weergaven: 33
Nogmaals, dat is een HTML issue.

Probeer dit eens
Code:
Set rs = db.OpenRecordset(qstrJoinQuery)
    Body = Body + "<p><strong>" + "Leverancier:  " + rs!Leverancier + "</p>" + "<p>  Contactpersoon: " + rs!Contactpersoon + "</p>" + "<p>  Adres: " + rs!Adres + "</p>"
    Body = Body + "<p>" + "Postcode:  " + rs!Postcode + "</p>" + "<p>  Plaats: " + rs!Plaats + "</p>" + "<p>  E-mail: " + rs!E_mail + "</p></strong>"

Body_Artikel= "<table><tr><td>Artikel[/td><td>Bestelnummer</td><td>Aantal</td></tr>"
Do While Not rs.EOF
            z2 = rs!Id_leverancier
            aantal = rs!aantal
            Body_artikel = Body_artikel & "<tr><td>" & rs!Artikel & "</td><td>" & rs!Bestelnummer + "</td><td>" & aantal & " </td></tr>"
            rs.MoveNext
Loop
Body_Artikel = Body_artikel & "</table>"
Je wil niet iedere regel in een aparte tabel. Je wil iedere regel als onderdeel van de grote tabel. Zoiets zou het moeten worden. Als dit het niet is dan moet je het op een andere plek vragen.

HTH:D
 
nope is hem niet, zal eens internationaal gaan zoeken op het web

Maar thnx voor de hulp ben al flink op geschoten!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan