PDA

Vollständige Version anzeigen : Anfügeabfrage


Tatanka
04.07.2006, 12:18
Hallo,

folgendes Problem stellt sich mir.

Ich lasse eine Abfrage laufen die mir eine Tabelle erstellt.
In der Tabelle sind Artikel und Mengen vorhanden.

Durch eine Anfügeabfrage will ich mir nun Datensätze anfügen lassen. Aber bereits vorhande Artikel sollen nicht überschrieben sondern übergangen werden.

Wie kann man dies schaffen.

z.B.
Tabelle A
0815 | 2
4711 | 4

Tabelle B
0815 | 8
1122 | 4

Tabelle B soll angefügt werden.
Da der erste Datensatz in A schon vorhanden ist soll er nicht überschrieben werden, sondern ausgelassen werden. Wie schaffe ich dies?

Roland04
04.07.2006, 12:23
bei einer anfügeabfrage wird grundsätzlich nichts überschrieben - nur bei aktualisierungsabfragen

Tatanka
04.07.2006, 12:38
Hm... dachte ich ja auch. Nur wird immer die alte Menge bei dem einen Artikel eingetragen. Ich finds auch komisch und dachte ich hab was vergessen.

Roland04
04.07.2006, 12:52
schau mal in der tabelle nach ob wirklich überschrieben wurde - sonst könnte daran liegen, dass zb in einer abfrage mit find first immer nur der 1. record gefunden wird nicht aber der 2. angefügte.
besser zunächst vor dem anfügen eine abfrage auf die neu tabelle loslassen und nur die records anfügen die in der 1. tbl noch keine entsprechung haben und die restlichen records nur gegebenenfalls updaten

Tatanka
04.07.2006, 12:56
Nach der Erstellungsabfrage steht da

0815 | 2

Wenn die Anfügeabfrage gelaufen ist,

0815 | 8

Roland04
04.07.2006, 13:02
poste doch mal den code der anfügeabfrage

Tatanka
04.07.2006, 14:08
Nu hab ichs, da die Zeile ja anders ist bei der menge wird ein zweiter datensatz geschrieben.

Wie kann ich erzwingen das er nur bei dem Artikel schaut ob dieser gleich ist?

Roland04
04.07.2006, 14:16
was willst du denn genau machen?

1. nur neue artikel anfügen?
2. neue artikel anfügen und die werte der bestehenden updaten?

> Wie kann ich erzwingen das er nur bei dem Artikel schaut ob dieser gleich ist? < ???
ob WAS gleich ist? - die ID oder der preis oder ... ;)

Tatanka
04.07.2006, 14:27
Also:

Ich habe eine Abfrage mit Artikelmengen aus 2006 daraus lasse ich mir eine Tabelle mit Artikelnummer und Menge erstellen.

Dann habe ich noch eine Liste von 2005.

Hier sollen nun die fehlenden Artikel ergänzt werden mit der dazugehörigen Menge.

Wenn es den Artikel aber schon in Tabelle A gibt wird, wird mir mit der Anfügeanfrage einfach ein zweiter Datensatz erstellt.

gpswanderer
04.07.2006, 14:38
Hallo,
da eine Artikelnummer ohnehin nur 1mal vohanden sein darf, stelle in den Tabelleneigenschaften die Artikelnummer auf "Indiziert Ja (Ohne Duplikate)". Dann wird die gleiche Artikelnummer nicht angefügt. Warnmeldungen event. abschalten.

Roland04
04.07.2006, 14:44
> Wenn es den Artikel aber schon in Tabelle A gibt wird, wird mir mit der Anfügeanfrage einfach ein zweiter Datensatz erstellt. <

klar - was aber machst du mit der menge aus 2006 bei den artikeln die in 2005 bereits vorhanden sind?

deshalb schon unter #4 die variante nur die artikel anzufügen die noch nicht vorhanden sind und die restlichen werte mit update schreiben