Avatar billede weaponx Nybegynder
30. marts 2004 - 17:03 Der 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
Avatar billede ricky Nybegynder
30. marts 2004 - 17:25 #1
Hvis du har debugget burde du vide hvilken af linierne der er problemet ?
30. marts 2004 - 19:25 #2
Jeg vil også gerne vide hvilken linie fejlen opstår.

Hvis du ikke benytter Access 97, bør du rette første linie til:
Dim db As DAO.Recordset
Avatar billede weaponx Nybegynder
31. marts 2004 - 09:04 #3
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"
31. marts 2004 - 09:13 #4
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
Avatar billede weaponx Nybegynder
31. marts 2004 - 09:33 #5
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
31. marts 2004 - 09:40 #6
hmm, hvilken linie er det, som fejler? Er det "Set rs = ...." eller er det "Docmd.SendObject..."?

Du kan prøve at ændre denne:
Set rs = CurrentDb.OpenRecordset("SELECT Navn FROM Portering", dbopensnapshot)
Avatar billede weaponx Nybegynder
31. marts 2004 - 10:57 #7
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.
31. marts 2004 - 10:58 #8
Godt, du fandt ud af det. og tak for P
Avatar billede weaponx Nybegynder
31. marts 2004 - 11:23 #9
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"
Avatar billede weaponx Nybegynder
31. marts 2004 - 11:25 #10
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.
31. marts 2004 - 11:32 #11
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)
Avatar billede weaponx Nybegynder
31. marts 2004 - 15:02 #12
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?
31. marts 2004 - 15:03 #13
ja tak, meget gerne :o)
Avatar billede Ny bruger Nybegynder

Din 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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester