PDA

Vollständige Version anzeigen : Feldmanipulation


catwoman
14.02.2003, 09:31
Hallo,

ich habe (mal wieder) ein Problem.

Ich habe 2 Tabellen, eine mit dem Namen "Registrierungen"
und eine mit den Namen "Beitraege", die verknuepft sind
ueber eine "Registriernummer" und in einer 1:n Beziehung
stehen (1 Reg. - n Beitraege).

Einzelne "Beitraege" koennen storniert werden, darum
enthaelt diese Tabelle ein "Storno"-Feld (fuer statistische
Zwecke werden stornierte Beitraege nicht geloescht, sondern
als storniert markiert).

"Registrierungen" koennen ebenfalls storniert werden,
in der Tabelle ist darum ebenfalls ein Storno-Feld
vorhanden (weil aus o.g. Gruenden nicht geloescht werden
soll).

Nun zu meinem Problem:

Angenommen, eine Registrierung wird storniert, dann beinhaltet
das natuerlich, dass auch alle Beitraege storniert sind.
Was muss ich nun tun, damit in dem Augenblick, wo ich in der
"Registierungen"-Tabelle das Storno-Feld auf "ja" setze, auch
in der "Beitraege"-Tabelle alle dazugehoerigen Storno-Felder
auf "ja" gesetzt werden? Ich koennte das natuerlich "zu Fuss"
machen, aber geht das nicht einfacher?

Vielleicht sollte ich noch sagen, dass ich (immer noch) null
Ahnung von Programmierungen habe, man mir eine evtl.
Loesung also ganz langsam und simpel erklaeren muss, und
genau angeben muss, wo ich was machen muss, damit
ich alles begreife!

Danke schon jetzt und schoenen Tag!

Cat

khs-hh
14.02.2003, 09:34
Ds kannst Du mit SQL machen:

DbEngine(0)(0).Execute ("UPDATE NameDerTabelle SET Stornokennzeichen = -1 WHERE DeinKeyFeld = " & dieVariablemitSchlüssel)

Damit werden alle Sätze auf storniert gesetzt, die den entsprechenden ForeignKey haben

catwoman
14.02.2003, 09:58
Sorry, aber das verstehe ich nicht (wie gesagt, ich
habe praktisch Null Ahnung!).

Was ist ein ForeignKey? Welches ist mein Key-Feld und last but not least
was ist "meine Variable mit Schluessel"???? Und wo muss/darf
soll ich diese Anweisung einsetzen?

Cat

khs-hh
14.02.2003, 10:18
Dann nenne doch mal Deine Daten (Name der Tabelle, Name der entsprechenden Felder (Schlüssel, über die die Sätze verknüpft sind), dann kann ich Dir die exacte Form des Befehls schreiben.

catwoman
14.02.2003, 10:23
Name der 1-Tabelle: Registierungen
Name der n-Tabelle: Beitraege
Name des Schluessels: Registriernummer
Name des Storno-Feldes: storniert


Danke ! :)

Cat

khs-hh
14.02.2003, 12:01
DbEngine(0)(0).Execute ("UPDATE Beitraege SET storniert = -1 WHERE Registriernummer = " & xxxxxxxxx)

für xxxx muss der Name des Feldes, in dem Du den Schlüssel (Registriernummer) hast

zur Erklärung:

ForeignKey nennt man das Schlüsselfeld (Registriernummer) in der Tabelle Beitraege, da es einen Schlüssel enthält, der auf eine andere Tabelle (Registrierungen) verweist.

Registriernummer ist ja der Schlüssel der Tabelle Registrierungen
In der Tabelle Beitraege ist er nicht der Schlüssel (PrimaryKey) sondern ein Datenfeld