Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Access automatisch beenden (mit Sound)
zurück: Checkboxen in einer Tabelle speichern und wieder ausgeben weiter: Sicherheit Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Willi Wipp
Moderator


Verfasst am:
08. Aug 2006, 16:21
Rufname:
Wohnort: Raum Wiesbaden

Access automatisch beenden (mit Sound) - Access automatisch beenden (mit Sound)

Nach oben
       

Hi Folks,

hier ein weiters schoenes Beispiel (AccessQuitTimerMitSound.zip) von derArb
derArb hat folgendes geschrieben:
Hallo,

wie wärs mit folgender Version, die zwar ähnlich aufgebaut ist, aber
auch mit sound funtzt

In gebundenem Formular frmAutoLogOff folgendes erstellen
Textfeld: 'Timerstart'
Textfeld: 'Downcount'
Kontrollkästchen: 'LoggoffFlag'
Bezeichnungsfeld: 'bezTimerEinAus'

In Tabelle AutoLogOff folgende Datenfelder erstellen
Datenfeld: 'LoggoffFlag'
Feldtyp: 'JA/NEIN'
Datenfeld: 'Timerstart'
Feldtyp: 'Zahl'
Datenfeld: 'Downcount'
Feldtyp: 'Zahl'

Tabelle AutoLogOff mit Formular frmAutoLogOff verknüpfen
Textfeld 'Timerstart' mit Datenfeld 'Timerstart' verknüpfen
Textfeld 'Downcount' mit Datenfeld 'Downcount' verknüpfen Textfeld 'LoggoffFlag' mit Datenfeld 'LoggoffFlag' verknüpfen

In ungebundenem Formular frmAutoLogOffMsgBox folgendes erstellen
Textfeld 'Text7'
Button 'ButtonAbbrechen'

Modul modAufruf erstellen
Modul modSound erstellen
Makro autoexec erstellen

nun die codes

für Formular frmAutoLogOff
Code:
Option Compare Database
Option Explicit

Private Sub Form_Load()
    If (DLookup("LoggoffFlag", "AutoLogOff")) = -1 Then
        Me!bezTimerEinAus.Caption = "Timer ausschalten"
    End If
    If (DLookup("LoggoffFlag", "AutoLogOff")) = 0 Then
        Me!bezTimerEinAus.Caption = "Timer einschalten"
    End If
    Me.TimerInterval = Me!Timerstart
    'Hier wird der Timerstart Anfangswert aus der Tabelle geholt
    'und eingestellt.
End Sub

Private Sub Form_Timer()
    If (DLookup("LoggoffFlag", "AutoLogOff")) = -1 Then
        DoCmd.OpenForm "frmAutoLogOffMsgBox"
    End If
    'Hier wird in der Tabelle nachgeschaut, ob der Timer EIN oder AUS ist
End Sub

Private Sub LoggoffFlag_AfterUpdate()
    DoCmd.Close
    DoCmd.OpenForm "frmAutoLogoff"
    'Formular wird aktualisiert, um die neuen Daten zu refreshen und
    'dem Timer zu übergeben.
End Sub
für Formular frmAutoLogOffMsgBox
Code:
Option Compare Database
Option Explicit

Private Const SND_SYNC = 0
Private Const SND_ASYNC = 1
Private Const SND_NODEFAULT = 2
Private Const SND_LOOP = 8
Private Const SND_NOSTOP = 16
'Beispiele verschiedener Abspielmöglichkeiten
'    sndPlaySound aktVerz() & "\sound1.wav", SND_SYNC
'    sndPlaySound aktVerz() & "\sound2.wav", SND_ASYNC + SND_LOOP
'    sndPlaySound aktVerz() & "\sound3.wav", SND_ASYNC
'    sndPlaySound 0&, 0


Private Sub ButtonAbbrechen_Click()
    On Error Resume Next
    sndPlaySound aktVerz() & "\xtralife.wav", SND_SYNC
    DoCmd.Close acForm, Me.Name, acSavePrompt
    'Mit Abbrechen wird Das Schliessen von Access verhindert
    'und der Zähler im Formular "frmAutoLogOff" neu hochgezählt.
End Sub

Private Sub Form_Load()
    sndPlaySound aktVerz() & "\wb.wav", SND_SYNC
    'die Soundfunktionen sind im MODUL 'Sound'
    'SND_ASYNC + SND_LOOP sind andere Abspielvariationen des sounds
    Me!Text7 = DLookup("Downcount", "AutoLogOff")
    Me!Message.Caption = "Diese Routine erscheint alle " & _
                         DLookup("Timerstart", "AutoLogOff") & _
                         " Zeit Einheiten"
    'Hier wird der Downcounter Anfangswert aus der Tabelle geholt
    'und eingestellt.
End Sub

Private Sub Form_Timer()
    Me!Text7 = Me!Text7 - 1
    sndPlaySound aktVerz() & "\dripwat03.wav", SND_SYNC
    'Beep 'spielt einfachen beep
    If Me!Text7 = 0 Then DoCmd.Quit
    If DLookup("LoggoffFlag", "AutoLogOff") = 0 Then
        DoCmd.Close
    End If
    'Hier zählt der Downcounter und wenn er 0 erreicht hat,
    'wird Access geschlossen.
End Sub
für MODUL modAufruf
Code:
Option Compare Database
Option Explicit

Function a()
    DoCmd.OpenForm "frmAutoLogOff", , , , , acNormal
    'wenn alles eingestellt ist, dann 'acNormal' auf 'acHidden' umschreiben
    'und neu starten.
End Function
für Modul modSound
Code:
Option Compare Database
Option Explicit

Public Declare Function sndPlaySound Lib "winmm.dll" Alias _
    "sndPlaySoundA" (ByVal lpszSoundName As Any, _
                     ByVal uFlags As Long) As Long

Public Declare Function waveOutGetNumDevs Lib "winmm.dll" () As Long

Function aktVerz() As String   ' bestimmt Datenbank-Verzeichnis
    aktVerz = Application.CurrentProject.Path
End Function

Function Soundkarte() As Boolean
    Soundkarte = (waveOutGetNumDevs() > 0)
End Function

Sub Test()
    If Soundkarte Then
        MsgBox "Soundkarte vorhanden"
      Else
        MsgBox "Leider keine Soundkarte ..."
        End
    End If
End Sub
für Makro autoexec
Makro autoexec im Entwurfsmodus erstellen
1. bei Aktion 'AusführenCode' wählen
2. bei Funktionsname (in Aktionsargumente) eingeben:
Code:
=a()
Die Sounds müssen Sie mit eigenen Sounds ersetzen.
Die Sounds müssen im selben Verzeichnis wie die Datenbank sein.

Zusätzliche Bezeichnungsfelder in den Formularen sind nicht
dokumentiert.

Das Formular frmAutoLogOff ist anfangs im Module modAufruf auf
...acNormal gestellt, um den Timer einstellen zu können.
Bei Umstellung auf...acHidden startet die gesamte Prozedur verborgen und agiert aus dem Verborgenen heraus.

Das Ganze gibts als Wunsch auch als fertige *.mdb(Access2000).
einfach eine email schicken.
Vielleicht auch demnächst unter Tipps und Tricks erhältlich.

mfg
DerArb

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
MrDanny
Neuling


Verfasst am:
13. Aug 2006, 21:38
Rufname:

Verteilte Frontends schließen - Verteilte Frontends schließen

Nach oben
       

Hallo Zusammen,

ich baue meine Datenbanken Grundsätzlich nach dem Front- und Backend Prinzip auf. Dabei habe ich momentan das Problem das ich für bestimmte Updates mit einer Oracle Datenbank alle offenen Sessions auf die Backenddatenbank unterbrechen muss. Dieses Problem haben, wie ich erfahren habe, viele andere Access Kollegen auch und lösen es oft mit dem Auslesen der ltb Datei mit anschliessender Mitteilung an die betreffenden Personen. Durch einen Tipp eines sehr guten Freundes konnte ich eine sehr einfache Lösung für kleinere Datenbanken finden die ich hier Vorstellen wollte.

Zunächst habe ich in der Backenddatenbank eine Konfig Tabelle eingeschoben die entsprechende Property Werte enthält (True oder False). In der Frontend DB lade ich mit der Datenbank ein unsichtbares Formular das über die Timer Funktion alle 5 minuten den Status "DB_Close" in der Konfig Tabelle abfrägt. Wenn dieser Wert auf True gesetz ist, wird die Anwendung über den Befehl DoCMD.Quit "HART" geschlossen. Dieses Vorgehen geht sehr gut und ist schnell und einfach umzusetzen. Zusätzlich kann man eine Schleife einbauen die eine Warnmeldung an die User ausgibt falls in der BE DB das KZ gesetzt worden ist. Erweitert kann es natürlich mit einer DB Sperrung werden.

Anschliessend noch ein Beispiel Schnipsel.
Code:
    'Tabelle öffnen
    Dim rs1, rs2 As DAO.Recordset
    Dim SQL1, SQL2 As String
   
    'Selection der Kennzeichen aus der Konfig Datenbank
    SQL1 = "SELECT Value FROM tbl_Konfig WHERE ID=1;"
    SQL2 = "SELECT Value FROM tbl_Konfig WHERE ID=3;"
    'Recordset füllen mit SQL Abfrage
    Set rs1 = CurrentDb.OpenRecordset(SQL1)
    Set rs2 = CurrentDb.OpenRecordset(SQL2)
    'Auslesen der Kennzeichen
    DBClKz = rs1(0)
    MessKz = rs3(0)
    'Prüfen ob Message Kennzeichen gesetzt worden ist
    'Erst wenn das KZ in der Konfig Tabelle gesetzt ist
    'werden die Anwendungen geschlossen
    If DBClKz = True And MessKz = True Then
        DoCmd.Quit
      ElseIf DBClKz = True And MessKz = False Then
       'Information an den User
        MsgBox "Die Datenbank wird aufgrund einer Aktualisierung für " & _
               "mehrere Minuten geschlossen in < 5 Minuten"
        'Setzen des Message Kennzeichens
        rs2.Edit
        rs2(0) = True
        rs2.Update
    End If
Hoffe das darf man hier Posten... und das es so gebraucht werden kann. Optimierung sind natürlich immer erwünscht.

Grüße
Willi Wipp
Moderator


Verfasst am:
31. Aug 2006, 10:23
Rufname:
Wohnort: Raum Wiesbaden


Re: Access automatisch beenden (mit Sound) - Re: Access automatisch beenden (mit Sound)

Nach oben
       

Hi Folks,

Nachfragen zum Thema bitte hier Access automatisch beenden (mit Sound) {Nachgefragt} stellen.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: PLZ automatisch einfügen? 1 donnie 1389 25. Apr 2007, 11:02
nakoda PLZ automatisch einfügen?
Keine neuen Beiträge Access Tabellen & Abfragen: Formular automatisch ausfüllen 19 Saranger 4699 22. März 2007, 23:02
Thomas2007 Formular automatisch ausfüllen
Keine neuen Beiträge Access Tabellen & Abfragen: IDENT automatisch vergeben lassen 2 ? 784 31. Aug 2006, 14:23
Gast IDENT automatisch vergeben lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Neue Tabellen aus anderem Tabellen erstellen automatisch 13 Elton#62 1002 28. Aug 2006, 13:01
Nouba Neue Tabellen aus anderem Tabellen erstellen automatisch
Keine neuen Beiträge Access Tabellen & Abfragen: Datenbank aktualisieren und Datensatz automatisch ersetzen 0 HappyDC 4558 07. Jul 2006, 13:02
HappyDC Datenbank aktualisieren und Datensatz automatisch ersetzen
Keine neuen Beiträge Access Tabellen & Abfragen: Spalten automatisch erstellen lassen 1 Premium 899 04. Jul 2006, 19:21
rita2008 Spalten automatisch erstellen lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Problem mit Abfrage 4 Maximiliane 675 03. Apr 2006, 10:09
Maximiliane Problem mit Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage automatisch anpassen [Ac 2002] 1 blablub 611 15. März 2006, 11:26
rita2008 Abfrage automatisch anpassen [Ac 2002]
Keine neuen Beiträge Access Tabellen & Abfragen: Datum automatisch einfügen 5 UPPsycho 898 09. März 2006, 20:58
jens05 Datum automatisch einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Zeitdifferenz in Tagen automatisch in 3. Spalte 9 helly 2832 07. März 2006, 09:39
Gast Zeitdifferenz in Tagen automatisch in 3. Spalte
Keine neuen Beiträge Access Tabellen & Abfragen: Wenn "ja" automatisch aktuelles Datum in Datumsfel 2 olli_blo 708 19. Okt 2005, 15:08
olli_blo Wenn "ja" automatisch aktuelles Datum in Datumsfel
Keine neuen Beiträge Access Tabellen & Abfragen: Felder automatisch ausfüllen 5 NVG 884 13. Sep 2005, 20:05
stpimi Felder automatisch ausfüllen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA