DoCmd.Sendobject probleem

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
Hallo beste mensen,

Ik heb een probleempje, Vanuit mijn formulier gebruik ik middels een knop een functie om een email (met bijlage) te sturen. Dit middels de DoCmd.Sendobject code.

Op de twee computers op onze hoofdlokatie werkt dit probleemloos echter op onze andere lokatie niet. De foutmelding die we dan krijgen is "Dit document is reeds opgemaakt voor (vervolgens volgt de lokatie van onze netwerkprinter)"
Vreemd want ik wil niets printen, alleen versturen. Er zit zover ik kan zien ook niets in de code waarmee ik Access de opdracht geef iets te printen.

Kan iemand misschien zien aan de code waarom dit gebeurd ?

Code:
Private Sub Knop183_Click()
On Error GoTo Err_Knop183_Click
 With CurrentDb.OpenRecordset("SELECT * FROM TBLwaarschuwingen")
        .AddNew
        ![Datum2] = Date
        !Kenteken2 = Me.FilterKenteken
        !reden = Me.[Keuzelijst met invoervak10]
        !PNummer = Me.PNummer
        .Update
        .Close
    End With

    Dim stDocName As String
    Dim strMessage As String
    strMessage = "blablabla," _
    & vbCrLf & "" & vbCrLf & "Blablablablablabla." _
    & vbCrLf & "Selecteer het bestand met de rechter muisknop en kies voor 'Openen' om de inhoud te lezen." _
    & vbCrLf & "blablablablablablablabla." _
    & vbCrLf & "" & vbCrLf & "blablablabla," _
    & vbCrLf & "" & vbCrLf & "blabla, en nog eens bla"
    
    stDocName = "Waarschuwing"
    DoCmd.SendObject acReport, stDocName, acFormatSNP, "", , , _
        "parkeer waarschuwing", strMessage, True
  
    FilterKenteken = ""
    [Keuzelijst met invoervak10] = ""
    
    Me.Requery
    
Exit_Knop183_Click:
    Exit Sub
 
Err_Knop183_Click:
    MsgBox Err.Description
    Resume Exit_Knop183_Click
    DoCmd.GoToRecord , , acSave
    DoCmd.GoToRecord , , acLast
    
    End Sub

Alvast bedankt voor het meedenken peoples :)

Groet : Jeroen
 
Kan het zijn dat het probleem niet in de code zit, maar in het rapport.
Dat in het rapport een printer benoemd staat die niet op alle werkstations herkend wordt.

Frank.
 
Dat lijkt mij ook; een rapport is altijd opgemaakt voor een bepaalde printer. Die moet, als je het rapport op verschillende computers gebruikt, dan wel aanwezig zijn. Je hoeft die printer uiteraard niet te gebruiken, maar op de verschillende werkplekken moet het rapport wel zijn opgeslagen met een beschikbare printer. Wil je het generaliseren, dan kun je nog een code toevoegen die de eerste printer van de lokale pc als standaard koppelt aan het rapport, dan heb je altijd een correcte printer aan het rapport hangen. Of een pdf printer kan natuurlijk ook.
 
Klinkt op zich logisch. Maar al zou ik een lokale printer toe kunnen wijzen aan het rapport, zou het dialoogvenster van Outlook (in dit geval) dan wel boven komen ?

Aan het rapport hangt geen code verder.

Bedankt voor jullie reacties allebij

groeten : Jeroen
 
Zoals ik al zei, een rapport is doorgaans aan een printer gekoppeld. Dat heeft verder voor een email zending geen enkele consequentie. Een rapport exporteren doe je in een bepaald export format, zoals Snapshot (door jou gekozen) of PDF, in de nieuwere versies. Wat ik zelf nog wel eens doe, is eerst de actieve (default) printer afvangen in een variabele, vervolgens de eerste printer van de betreffende pc aan het rapport koppelen, vervolgens de mail verzenden, en daarna de oorspronkelijke printer weer terugzetten. Zo merkt de gebruiker eigenlijk niks van de hele procedure.
 
Ok ik denk dat ik snap wat de bedoeling is, alleen heb ik geen idee hoe het uit te voeren.
Heb je misschien ergens een voorbeeldje liggen ? Anders ga ik wel even googlen, is ook geen probleem. Echt prioriteit heeft het niet ;)
 
Je kunt hier eens mee spelen...

Code:
Private Sub Report_Open(Cancel As Integer)
Dim DefaultPrinter As Printer

Set DefaultPrinter = Application.Printer
MsgBox DefaultPrinter.DeviceName

Set Application.Printer = Application.Printers(0)
MsgBox Application.Printer.DeviceName

Set Application.Printer = DefaultPrinter

MsgBox Application.Printer.DeviceName
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan