mete-eve
Goto Top

Access 2003 Protokollieren von Datensätzen

Hallo Leute,
ich komme nicht weiter, da ich mich nicht so gut in Access auskenne.

Ich habe ein Hauptformular.
In diesem Hauptformular schreibe ich eine Beschreibung per Button in das Unterfomular.

Felder im Unterformular:
ID; Datum; Uhr; Beschreibung; Benutzer; Computername

Jetzt möchte ich, dass wenn ich die Beschreibung ändere das Protokolliert wird.

Ich habe mir das so vorgestellt:

Wenn ich einen Datensatz im Unterformular X markiere zeigt es mir den Datensatz in Unterformular Y an.
Das heißt ich hätte dann zwei Unterformulare im Hauptformular.

Wenn ich dann im Unterformular Y einen neuen Datensatz dazu verfasse schreibt es den neu geschriebenen per Button_Click in das Unterformular X.

Das soll so mit allen Datensätze gehen.

Außerdem möchte ich jetzt noch, wenn ich den Datensatz im Unterformular X markiere zeigt es mir im Unterfomular Y den ganzen Verlauf der änderungen an.

Also so:
Unterformular X: (Datensatz 15 markiert)
ID Datum Uhr Beschreibung Benutzer Computername
24 18.12.2007 15:00 Problem A XXX 456
15 18.12.2007 6:45 Problem B XXX 456
14 18.12.2007 06:00 Problem A XXX 456

Unterfomular Y:
ID Datum Uhr Beschreibung Benutzer Computername
15 01.12.2007 9:00 lol YYY 777
15 18.12.2007 6:45 Problem B XXX 456


Mein Problem ist jetzt:
- Den markierten Datensatz im Unterfomular Y anzuzeigen (das würde mir erst mal reichen)
- Den neu dazugeschriebenen Datensatz dann in das Unterformular X zu schreiben per Button

Bin für jede hilfe dankbar.
Gruß

Content-ID: 76414

Url: https://administrator.de/contentid/76414

Ausgedruckt am: 16.11.2024 um 13:11 Uhr

jato11
jato11 20.12.2007 um 21:21:37 Uhr
Goto Top
Hallo mete-eve,
ich kann Dir bei den vielen X und Y nicht ganz folgen.

Wird das ein Meldungstool für Probleme und Du schreibst
dann auf, was zur Lösung unternommen wurde und alles
wird mit Datum und Zeit protokolliert?

Viele Grüße
Torsten
mete-eve
mete-eve 02.01.2008 um 11:51:46 Uhr
Goto Top
Hallo jato11,
Sorry für die vielen X und Y.

Ja. Das soll eine Meldungstool werden. Wenn ein Datensatz geändert wird, also was inzugefügt wird, Bsp.:
Erster eintrag: Probleme mit Spannungsversorgung
Wird geändert: Techniker wurde informiert:

Dann soll das geänderte angezeigt werden, aber der alte datensatz gespeichert werden so das man den zusammen hang der meldungen hat.

Gruß
jato11
jato11 02.01.2008 um 12:39:44 Uhr
Goto Top
Gut, dafür gibt es sicherlich einige Lösungen.
Ich würde es wohl so machen.

Eine Tabelle mit den Störungen:
Störungsnummer, Name, Datum, Telefon, Text, evtl. Standort

Die zweite Tabelle mit der Bearbeitung (Protokol der Bearbeitung)
Störungsnummer, Name vom Bearbeiter, Datum, Bearbeitungstext

Das könnte man noch mit Personalnummern verfeinern, um dann alle
nötigen Personen- oder Hardwaredaten aus einer anderen DB zu ziehen.

Dann würde ich eine Abfrage erstellen, in der beide Tabellen über die
Sörungsnummer verknüpft sind. Das ist für Berichte nützlich.

Anschließend erstelle ich für jede Tabelle ein Formular mit den notwendigen Feldern.
Das erste Formular wird das Hauptformular mit den Störungen. Da wird das zweite
Formular (Bearbeitung) als Unterformular eingefügt. Beide müssen über die
Störungsnummer verknüpft werden.

Nun kannst Du es testen. Öffne das Hauptformular, erzeuge einen neuen Datensatz,
gib eine Störung ein und im Unterformular wird nun Zeile für Zeile der Bearbeitungsstand
eingetragen.

Wenn das funktioniert kannst Du dir gedanken über Suchfelder, automatischer
Störungsnummer und Protokolle zum Ausdrucken machen.

Viele Grüße
Torsten
Für Formulare erstelle ich immer eine Abfrage. Das ist nicht immer notwendig, aber
ich finde es komfortabler und ich kann leicht berechnete Felder einfügen.
mete-eve
mete-eve 08.01.2008 um 13:40:29 Uhr
Goto Top
Soweit funktioniert die Sache.
Danke

Jetzt habe ich nur noch das Problem, wenn ich das Formular öffne fängt es immer mit Störungsnummer 1 an und nicht mit der die ich markiert habe im Unterformular.

Gruß
jato11
jato11 09.01.2008 um 12:31:25 Uhr
Goto Top
Das ist normal.
Wenn das Hauptformular geöffnet wird, wird immer der 1. Datensatz angezeigt.
Im Unterformular dürfen dann nur die Datensätze angezeigt werden, die die
gleiche Störungsnummer wie das Hauptformular haben.

Jetzt geht es an die Verfeinerung.
Erstelle im Hauptformular ein Datum-Feld. Da kannst Du dann eintagen wann die
Störung erledigt wurde und die Datensätze rausfiltern.

Ein Suchfeld kann hilfreich sein.
Ich nenne es immer "Suchen" und hat keine Datenherkunft. Nach dem aktualisieren
wird ein Makro ausgeführt, das sieht in etwa so aus.
-Gehe zu Feld [Störungsnummer]
-Suche Datensatz [Suchen]

Du kannst Dir auch alle Störungen anzeigen lassen die noch nicht erledigt sind.
Über eine Abfrage die alle Datensätze rausfiltert, die keinen Erledigungsvermerk haben

Viele Grüße
Torsten
mete-eve
mete-eve 10.01.2008 um 11:14:52 Uhr
Goto Top
Ich habe es ausprobiert, aber irgendwas mache ich wohl noch falsch.

Ich habe im Hauptfomular ein Textfeld erzeugt (Suche).

Danach habe ich ein Makro erstellt.
-Gehe zu Steuerelement [Störungsnummer]
- Suche Datesatz [Suche]

Und ich habe den Ereignisprozess auf nach aktualisieren im textfeld suche gestellt.

Wenn ich nur das Makro ausführe bekomme ich eine Meldung:
Der Befehl oder die Aktion 'GEheZuSteuerelement' steht momentan nicht zur Verfügung.

Gruß
jato11
jato11 10.01.2008 um 11:38:16 Uhr
Goto Top
Sorry, war wohl mein Fehler.

Ich nehme folgende Werte:

Suchen nach: =[Suchen] (das Gleichheitszeichen gehört mit rein)
Vergleichen: Teil des Felinhaltes (spart manchmal Tipperei)
Groß- /Kleinschreibung: Nein
Suchen: Alles
Wie formatiert: Nein
Nur aktuelles Feld: Ja
Am Anfang beginnen: Ja

Teste das Makro erstmal mit der 1. Zeile, dann siehst Du ob der Sprungbefehl
funktioniert (Gehe zu Steuer... )

Viele Grüße
Torsten
mete-eve
mete-eve 10.01.2008 um 12:51:45 Uhr
Goto Top
Ich habe es probiert nur mal die erste Zeile zu testen.

Es funktioniert nicht, da er meint das der aktuelle Datensatz kein Feld enhält, dass den Namen Störungsnummer hat.

Doch dies kann gar nicht sein.
Ich habe über VBA mit einer MSG box dies getestet und da findet er das Feld mit dem Wert.

Was habe ich vermutlich falsch gemacht?
mete-eve
mete-eve 10.01.2008 um 13:06:35 Uhr
Goto Top
Ich habe mein Problem jetzt gefunden.
Es lag daran, dass ich nicht den kompletten pfad für das Textfeld angegeben habe.

Danke für alles und deine Gedult.

Freundliche grüße