cp-com
Goto Top

Alte Formular einträge nicht überschreiben

Ich möchte den Inhalt eines Textfeldes in einem Formular schützen, so dass es von einer Änderung des Datensatzen nichts "mitbekommt"

Ich melde mich mal wieder mit einem Access-Problem zu Wort. ;)

Aus der Tabelle Tabelle1, welches das Textfeld ID(Primärschlüssel), FahrzeugNr, Name und Datum (Bitte nicht über die Namensgebung aufregen, es ist nur eine extra hierfür konzipierte Test_DB und deswegen lege ich hier noch keinen Wert auf eine gute Namensgebung) beinhaltet wird ein Formular Formular1 erstellt.

Folgendes Szenario:
Es handelt sich hier um eine Datenbank für Gebrauchtfahrzeuge, jedes Fahrzeug hat eine feste FahrzeugNr die Besitzer Namen werden in dem Formular gelistet. Mit Hilfe des Datum soll schnell erkannt werden, wer welches Fahrzeug wann bekommen hat.

Folgendes Problem:
Nun ist es so, dass wenn das Fahrzeug mit der FahrzeugNr 22 Name Müller und Datum 01.05.2010 eingetragen ist, aber am 15.05.2012 das Fahrzeug an Schmidt übergeben wird Müller aus jeglichen Datensatz rausfliegt.
Ich möchte aber gerne, dass Müller in der in der Datenbank bleibt, also Schmidt nur hinzugefügt wird. Wie mach ich das?

Ich hoffe es wurde verständlich erklärt und freu mich auf eure Unterstützung.

Content-ID: 185036

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

Ausgedruckt am: 15.11.2024 um 18:11 Uhr

SlainteMhath
SlainteMhath 15.05.2012 um 16:22:38 Uhr
Goto Top
Moin,

warum trägst Du nicht "Schmid" als neuen Datensatz ein?

In der Tabelle sieht das dann so aus
ID | FahrzeugNr | Name | Datum
1 | 22 | Müller | 01.05.2010
2 | 22 | Schmid | 15.02.2012

lg,
Slainte
NetWolf
NetWolf 15.05.2012 um 16:37:50 Uhr
Goto Top
Moin Moin,

Ich hoffe, ich habe dein Problem richtig verstanden.

Nun ist es so, dass wenn das Fahrzeug mit der FahrzeugNr 22 Name Müller und Datum 01.05.2010 eingetragen ist, aber am 15.05.2012 das Fahrzeug an Schmidt übergeben wird Müller aus jeglichen Datensatz rausfliegt.

Du hast also nur ein Auto (22), dass du auch nur einem neuen Besitzer übergeben kannst. Wenn Müller das Auto am 01.05. nicht bekommt, sondern Schmidt am 15.05. ist das eigentlich ok, dass Müller dem Auto nicht zugeordnet wird und "rausfliegt".

Deine Tabelle ist Auto orientiert. Selbst wenn du Schmidt hinzufügst (als neuen Datensatz), steht immer noch Müller mit dem Auto 22 drin.
Um das transparent abbilden zu können, benötigst du drei Tabellen:

1. Tabelle: Kunden
2. Tabelle: Autos
3. Tabelle: Zuordnung Auto <-> Kunde

D.h. dein Formular besteht aus einem Hauptformular und einem UFO (Unterformular). Im Hauptformular werden die Kundendaten angezeigt. Im UFO werden dann die Autos angezeigt, die der Kunde gekauft hat.
Ein weiteres Hauptformular wird dann noch für die Verwaltung der Autodaten benötigt.

Grüße aus Rostock
Wolfgang
(Netwolf)
napperman
napperman 15.05.2012 um 16:50:05 Uhr
Goto Top
Moin

Hilfreich wäre es auch, wenn Du angeben würdest, was Du genau damit machen willst.
Wenn es ein Ausgabeprotokoll sein soll, so fehlt z.B. die Rückgabe.
Dann könnte man das ganze z.B. um eine Abfrage erweitern, die zuerst Autos filtert, die verfügbar sind.
Dann würde der neue Eintrag z.B. mittels Anfügeabfrage realisierbar.

Gruß
cp-com
cp-com 16.05.2012 um 09:32:03 Uhr
Goto Top
Guten Morgen,

vielen Dank für die Antworten, ich glaube ich hab nicht richtig bis drei gezählt :P.
Also um tiefer ins Detail zu gehen, eigentlich geht es in der Datenbank darum Reparaturen zu Dokumentieren.
In einer Tabelle wird dann festgelegt, Schmidt du hast Fahrzeug Nr. 22. Es gibt natürlich noch mehr Fahrzeuge.
Die Tabelle soll dem User das eintippen ersparen, schließlich reden wir von einem Bestand der in den 5 stelligen bereich geht und es wäre einfach schön wenn ich sehe, Fahrzeug 22 kommt auf den Hof, ich gebe in das entsprechende Feld die FahrzeugNr ein und die "Kundendaten" werden automatisch anhand der Informationen aus der, sagen wir Kundentabelle geladen.

Da ist meine befürchtung, wenn ich jetzt den Kunde ändere ist auch für alle alten Einträge der Kunde geändert wurden. Dieses soll jedoch vermieden werden.
NetWolf
NetWolf 16.05.2012 um 12:35:45 Uhr
Goto Top
Moin Moin,

keine Ahnung was du da programmiert hast. Aber wenn du in einem Datensatz den Kunden änderst, werden i.d.R. nicht alle alten Datensätze ebenfalls geändert.
Das ist das normale Verhalten, da muss man nichts ändern, es sei denn man hat das gewollt vorher umprogrammiert.

Da deine Beschreibung mangelhaft ist, muss ich raten:
- pro Kunde kann es mehrere Fahrzeuge geben (zwei Tabellen mit 1:n Beziehung)
- Reparatur-Tabelle = es wird pro Reparatur ein Datensatz angelegt
- Reparatur-Tabelle = pro Reparatur wird der Fahrzeug-Nr. ein Fahrzeug und damit auch ein Kunde zugeordnet
- Reparatur-Tabelle = Beziehung zu FahrzeugKunde zu Kunde

Wenn du das so haben solltest, dürfte es kein Probleme geben.

Grüße aus Rostock
Wolfgang
(Netwolf)
cp-com
cp-com 16.05.2012 um 15:53:52 Uhr
Goto Top
Zitat von @NetWolf:
Da deine Beschreibung mangelhaft ist, muss ich raten:
- pro Kunde kann es mehrere Fahrzeuge geben (zwei Tabellen mit 1:n Beziehung)
- Reparatur-Tabelle = es wird pro Reparatur ein Datensatz angelegt
- Reparatur-Tabelle = pro Reparatur wird der Fahrzeug-Nr. ein Fahrzeug und damit auch ein Kunde zugeordnet
- Reparatur-Tabelle = Beziehung zu FahrzeugKunde zu Kunde

Vielen Dank hab es so anpassen müssen^^, jetzt klappt es. Sorry hab zu kompliziert gedacht.