Datenbestand "updaten"

11/04/2008 - 18:03 von Peter Wenzel | Report spam
Hallo,

ich habe in meiner DB eine Tabelle mit drei Feldern (ZSP, ZBN und Stück).
ZSP ist der Fremdschlüssel, ZBN der Schlüssel dieser Tabelle.
Die Daten dienen als Grundlage zur weiteren Berechnung, bleiben aber konstant.

Nun werden diese Daten, insbesondere die Stückzahl, alle Vierteljahre geupdatet.
Dabei kann es vorkommen, dass ein ZBN wegfàllt, oder neue hinzukommen, im Wesentlichen àndert sich nur die Stückzahl.
Weiterhin befinden sich in der Tabelle Daten, die nicht unter das Update fallen, da sie "einen anderen Bereich entstammen".
Deshalb kann ich die vorhandene Tabelle nicht einfach gegen die neue austauschen.

Die neuen Daten bekomme ich über eine Exceltabelle. Der Import ist kein Problem,
die Updatetabelle bekommt das gleiche Format wie die vorhandene Tabelle.

Nun möchte ich die Neuen Daten wie folgt behandelt haben:

1. Ist in der Updatetabelle (UT) ein ZBN enthalten, der in der vorhandenen Tabelle (VT) vorkommt, nur in anderer Stückzahl,
möchte ich die Stückzahl in der VT mit dem Wert der UT überschreiben.

2. Ist in der UT ein ZBN vorhanden, der in der VT nicht vorkommt, dann soll dieser neu hinzugefügt werden.

3. Ist in der VT ein ZBN der in der UT nicht mehr vorkommt, bleibt dieser DS unveràndert.

Kann man so etwas mit einer Abfrage realisieren, oder muß das komplett mit VBA programmiert werden?
Wenn VBA, wie gehe ich das an?
Ich habe gerade erst begonnen mich mit Access und VBA zu befassen, bin aber durchaus lernfàhig!


Vielen Dank schon mal

Gruß
Peter


Bitte alle Antworten hier in die Newsgroup.
Mails nur nach Rücksprache zusenden.
 

Lesen sie die antworten

#1 Christian Hahn
12/04/2008 - 18:20 | Warnen spam
Mit einer Aktualisierungsabfrage aktualisierst du die Tabelle VT mit den
Werten der Tabelle UT, sofern die Bedingungen für eine Aktualisierung
erfüllt sind.
Du kannst dir diese Abfrage mit dem Abfrage-Assistenten zusammenbauen und
abspeichern.
Wenn du die Abfrage spàter in eine VBA-Routine einbauen willst, dann
brauchst du die Formulierung in SQL.
Im Abfrage-Assistent gibt es neben der Entwurfsansicht und der
Datenblattansicht auch die Ansicht SQL. Hier kannst du die genaue
SQL-Formulierung ablesen ( die Access selbst für die Durchführung der
Abfrage verwendet).
SQL =" UPDATE VT, UT SET VT.Stück = UT.Stück WHERE (((VT.F1)=UT.F1) AND
((VT.Stück )< UT.Stück ))"
F1 ist das Feld, in dem beide Datensàtze übereinstimmen sollen.
beste Grüße, Christian Hahn.

"Peter Wenzel" schrieb im Newsbeitrag
news:%23z9EP2%
Hallo,

ich habe in meiner DB eine Tabelle mit drei Feldern (ZSP, ZBN und Stück).
ZSP ist der Fremdschlüssel, ZBN der Schlüssel dieser Tabelle.
Die Daten dienen als Grundlage zur weiteren Berechnung, bleiben aber
konstant.

Nun werden diese Daten, insbesondere die Stückzahl, alle Vierteljahre
geupdatet.
Dabei kann es vorkommen, dass ein ZBN wegfàllt, oder neue hinzukommen, im
Wesentlichen àndert sich nur die Stückzahl.
Weiterhin befinden sich in der Tabelle Daten, die nicht unter das Update
fallen, da sie "einen anderen Bereich entstammen".
Deshalb kann ich die vorhandene Tabelle nicht einfach gegen die neue
austauschen.

Die neuen Daten bekomme ich über eine Exceltabelle. Der Import ist kein
Problem,
die Updatetabelle bekommt das gleiche Format wie die vorhandene Tabelle.

Nun möchte ich die Neuen Daten wie folgt behandelt haben:

1. Ist in der Updatetabelle (UT) ein ZBN enthalten, der in der vorhandenen
Tabelle (VT) vorkommt, nur in anderer Stückzahl,
möchte ich die Stückzahl in der VT mit dem Wert der UT überschreiben.

2. Ist in der UT ein ZBN vorhanden, der in der VT nicht vorkommt, dann
soll dieser neu hinzugefügt werden.

3. Ist in der VT ein ZBN der in der UT nicht mehr vorkommt, bleibt dieser
DS unveràndert.

Kann man so etwas mit einer Abfrage realisieren, oder muß das komplett mit
VBA programmiert werden?
Wenn VBA, wie gehe ich das an?
Ich habe gerade erst begonnen mich mit Access und VBA zu befassen, bin
aber durchaus lernfàhig!


Vielen Dank schon mal

Gruß
Peter


Bitte alle Antworten hier in die Newsgroup.
Mails nur nach Rücksprache zusenden.

Ähnliche fragen