Avatar billede mugs Novice
14. september 2008 - 13:58 Der er 9 kommentarer og
1 løsning

Send e-mail

Jeg er ved at lave en database til min søster, og har et problem med afsendelse af e-mail. Min søster benytter Vista styresystem og får fejlen:

Denne handling er ikke tilgængelig nu.

når hun prøver at sende en e-mail fra Access.

Funktionen fungerer upåklageligt hos mig (XP og Access 2000). Jeg benytter flg. kode til at overføre valgte adresser til et adressefelt:

Private Sub Kommandoknap0_Click()
Dim Itm As Variant
Dim txt As String
Dim VARa As Variant
If Me!Liste1.ItemsSelected.Count > 0 Then
For Each Itm In Me!Liste1.ItemsSelected
txt = txt & Me!Liste1.ItemData(Itm) & "; "
Next Itm
txt = Left(txt, Len(txt) - 2)
End If
Me!FLDemail = txt
VARa = txt
End Sub

Herefter startet OutLook med flg. kommando:

Private Sub Kommandoknap5_Click()
On Error GoTo Errorhandler
Dim VARa As String
VARa = Me.FLDemail
DoCmd.SendObject , "", "", VARa, "", "", , , True
Errorhandler:
MsgBox "Fejlnummer: " & Err.Number & vbNewLine & "Fejlbeskrivelse: " & Err.Description
End Sub

Hvor variablen VARa er formularens adressefelt.

Men så kommer fejlen og der opstår en runtimeerror 1004.

Vi har ligeledes (pr. telefon) prøvet at lave en simpel makro og afspillet den. Men med samme resultat.
Jeg er ikke sikker på, om fejlen ligger i Access, eller om det er en indstilling i mailprogrammet, der ikke tillader andre programmer at afsende e-mail.

Det er afgørende for databasens funktionalitet, at dette fungerer korrekt, så er der en venlig sjæl, der kan løse problemet på en sådan pragtfuld efterårssøndag med høj klar solskin der inviterer til alt andet end at rode med databaser.
Avatar billede -anders- Juniormester
14. september 2008 - 14:09 #1
Hej mugs

Måske er det vista der på en eller anden måde blokere for send object (er ikke sikker)

Jeg har længe brugt nedenstående kode til email (har prøvet at tilrette så det passer til dine felter. Det virker fint med access 2003 på både XP og vista

Kode:
Dim strEmail As String

Dim varOutput As String

varOutput = Me.FLDemail

strEmail = "mailto:" & varOutput

Application.FollowHyperlink strEmail

Hilsen Anders
Avatar billede mugs Novice
14. september 2008 - 15:45 #2
Hej Anders

Jeg har afprøvet din kode og ligeledes min søster.
Når jeg vælger nogle få adresser på min liste kører det upåklageligt - Vælger jeg flere eller alle på listen (58 adresser) opstår der en Runtime fejl (RunTime error 87)

med beskrivelsen "Der opstod en uventet fejl".

Har du et forslag?
Avatar billede -anders- Juniormester
14. september 2008 - 20:44 #3
Hej mugs

Undskyld den lange svartid, jeg måtte løbe, og er først lige kommet tilbage.

Jeg har aldrig selv været ude for den fejl du nævner. Jeg bruger ofte koden med flere 100 email-adresser uden fejl, så det lidt mystisk.

Dog udvælger jeg mine mailadresse via en SQL streng, og ikke via multiselect på en listbox, se nedenstående eks.

'Kode start:

Function OpretMail()

On Error GoTo errhandler

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim varOutput As Variant
Dim strQuery As String
Dim strEmail As String

Set cnn = CurrentProject.Connection

Set rst = New ADODB.Recordset

strQuery = "SELECT [Personemail]From qryemail09"

rst.Open strQuery, cnn, adOpenStatic, adLockReadOnly, adCmdText

If rst.RecordCount > 0 Then

varOutput = rst.GetString(, , , ";")

strEmail = "mailto:" & varOutput

Application.FollowHyperlink strEmail

rst.Close

cnn.Close

Else

MsgBox "Ingen af de valgte personer har en registreret e-mailadresse, handlingen annulleres", vbExclamation, "Opret e-mail"

End If

errhandler:

If Err.Number = 2501 Then Exit Function

End Function

'Kode slut

Om det gør en forskel at man udvælger via en liste med mutiselect ved jeg desværre ikke, men mystisk er det.

Du velkommen til at sende db til mig, så vil jeg da gerne kikke på den (du finder min mail-adresse ved at klikke på mit brugernavn)

Hilsen Anders
Avatar billede -anders- Juniormester
14. september 2008 - 20:51 #4
Det skal siges at udvælgelse af mail-adresser består af eks. fra makeiteasy.dk/flyt mellem listbokse. Jeg har en test-db hvor det hele er sat op, sig til hvis du vil have den :o)
Avatar billede mugs Novice
14. september 2008 - 21:01 #5
Hej Anders

Tak for din tilbagemelding. Jeg får ikke set på det iaften, men vil vende tilbage imorgen.
Jeg er helt på bar bund og forstår ikke fejlen der kommer når jeg vælger flere e-mailadresser.
Avatar billede -anders- Juniormester
14. september 2008 - 21:05 #6
Jeg forstår det heller ikke, men som sagt sig til hvis du vil se et eks. på en alternativ metode.
Avatar billede mugs Novice
14. september 2008 - 21:14 #7
Gerne tak:

mugs snabelting mail.dk

Men det er ikke overførslen af valgte adresser til Access adressefelt der volder problemer. Det er som om, at Outlook ikke kan håndtere en vis mængde adresser.
Avatar billede -anders- Juniormester
14. september 2008 - 21:28 #8
demobaser sendt i 2000 og 2003 format
Avatar billede mugs Novice
21. september 2008 - 05:56 #9
anders

Tak for dine filer. Det er ikke overførslen fra adresselisten til modtagerlisten der fejler. Disse 2 lister er begge lister i formularen. Men når adresselisten når et vist antal adresser og jeg vil overføre disse til OutLook, kommer fejlen.

Om fejlen ligger i Access eller OutLook ved jeg ikke. Jeg afsluttet spørgasmålet her, og lægger hovedet i blød sammen med søsteren.

Tak for din interesse.
Avatar billede -anders- Juniormester
21. september 2008 - 12:27 #10
hej mugs

Jeg er ked af at du ikke fik det til at fungere, jeg forstår godt at det er overførslen af adresse til outlook der er problemet.

Jeg anvender selv disse metoder i mine databaser, ofte med flere 100 mailadresser, og det har aldrig været et problem i outlook, hverken i outlook 2000 eller 2003.

Den eneste logiske forklaring må ligge i Windows vista. Men forsat held og lykke med projektet.

Hilsen Anders
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