08. marts 2007 - 14:55Der er
13 kommentarer og 1 løsning
Opret ny mail for personer i en valgt gruppe
Hej Eksperter
Jeg har et adressekartotek med en masse personer disse personer er registreret i tabellen tblpersoner
Jeg har så en masse grupper som er registreret i tabellen tblgrupper. Via en mange til mange tabel tblgruppedata kan jeg således styre hvilke personer der er medlem af en gruppe eller omvendt via korrekte relationer,alt dette virker perfekt.
Jeg har så oprettet en form frmredigergruppe, på denne form har jeg feltet GruppeID som er nøglen. Jeg viser så alle de personer der er medlem af den valgte gruppe i en subform, dette virker også perfekt.
jeg har så oprettet en forspørgsel hvor jeg joiner alle relevante felter fra tabellerne incl, feltet GruppeID, altså en mange til mange forspørgsel, dette virker også perfekt, men nu kommer det...
Jeg ville gerne kunne oprette en ny email ved klik på min knap cmdopretmail, Til-feltet i den nye mail skal så udfyldes med emialadresser på alle de personer i min forspørgsel hvor GruppeID feltet svare til GruppeID feltet på min form frmredigergruppe.
Mailfeltet er navngivet Personmail, jeg har i mange til mange forspørgslen under dette felt indsat kriteriet Is Not Null, på denne måde er det kun personer med en mailadresse der trækkes på.
Er dette muligt via noget kode, det skulle helst køre med brugeres standadmail-program feks. via DoCmd.SendObjekt metoden, men det er ikke et must
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Hej mugs, tak for indlægget, jeg har allerede nærstuderet din artikel vedrørende mailhåndtering, men jeg vil da gerne se dit eks. min mailadresse er anj@bryggemail.dk
Jeg har leget lidt med nedenstående, det virker, dog med den hage at værdien af GruppeID feltet også overføres feks. anj@bryggemail.dk1, og det går jo ikke, men omvendt skal GruppeID feltet jo være i forspørgslen for at kunne spørge på det:
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
hej terry, ja så enkelt var det, jeg kunne ikke se skoven for de berønte træer, denne select virker: strQuery = "SELECT [Personmail]From Qopretgruppemail WHERE [GruppeID]=" & Me!GruppeID
så terry, gider du poste et et svar så er der point til dig, og tak for hjælpen :o)
mht. til dit første forslag, det lyder smart, men kærver dette at gruppen feks. er oprettet i outlook først, eller et andet mailprogram feks. outlook express ?
Private Sub cmdopretemails_Click() 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 [Personmail]From Qopretgruppemail WHERE [GruppeID]=" &
Yes the group obviously needs adding to Outlook but if you rusing Access to make groups then you could also add the group via Access, and at the same time you add a user to a group add the users to the group in Outlook.
But keeping it all in Access is also OK.
No need for many points, you actually were well on the way to finding the solution yourself.
hej terry, skidt med det, her er dine point, hvorfor jeg ikke lige så lyset mht. min select aner jeg ikke :o)
Det med outlook integration lyder smart, men jeg er ikke sikker på at jeg evner det sådan rent programmeringsmæssigt, men det ville da være spændende at se et eks.
Og her med fejlhåndtering, hvis der mod forventning ikke er registreret nogen mailadresser på personerne i den valgte gruppe (rst.RecordCount)
Private Sub cmdopretemails_Click() 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 [Personmail]From Qopretgruppemail WHERE [GruppeID]=" & Me!GruppeID rst.Open strQuery, cnn, adOpenStatic, adLockReadOnly, adCmdText 'Fejlhåndtering' If rst.RecordCount = 0 Then MsgBox "Der er ikke registreret emailadresser for personerne i denne gruppe, handlingen annulleres", vbExclamation, "Mailadresse mangler" Else varOutput = rst.GetString(, , , ";") strEmail = "mailto:" & varOutput Application.FollowHyperlink strEmail End If rst.Close cnn.Close
Here is a very simple example of creating a distribution list and then members. It would be a good idea to check if the list already exists, but you could just assume that if you have created a list in Access then it exists in Outlook. But obviously if the application is to be used on a number of PCs then you must check that it exists and also that each users exists too.
'Creates a distribution list Function CreateDistributionList(cDistributionList As String) As Boolean Dim oApp As Outlook.Application Dim oDlist As Outlook.DistListItem
On Error GoTo Proc_Err
Set oApp = CreateObject("Outlook.Application") Set oDlist = oApp.CreateItem(olDistributionListItem)
'Add an email address to a distribution list Function AddNewMemeber2DistList(cDistributionList As String, email As String) As Boolean Dim oApp As Outlook.Application Dim objName As Outlook.NameSpace Dim oDlist As Outlook.DistListItem Dim objRcpnt As Outlook.Recipient
On Error GoTo Proc_Err
Set oApp = New Outlook.Application Set objName = oApp.GetNamespace("MAPI") Set oDlist = objName.GetDefaultFolder(olFolderContacts).Items(cDistributionList)
Set objRcpnt = oApp.Session.CreateRecipient(email) objRcpnt.Resolve oDlist.AddMember objRcpnt
hej terry, tusind tak for det fine eks. Jeg kan godt se det smart hvis man udelukkende anvender Outlook til at håndtere emails og grupper.
Jeg har testet dit eks. og det virker fint, også god weekend herfra :o)
Synes godt om
Ny brugerNybegynder
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.