PDA

Vollständige Version anzeigen : Veränderungen im Datensatz „signalisieren“


Jonas92
07.03.2001, 08:38
In meine Datenbank machen verschiedene Mitarbeiter Eingaben.
Wie kann ich sehen, ob ein Datensatz verändert würde oder nicht, ohne einen mühsamen Vergleich mit dem Ausdruck des gestrigen Standes vorzunehmen?
Gibt es so etwas wie ein „Signal“ (eine rote Lampe), das mir eine Bearbeitung anzeigt?

Hilfe wäre prima.

Grüsse

Jonas92

Günther Kramer
07.03.2001, 08:54
Hallo Jonas92,

vielleicht hilft dir der folgende Artikel: http://www.microsyskramer.de/ubb/Forum1/HTML/002652.html

Rauer
07.03.2001, 11:30
Ich möchte Dir eine mögliche Lösung vorschlagen, die zwar etwas umfangreich ist, aber durchaus funktionieren sollte.
Ich gehe dabei davon aus, dass die Dateneingabe über Formulare stattfindet, was ja die Regel ist.
1. Füge jeder Tabelle eine Datenfeld "Bearbeitungsstand" hinzu
2. Stelle sicher, dass in jedem Eingabeformular diese Datenfeld für die Herkunftstabelle verfügbar ist.
2. Erstelle in einem Modul eine Funktion, die nach Aktualisierung eines Formulars den Bearbeitungsstand aktualisiert.
Diese sollte in etwa so aussehen
Public Function BearbeitungsstandUpdate()
dim frm as frm
set frm=application.screen.ActiveForm
'Setzt das Tagesdatum ein
frm.Bearbeitungsstand=Date()
End function
3. Füge jedem Formular bei dem Ereignis Nach Aktualisierung den Funktionsaufruf "=BearbeitungsstandUpdate()" hinzu
Damit wird nach jeder Aktualisierung der Datensätze das Feld Bearbeitungsstand auf das aktuelle Datum gesetzt.
4. Zukünftig können so alle Datensätze abgefragt werden, die nach einem bestimmten Datum aktualisert wurden.

Hier ein Beispiel um das Änderungsdatum beim Programmstart festzulegen
1.Erstelle ein Modul Namens Bearbeitungsstand
2.Erstelle folgende Function
Public Lastdate as date
Public Function LastdateEinlesen() as date
'Abfrage des Datums,nach dem alle Änderungen angezeigt werden sollen

Lastdate=InputBox("Alle Änderungen nach dem folgenden Datum anzeigen")
'Die eingabe in die Inputbox muß ein gültiges Datum sein, ansonstentritt ein Laufzeitfehler auf
end function
3. Die Variable LastDate enthält jetzt das eingegebene Datum und kann aus der gesamten Anwendung aufgerufen werden.
4. Um eine grafische Anzeige im Formular zu erreichen kannst du jetzt wie folgt vorgehen.
Füge dem Formular bei dem Eriegnis beim Anzeigen folgende Ereignisprozedur hinzu:
'berabeitungsstand mit Lastdate vergleichen
If me.Beaarbeitungsstand>LastDate then
'Hier den Namen eines markanten Feldes
Angeben
'Setzt die Eigenschaft Textfarbe auf Rot
me.FELD.ForeColor=255
Else
'Textfarbe Schwarz
me.FELD.ForeColor=0
End if

Diese Geschichte sollte für alle Hauptformulare problemlos funktionieren, für Unterformulare muß man Sie noch ein bißchen anpassen.
Ob Du das realisieren kannst, hängt natürlich auch von der Grösse der Datenbank ab (wegen des Aufwands im Vergleich zum
Nutzen) da die Einarbeitung doch etwas aufwendig ist.
MfG
Gerd Rauer