02. februar 2018 - 17:17Der er
2 kommentarer og 2 løsninger
DoCmd.RunSQL problem med indsættelse af recordset
Jeg har trukket en del felter ud af en tabel, som jeg bruger til at sende mails til medarbejdere, selve dele med at sende virker som det skal, men i mit LOOP, vil jeg gerne skrive medarbejdernummeret (MA) i en tabel, når mailen er sendt og VBA´en LOOP´er videre i løkken. Min "MSGBOX-test" viser data, men vil jeg sætte rs.Fields("MA").Value ind i SQL-strengen fejler det...( med PLAIN tekst virker SQL-stregen som den skal...)
MsgBox rs.Fields("MA").Value ( Virker som ønsket viser MA-nummeret som ønsket)
DoCmd.RunSQL "INSERT INTO tbl_sent(MA) values ('Plain tekst virker')"
Her er mit problem : DoCmd.RunSQL "INSERT INTO tbl_sent(MA) values ('rs.Fields("MA").Value')" ( Virker IKKE ... )
I sidste insert... - du beder om at få indsat rs.Fields("MA").Value' som bogstavelig streng - jeg tror det du vil er: "INSERT INTO tbl_sent(MA) values ('" & rs.Fields("MA").Value & "')"
I øvrigt kan man godt opdatere på opdaterbare recordset direkte. rs.edit rs.Fields("MA")="test" rs.update
- og så kom jeg lige på en anden idé, når I fik mig på rette vej..
Nemlig en DELETE-funktion, der tømmer tabellen, når der sendt en email til MA Jeg har nemlig flere gange oplevet at systemet ( Outlook/Exchange ikke har kunnet følge med, når der bliver mailbombet.. så har jeg prøvet ikke at vide, hvor langt Access var kommet i forløbet, og skal til at undersøge hvilke mails, der ligger i sendt post samt udbakken. Hvis jeg sletter netop indlæste record inden LOOP, har jeg ikke dette problem længere..
Så jeg endte op med dette :
DoCmd.RunSQL "DELETE tbl_list_with_KTP_INFO_and_Emails.MA FROM tbl_list_with_KTP_INFO_and_Emails WHERE ((tbl_list_with_KTP_INFO_and_Emails.MA)='" & rs.Fields("MA").Value & "')"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.