30. marts 2004 - 17:03Der er
12 kommentarer og 1 løsning
Emails vha forespørgsel
Jeg har et problem med en kodestump, som jeg fandt herinde og håber meget at nogen har en ide om hvad jeg mangler.
Jeg får en fejl med nedenstående kode som er følgende: "Runtime error 3061" "Der er for få parametre. Der var ventet 1"
Private Sub Kommandoknap149_Click() Dim db As Recordset Set rs = CurrentDb.OpenRecordset("SELECT Firmanavn, Art, Offentligtnr FROM Portering") Do Until rs.EOF DoCmd.SendObject acSendNoObject, , , rs!Navn, , , "Subject", "Brødtekst", False rs.MoveNext Loop rs.Close Set rs = Nothing End Sub
Portering er en forespøgsel, som spørger i to tabeller
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Når jeg debugger markerer den denne linie: Set rs = CurrentDb.OpenRecordset("SELECT Firmanavn, Art, Offentligtnr FROM Portering")
Der er ikke forskel på om jeg bruger; Dim db As Recordset eller Dim db As DAO.Recordset Jeg får samme fejl som først beskrevet. "Runtime error 3061" "Der er for få parametre. Der var ventet 1"
hallo, du refererer jo til rs!Navn i din .SendObject-linie. Men "Navn" er jo ikke med i din SQL sætning!
Koden skal se således ud: Dim db As Recordset Set rs = CurrentDb.OpenRecordset("SELECT Navn FROM Portering") Do Until rs.EOF DoCmd.SendObject acSendNoObject, , , rs!Navn, , , "Subject", "Brødtekst", False rs.MoveNext Loop rs.Close Set rs = Nothing
Ok nu har jeg rettet til dette: Dim db As DAO.Recordset Set rs = CurrentDb.OpenRecordset("SELECT Firmanavn FROM Portering") Do Until rs.EOF DoCmd.SendObject acSendNoObject, , , rs!Firmanavn, , , "Subject", "Brødtekst", False rs.MoveNext Loop rs.Close Set rs = Nothing
Men jeg får stadig samme fejl. Feltet "Firmanavn" eksisterer i forespøgslen "Portering" Og jeg har oprettet en reference til DAO 3.6
Jeg fandt problemet. Jeg havde baseret min query på, at et felt skulle være magen til et i min formular (for at vælge aktuelle kunde), min query funker fint alene, men dette script kunne ikke finde ud af queryen med det kriterie i.
Jeg tror også, at jeg endelig har forstået hvad de forskellige linier gør. Thomas dit script dine point, du ledte mig egentlig også på sporet ved at jeg kunne se, at det var ligemeget hvad man ændrede i koden.
Thomas kender du en metode til at disable den advarsel som outlook giver når man sender vha dette script?
Den laver nemlig en advarsel, hvor den skriver følgende: "et program prøver automatisk at sende email på dine vegne vil du tillade dette? Hvis dette er uventet er det måske en virus, og så bør du vælge Nej"
skal også lige høre om man kan bygge en stLinkCriteria ind i, så jeg begrænser forespørgslens poster til den aktuelle kunde, nu hvor jeg ikke kan skrive det som [forms]![formularnavn].[feltnavn] direkte som kriterie i min forespøgsel.
Det er desværre en restriktion, som kom med Office 2000, servicepack 3. Siden er den kommet for at blive.
Hvis du du henter mails fra en Exchange Server i huset, kan du godt slå det fra via "Programmatic settings" i security på serveren. Men hvis du benytter pop3-mails eller lign, så er det lidt besværligt. Man kan vist ændre et eller andet i registreringsdatabasen. Måske kan du finde hjælp her: http://www.slipstick.com/outlook/esecup.htm#autosec
Men måske hjælper den dig kun til at modtage kritiske filtyper (har ikke lige læst denn gennem)
Vi kører med Exchange server her. Men nu ved jeg i det mindste hvad jeg leder efter. Jeg troede først at det havde noget med makro sikkerhed at gøre. Nu hælder jeg mest at tilføje en digital signatur til VB scripts i min accessdb, så jeg kan tilføje den i folks outlook som sikker kilde. Håber det er det som skal til for at fjerne den sikkerhedsmeddelse.
Tak for dit bud. Når/hvis jeg finder en løsning vil du så lige have besked om løsning?
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.