Avatar billede rasmus1234 Nybegynder
23. juni 2008 - 14:51 Der er 11 kommentarer og
1 løsning

Email fil - med afgrænset indhold

Jeg har et tabel med varelinier, hvor et felt (="Ansvarlig") skal bruges til at afgrænse, hvad der skal udsendes pr. mail.

Jeg har et tabel med følgende:
- ansvarlig [Kontakter.Ansvarlig]
- Email [Kontakter.Email]


Hvordan kan jeg udsende en mail på baggrund af dette, således at alle varelinier med ansvarlig = "M887Jesper" bliver sendt til [Kontakter.Email] som et excel-ark?
Avatar billede rasmus1234 Nybegynder
24. juni 2008 - 11:44 #1
æv, ingen svar
Avatar billede mugs Novice
25. juni 2008 - 13:27 #2
Lav en forespørgsel og indsæt et kroteroe under feltet "Ansvarlig". Derefter eksporterer du den til Excel med kommandoen TransferSpreadsheet og send så arket fra Excel.
Avatar billede rasmus1234 Nybegynder
25. juni 2008 - 20:20 #3
jeg vil gerne lave en Access-program, hvor jeg kun laver én forespørgsel, således at jeg ikke får én forespørgsel pr. ansvarlig...dette kan jeg godt få til at virke, men på lidt længere sigt kommer der udskiftning i medarbejderne, og så er det pludseligt dem, som skal ændre i forespørgslerne samt den makro, der laver hele kørslen.

Derfor et kartotek med "Kontakter" mit forslag til at sørge for dette - dermed skal brugerne kun ændre/tilføje ansvarlig+email.

Håber jeg har gjort mig forståelig
Avatar billede rasmus1234 Nybegynder
25. juni 2008 - 20:26 #4
Jeg forstiller mig noget lignende dette, kommentarer som ***tralala***

Public Function SendMessage(adr As String, AttachmentPath As String)
  On Error Resume Next
  Dim objOutlook As Outlook.Application
  Dim objOutlookMsg As Outlook.MailItem
  Dim objOutlookRecip As Outlook.Recipient
  Dim objOutlookAttach As Outlook.Attachment

  ' Create the Outlook session.
  Set objOutlook = CreateObject("Outlook.Application")

  ' Create the message.
  Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

  With objOutlookMsg
  ' Add the To recipient(s) to the message.
    Set objOutlookRecip = .Recipients.Add(adr)
   
    objOutlookRecip.Type = olTo
     
      ' Set the Subject, Body, and Importance of the message.
      .Subject = "Subject"
      .Body = "Body text"
      .Importance = olImportanceHigh
      'High importance

      ' Add attachments to the message.
***skal være output af forespørgslen, hvor data i tabellen [kontakter] benyttes til afgrænsning og som modtager/email. ***
      If Not IsMissing(AttachmentPath) Then
        Set objOutlookAttach = .Attachments.Add(AttachmentPath)
      End If

      .Send

  End With
  Set objOutlookMsg = Nothing
  Set objOutlook = Nothing
End Function
Avatar billede mugs Novice
25. juni 2008 - 20:34 #5
Det forstår jeg ikke rigtig - Kan du prøve at definere det problem med andre ord.
Avatar billede rasmus1234 Nybegynder
25. juni 2008 - 20:46 #6
Jeg har en tabel med bl.a. varenumre, priser og Ansvarlig. Tabellen kan derfor opdeles ud fra hvem der er ansvarlig. De ansvarlige skal modtage E-mail med deres afgrænsede indhold fra tabellen.

Dvs. at den ansvarlige, som hedder EXP007 skal have en Excel-fil med alle de varer, hvor EXP007 findes som Ansvarlig. (altså som af lave en afgrænsning i en forespørgsel). Jeg har et anden tabel, som danner grundlag for afgrænsningen og mailadressen:
- ansvarlig [Kontakter.Ansvarlig]
- Email [Kontakter.Email]

Så hvis der laves én forespørgsel, hvor Ansvarlige afgrænses med [Kontakter.Ansvarlig] og outputtet efterfølgende sendes pr. mail som en Excel-fil til [Kontakter.Email].
Avatar billede rasmus1234 Nybegynder
25. juni 2008 - 20:48 #7
p.s. skal nok oprette et ekstra point til den, som kan hjælpe mig...da det er en af de mere krævende i min tid på exp, så rammer vi 100 point.
Avatar billede mugs Novice
25. juni 2008 - 21:00 #8
"Jeg har et anden tabel, som danner grundlag for afgrænsningen"

Hvorfor bruger du en tabel som afgrænsning? I din forespørgsel kan du indtaste dette som et kriterie i feltet ansvarlig:

[Indtast ansvarlig]

Så bliver du promptet for en indtastning hver gang forespørgslen køres.
Avatar billede rasmus1234 Nybegynder
25. juni 2008 - 21:10 #9
Det er fordi der er ca. 10 ansvarlige, som alle skal have en Excel-fil HVER gang. Kan godt se, at [Indtast ansvarlig] havde været smart, hvis brugerne SELV skulle trække deres varer...men så bliver det aldrig gjort.  Så jeg tænker, at hvis jeg bare sørger for at vedligeholde kartoteket med "Kontakter"...så burde det jo kunne virke...
Avatar billede mugs Novice
25. juni 2008 - 21:30 #10
Følgende kode er hentet fra en anden db. Den sender til hver enkelt modtager i en fortløbende formular med de poster hvor modtageren er ansvarlig. Formulasren hedder FRMemail. Feltet med emailadresse hedder FLDemail og rapporten der sendes hedder RPTemail. Prøv at eksoerimentere lidt med den:


Private Sub Kommandoknap4_Click()
Dim VARa As String
Dim VARb As String
DoCmd.GoToRecord acForm, "FRMemail", acFirst
VARb = InputBox("Indtast dato:", "Ansvarlig.")
Do Until Me.NewRecord = True
VARa = Me!FLDemail
DoCmd.SendObject acReport, "RPTemail", "SnapshotFormat(*.snp)", VARa, "", "", "Ansvarlig.", "Vedhæftet liste med opgaver du er ansvarlig for" & VARb & vbNewLine & vbNewLine & vbNewLine & "bla bla" & vbNewLine & vbNewLine & vbNewLine & "Mvh / anderrs And", False, ""
DoCmd.GoToRecord acForm, "FRMemail", acNext, 1
Loop
MsgBox "Udført."
End Sub
Avatar billede rasmus1234 Nybegynder
26. juni 2008 - 08:23 #11
jeg er desværre ikke for god til koder, så jeg kan ikke helt gennemskue det...men jeg har forståelsen for det.  Kan det passe, at der benyttes en formular? hmmm...
Avatar billede mugs Novice
26. juni 2008 - 08:49 #12
Ja - Der bruges en formular.
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