E-mail versturen

Status
Niet open voor verdere reacties.

Wobb71

Nieuwe gebruiker
Lid geworden
23 nov 2010
Berichten
4
Goedemiddag Forum gebruikers,

Voor een tijdje terug heb ik een geweldige code gekregen om een mail te versturen naar diverse mensen. nu wil ik deze code daadwerkelijk gaan toepassen en loop ik tegen een aantal problemen op.
ik heb een query gemaakt die de gegevens toevoegt aan een tabel. In die tabel komt 1,2,3 te staan. via een andere tabel laat ik dat veranderen in E-mail adressen. in het rapport wat ik heb gemaakt zijn de mail adressen ook gewoon zichtbaar. echter als ik op de knop voor mailen druk dan veranderen de mail adressen in de waarde 1;2;3.

Hoe kan ik voorkomen dat er 1;2;3 komt te staan maar gewoon mail adressen?
onderstaand de code
Met vriendelijke groet,

Jac

Code:
Private Sub Knop75_Click()


On Error GoTo Err_OF

Dim sEmail As String
Dim iAantal As Integer, i As Integer
sEmail = ""

With CurrentDb.OpenRecordset("gastbewerken query")
    If Not .RecordCount = 0 Then
        .MoveLast
        .MoveFirst
        iAantal = .RecordCount
        Do While Not .EOF
            sEmail = sEmail & .Fields("mail").Value
            If i < iAantal Then sEmail = sEmail & ";"
            i = i + 1
            .MoveNext
        Loop
    End If
End With
    DoCmd.SendObject acReport, "routeoverzicht", "PDFFormat(*.pdf)", sEmail, "", "", "Naam", "hopende u zo voldoende te hebbeb geinformeerd"
    
Exit_OF:
     Exit Sub
     
Err_OF:
   MsgBox "De E-mail is niet verstuurd. U dient de opdracht nog een keer uit te voeren", , "E-Mail niet verzonden"
   
  
  Resume Exit_OF

   

    


End Sub
 
Laatst bewerkt:
Wil je de code nog opmaken met de CODE knop? Dat maakt 'm een stuk leesbaarder.
 
Ik hoop dat de code zo beter leesbaar is. Bedankt voor de tip
 
Dat scheelt ;)

Nu naar het probleem, wat er eigenlijk niet is. Want het probleem ligt niet aan de code, die is wel goed. Je geeft zelf eigenlijk al aan waar je het moet zoeken:
In die tabel komt 1,2,3 te staan. via een andere tabel laat ik dat veranderen in E-mail adressen. in het rapport wat ik heb gemaakt zijn de mail adressen ook gewoon zichtbaar. echter als ik op de knop voor mailen druk dan veranderen de mail adressen in de waarde 1;2;3.

Blijkbaar zet je in de query die je gebruikt voor je email verzending een email veld dat niet de juiste gegevens bevat (namelijk de email adressen) maar een getalveld dat (vermoed ik) verwijst naar het persoonsID van het record waaruit je het email adres leest. Dat je op het rapport de email adressen wel ziet, komt dan vermoed ik doordat je op het rapport een keuzelijst gebruikt, en niet een tekstvak. Dan zou je namelijk wel degelijk weer de getallen zien.
Misschien gebruik je ook opzoeklijsten in de tabel/query die je gebruikt voor rapport of formulier. Persoonlijk raad ik dat af, omdat je dan in je tabel andere waarden ziet (bijvoorbeeld email adressen) dan wat je opslaat (persoonsID's). En dat is behoorlijk verwarrend, zoals je nu merkt.
Waarom je de brontabel voor je rapport of email verzending aanpast met een aparte query is mij overigens niet duidelijk; je kunt alle gegevens gemakkelijk in één query krijgen en die gebruiken voor je rapport en je verzending. Als je de tabel kunt maken, kun je die query ook gebruiken als selectiequery. Dus dat zou ik dan eerder doen. En dan staat het email adres er uiteraard gewoon tussen.
 
Hallo OctaFish,

Was het inderdaad maar zo makkelijk, dan zou het leven er een stuk leuker uitzien, maar ook wel een beetje saai.
Het probleem is dat ik aan het proberen ben een soort boekingsprogramma te schrijven, waarbij de gasten dagelijks van het ene naar het andere hotel gaan. de routes staan vast, echter is het wel zo dat voor de individuele wensen van de gasten ze soms wel een dag langer in hotel b willen zitten. als ik dan vanuit vaste waarden zou werken en ik een verandering door zou voeren dan zouden alle tot op heden gemaakte boekingen veranderen en de in de toekomst te maken boekingen ook.

Ik heb een voorbeeld bijgevoegd. ik hoop dat je daaraan kunt zien waarom ik het zo moet doen, en hopen dat jij een oplossing weet.
Met vriendelijke groet,

Jac


Bekijk bijlage voorbeeld.rar
 
Je hebt mijn eerdere opmerkingen vermoed ik niet helemaal goed begrepen; je hebt inderdaad zoals ik al vermoedde keuzelijsten gebruikt i.p.v. tekstvakken. En dan krijg je exact dit soort problemen. In een tabel wil ik altijd zien wat ik opsla. Is dat een getal, dan wil ik een getal zien, en dus niet een tekstveld uit een andere tabel. Ik ben al een tijdje met een kruistocht bezig om mensen daar op te wijzen, dus misschien scoor ik hier weer een medestander... Want zou je het op mijn manier doen, dan verdwijnen je problemen als sneeuw voor de zon :D
Dus ja, het is inderdaad zo makkelijk, en ondanks dat is het leven nog steeds niet saai... Dus: je hebt geen probleem, als je de keuzelijsten in je tabellen (in dit geval [gastbewerken]) omzet naar tekstvelden (ook op je rapport dus) en in de query [gastbewerken Query] twee kopieën van de tabel [Hotel] toevoegt en koppelt aan de tabel [Gastbewerken]. De essentie van die query is dan dit:

Code:
SELECT gastbewerken.Code, Vertrekhotel.[Naam hotel] AS [Vertrek hotel], Aankomsthotel.[Naam hotel] AS [Aankomst hotel], Vertrekhotel.[E-mail hotel] AS Mail
FROM Hotel AS Aankomsthotel INNER JOIN (Hotel AS Vertrekhotel INNER JOIN gastbewerken ON Vertrekhotel.IDhotel = gastbewerken.[Vertrek hotel]) ON Aankomsthotel.IDhotel = gastbewerken.[aankomst hotel];

Dit is de code van je query [Gastbewerken query] zonder de voor je probleem niet-belangrijke velden. Die kun je zelf wel weer toevoegen. Dus nogmaals: haal alle overtollige keuzelijsten weg uit je tabellen en rapporten, en vervang ze door tekstvakken. In de queries die je op die tabellen baseert voeg je de brontabel toe, en uit die brontabellen haal je dan je tekstvelden. Misschien wordt het dan een stuk saaier, maar Access is van zichzelf al moeilijk genoeg; het lijkt mij niet nodig om daar zelf overbodige problemen aan toe te voegen! Tenzij je natuurlijk zo goed bent als ik, en je anders helemaal niks te doen hebt op een avond ;)
 
OctaFish,

ik heb de door jou gegeven code in een Definutiequeriy gezet en de rest van mijn gegevens er achter gezet. doorgronden doe ik het nog niet maar dat gaat zekers komen nu.
In mijn rapport kan ik dan ook zonder problemen de volledige adressen van de door mij geselecteerde hotels neerzetten ipv heel erg moeilijk te doen in een rapport.
Ik wil je wederom bedanken voor jou inzet. helemaal te gek.

Bij deze sluit ik dan ook weer een door OctoFish opgelost probleem.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan