Search  

   

Latest News  

Problemstellung:Wenn man Etiketten drucken will steht man oft vor einigen Problemen.1. Man möchte nur ein paar Etiketten drucken und beim nächsten Druck braucht man wieder   ein neues Blatt weil freie...
   

Latest Forumposts  

  • Keine Beiträge vorhanden
   

Kommentare  

Tut mir leid Hella, ich kann Dir nicht folgen? 13.04.2017 - 14.04.2017 ergibt bei mir 1 13.04.2017 -...
Gast - Hella
Hallo, Berechne wie folgt, ob "zu früh" oder "zu spät" Rückmeldet. Früher sollte auch mit negativer ...
Gast - Hella
Hallo, mit negativen Werten meine ich z.B. -5 Tage (ohne Wochenende) u.ä. Zur Zeit wird nur die 0 au...
Hallo Hella, wie negative Werte? Kannst Du es erläutern was Du machen willst? Gruß Tommy
Gast - Hella
Hallo, ich bräuchte auch negative Werte bei der Anzahl, wie kann man das realisieren? Liebe Grüße He...
   

Counter  

1115632
HeuteHeute117
GesternGestern1114
Diese WocheDiese Woche2363
Dieser MonatDieser Monat23844
GesamtGesamt1115632
Highest 07.12.2017 : 1250
US
UNITED STATES
US

This page uses the IP-to-Country Database provided by WebHosting.Info (http://www.webhosting.info), available from http://ip-to-country.webhosting.info

   

Download Statistik  

Diese Site enthält 187 Downloads in 30 Kategorien. Gesamtdownloads bisher: 234326
   
Free live stats and visitor counter for Joomla, Wordpress, Drupal, Magento and Prestashop
   

Login

   

User Online

Total: 81 Members: 0 Guests: 81
No members online
   

Beiträge

Erweiterung für die Userverwaltung I und II

Bewertung:  / 0
SchwachSuper 
Details

Problemstellung:
Erweiterung für die Userverwaltung I und II:
Verwenden eines eigenen Mailsystems innerhalb einer Access Mehrbenutzer Anwendung

Die hier vorgestellte Lösung ist eine Erweiterung der beiden Bsp:
Userverwaltung I
Userverwaltung II
Es wurde die Frage aufgeworfen: Wie kann man innerhalb einer Access
Mehrbenutzer Anwendung ein System, ähnlich E-Mail,
aufbauen aber weder mittels E-Mail noch NetSend o.ä.?
Es soll nur innerhalb der Access-Anwendung funktionieren.
Eine Lösung möchte ich hier mal vorstellen.

Voraussetzungen:
Das Bsp ist unter A00, AXP, A03 lauffähig, unter A07 wurde es nicht getestet.

Das Setup installert die Dateien automatisch in das Verzeichnis
"C:\tk_Mailsystem"
Grund sind die Tabellenverknüpfungen des BE's im FE.
Auch kommt die "Crypter2.dll" wieder zum Einsatz, diese wird automatisch installiert und registriert.
Benutzer der "CrypterPW.dll" können diese auch hier für benutzen.
Der Unterschied ist nur das in der "Crypter2.dll"
noch das FileStorage-System enthalten ist.
Dieses Bsp baut auf die Userverwaltungen aus o.g. DB's auf.
Für andere Userverwaltungen steht es jedem frei dieses Bsp anzupassen oder umzuschreiben.

Funktionsweise:
Folgende Objekte werden benötigt: Tabellen im BE (Einbinden ins FE):
In den Userverwaltungen bereits vorhanden:
tbl_User: enthält die Daten der User
zusätzliche neue Tabelle:
tbl_Mail: enthält alle Daten der Mails, wie Absender, Empfänger, Mailtext usw.

Abfragen:
In den Userverwaltungen bereits vorhanden:
qry_Filter_logon: wird für das Startform, zur Anzeige des eingeloggten Users benötigt.
zusätzliche neue Abfragen:
qry_MailAll: wird für das Form benötigt zur Anzeige aller Mails des jeweiligen Users.
qry_MailLog: wird für das Form MailMsgBox benötigt zur Anzeige neuer Mails.
Formulare:
In den Userverwaltungen bereits vorhanden:
frm_User_anmelden: wird beim Start des Programms geladen zum Einloggen in die DB
frm_User_Passwort_Neu: zum Passwort ändern
frm_PW_Return: Hilfsform zum zurücksetzen das Passworts (wird nicht angezeigt)
frm_Userstamm: Anzeige und bearbeiten der User (nur für Admin’s)
frm_Start: nur zur Demonstration des Mailsystems
zusätzliche neue Forms:
frm_Mail: zum Schreiben neuer Mails
frmMailAll: Anzeige aller erhaltenen Mails, Löschen möglich
frmMailboxLog: ausgeblendetes Formular zum Prüfen auf neue Mails
frmMailMsgBox: Anzeige aller ungelesenen Mails
Module:
In den Userverwaltungen bereits vorhanden:
mod_Funktionen: enthält einige benötigte Funktionen.
Bei Verwendung in den Userverwaltungen ist nur folgender Code ist zusätzlich erforderlich,
da Modul schon vorhanden
'Im Modulkopf einfügen
Public intUserID As Integer
Public Function fct_SendVar()
  fct_SendVar = intUserID
End Function


So funktionierts:
Nach der Useranmeldung und der Anzeige des Startforms wird das Formular
"frmMailboxLog" ausgeblendet geladen.
Das Laden des Forms und die Zuweisung der UserID erfolgt im "Load-Ereignis" des Startforms.
Hinweis:
Im Startform müssen ggü. der orginalen Userverwaltungen noch 2 Felder eingefügt werden (Sichtbar=Nein)
1. Name: txt_User_Name Steuerelementinhalt: User_Name
2. Name: txt_User_ID Steuerelementinhalt: User_ID
Private Sub Form_Open(Cancel As Integer)
    intUserID = Me.txt_User_ID
    DoCmd.OpenForm "frmMailboxLog", acNormal, , , , acHidden
End Sub
 

Der Timer des Forms ist auf 60 Sek eingestellt. Das bedeutet aller 60 Sek fragt das Form ab
ob neue Nachrichten da sind.
Dieser Wert kann beliebig verändert werden, aber ein Verkleinerung wäre nicht zu empfehlen,
da hier die Systembelastung steigt.

Private Sub Form_Timer()
  Static MsgBoxDone As Boolean
  Dim strMsg As String
  Dim MailLog As Boolean
  Dim iCount As Integer
  Dim db As DAO.Database, rs As DAO.Recordset
  
  MailLog = False
  On Error Resume Next
  Set db = CurrentDb()
  Set rs = db.OpenRecordset("qry_MailLog")
  rs.MoveLast
  iCount = rs.RecordCount
  If iCount > 0 Then MailLog = True
  rs.Close
  db.Close
  On Error GoTo 0
  
  If MailLog = True Then
    If Not MsgBoxDone Then
      Beep
      DoCmd.OpenForm "frmMailMsgBox"
      MsgBoxDone = True
    End If
  End If
End Sub


Ist ein neues Mail da wird das Form "frmMailMsgBox" geöffnet und das oder die neuen Mails angezeigt.
Im sich öffnenden Fenster wird die Anzahl der vorhandenen Nachrichten angezeigt.
Mit den Navigations-Buttons klickt man sich durch die vorhandenen Nachrichten.
Wurde das Mail gelesen wird automatisch, durch das Anzeigen-Ereignis ein Flag gesetzt der
das Mail als gelesen kennzeichnet.
Sind mehrere Mails angekommen aber es werden nicht alle gelesen poppt das Fenster nach 60 Sek wieder auf,
da noch ungelesene Mails da sind.
Haben Mails den Flag "Gelesen" erhalten können diese im Form "
frmMailAll" angezeigt werden,
auch ein Löschen von Nachrichten ist hier möglich.


Im Startform ist eine Combobox enthalten in der alle aktiven User, auch offline, angezeigt werden.
Die Auswahl eines Users als Empfänger und das Schreiben neuer Mails kann auch aus einem
seperaten Form geschehen.
In diesem Fall muss aber das Startform immer im Hintergrund offen sein.
Nach der Auswahl eines Users kann über den Button "Neue Mail schreiben" eine neue Mail erfasst werden.
Mittels "Abbrechen"-Button kann der Vorgang abgebrochen werden. Mit "Mail senden" wird
das Mail in die DB geschrieben.
Ist der Empfänger online erhält nach 60 Sek die neue Mail ansonsten wenn er sich das nächste
Mal in der DB anmeldet. Auch hier nach dem ersten Zyklus von 60 Sek.

In der Bsp-DB sind für den User "Egon Aufsicht" 2 Mails und für den User "Willi Gast" ein Mail hinterlegt.
Erfolgt die Anmeldung mit einem von beiden erhaltet Ihr innerhalb von 60 Sek nach dem
Start die Mitteilung über neue Nachrichten.

Fazit:
Es ist sicher eine Lösung die noch erweiterbar ist. Der Eigeninitiative sind hier keine Grenzen gesetzt.

Dateien:
Erweiterung für die Userverwaltung I und II
Erweiterung für die Userverwaltung I und II:
Verwenden eines eigenen Mailsystems innerhalb einer Access Mehrbenutzer Anwendung
für A00-A03, A07 nicht getestet

Die Setup-Datei enthält eine Version ab A00

Datum 10.01.2008 Dateigröße 293.49 KB Download 1580

Einen Kommentar verfassen

Als Gast kommentieren

0 / 300 Zeichen Beschränkung
Dein Text sollte zwischen 10-300 Zeichen lang sein
Nutzungsbedingungen.
  • Keine Kommentare gefunden