Dynaset (Inkonsistente Aktualisierungen)

Moderator: ModerationP

Dynaset (Inkonsistente Aktualisierungen)

Beitragvon goffee » 16. Okt 2019, 09:51

Hallo zusammen,
irgendwie verzweifele ich langsam ...
Ausgangspunkt ist eine Mastertabelle mit allen verfügbaren Parts und den zugehörigen Informationen. In einer 2. Tabelle sind die Parts gelistet, die einen Bestand in 1. einer Lokation haben und 2. den Zusatnd des Parts (Gut, defekt, Tarnsit)
In einem Formular sollen nun alle Parts aus der Mastertabelle mit dem jeweiligen Bestand ( wenn nicht vorhanden = 0) angezeigt werden.
Also Kreuztabellenabfrage über den Bestand gelegt und Die Mastertabelle 1:unendlich mit der Kreuztabelle verknüpft. Alelrdings kann ich in den entstehenden Daten, die Felder der Mastertabelle nicht editieren, obwohl alles (Kreuztabelle, entstehende Abfrage und das Formular auf Dynaset (Inkonsistente Aktualisierungen) gesetzt habe. Dann bin ich dazu übergegangen, für jede Lokation extra eine Abfrage zu erstellen und diese dann, statt der Kreuztabelle einzubinden. Das editieren funktioniert dann, aber nur solange, bis ich eine Abfrage einer Lokation mit Unterlokation einbinde, die eine Gruppierung/Summe hat (auch Dynaset (Inkonsistente Aktualisierungen). Dann geht es nicht mehr.
Hat jemand einen Trick parat, wie ich doch noch an die Editierbarkeit komme??
(Natürlich könnte ich die Masterdaten auch in einem extra Formular bearbeiten, allerdings hängt die Bearbeitung oftmals an den Beständen -->und ja, ich habe auf solch einem Formular eine Liste, die sich durch Klick auf die Partnummer aktualisiert, aber sich sehe die Bestände von Produktgruppen nicht auf einen Blick)
goffee
 

Re: Dynaset (Inkonsistente Aktualisierungen)

Beitragvon Bitsqueezer » 16. Okt 2019, 09:57

Hallo,

eine Kreuztabelle kann man natürlich nie bearbeiten.

Eine Abfrage je Lokation ist genauso sinnfrei, stattdessen verwendet man eine Abfrage mit einem Lokationsparameter, den man dann befüllt und die Abfrage aufruft.

Sobald Du eine Unterabfrage per SELECT in Access in die Feldliste einfügst, wird die ganze Abfrage automatisch nicht mehr editierbar. Das ist in Access leider so, kann man nicht ändern. Aber stattdessen kann man einfach eine Domänenfunktion einsetzen (DLookup, DSum oder was Du willst), das wird von Access nicht als Unterabfrage erkannt und dann ist nur dieses eine Feld nicht editierbar (was in Ordnung ist).

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7210
Registriert: 21. Jun 2007, 12:17

Re: Dynaset (Inkonsistente Aktualisierungen)

Beitragvon goffee » 17. Okt 2019, 07:30

Guten Morgen,
das werde ich gleich mal probieren.
Danke
goffee
 

Re: Dynaset (Inkonsistente Aktualisierungen)

Beitragvon goffee » 17. Okt 2019, 09:02

Hallo, iche nochmal,

die Idee mit DSum und Dlookup klingt gut, allerdings scheitere ich am Syntax der Unterabfrage (auch nach lesen diverser Tipps im i-Net)
leider weiß ich auch nicht, wie ich hier ein Bild einfügen kann :(

Ich versuche es zu beschreiben:
Für die Lokation Austria habe ich erstellt: domwert("Quantity";"tbl_Bastand";"Location='Austria' and [Bin Code]='good'") --> scheitert an der fehlenden Anbindung der Partnummer ( tbl_MasterParts LEFT JOIN tbl_Bastand ON tbl_MasterParts.Partnumber = tbl_Bestand.Partnummer)
Auch kann ich die Unterabfrage nicht in die Kriterienzeile schreiben, weil ich den Bestand für 7 Lokationen ausgeben muss (will)
lt. i-Net muss eine Unterabfrage immer auf einen Vergleich (Operanden) folgen - ich habe aber keinen.
Wie muss der Systax genau aussehen?

Schon mal vielen Danke im Voraus
mfg goffee
goffee
 

Re: Dynaset (Inkonsistente Aktualisierungen)

Beitragvon Bitsqueezer » 17. Okt 2019, 10:45

Hallo,

keine Ahnung, was Du da gelesen hast. Aber erstens kannst Du einfach auf die SQL-Ansicht umschalten und den Code von dort hier reinkopieren (und nicht die Code-Tags vergessen...) und zweitens muß eine Unterabfrage so formuliert sein, daß sie nur genau einen Wert zurückliefert, wenn sie in der Feldliste formuliert wird.

DomWert (oder DLookup, wie es eigentlich heißt) liefert genau einen Wert, die Bedingung ist also immer erfüllt. Wenn Deine Kriterien unglücklich formuliert sind, liefert die Abfrage, die DLookup ausführt, zwar u.U. mehr als einen Wert, aber dann sucht sich DLookup einfach den ersten zurückgegebenen Wert des gewünschten Feldes aus, abhängig von der Sortierung. Das kann dann auch ein zufälliger Wert sein.

Daher verbindet man i.d.R. natürlich das WHERE-Kriterium der DLookup-Funktion mit dem aktuellen Datensatz der Abfrage, in der es laufen soll.

Deine Unterbfrage müßte also vermutlich so aussehen:
Code: Alles auswählen
DomWert("Quantity";"tbl_Bestand";"Location='Austria' and [Bin Code]='good' AND Partnummer = '" & Partnumber & "'") AS TeileBestand


Wenn Du die Lokation variabel halten willst, mußt Du natürlich in der Hauptabfrage die Lokationsliste aus der 2.Tabelle mit JOINen, ansonsten müßtest Du eine Parameterabfrage verwenden und "Austria" gegen den Parameternamen ersetzen - dann kann Deine Abfrage aber immer nur für eine Lokation gleichzeitig funktionieren.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7210
Registriert: 21. Jun 2007, 12:17

Re: Dynaset (Inkonsistente Aktualisierungen)

Beitragvon Gast » 17. Okt 2019, 11:17

und ja, ich habe auf solch einem Formular eine Liste, die sich durch Klick auf die Partnummer aktualisiert, aber sich sehe die Bestände von Produktgruppen nicht auf einen Blick)

Alles auf einen Blick haben und alles in eine Abfrage zu kleben ist nicht zwingend das Gleiche, die Größe des Bildschirms ändert sich vmtl. nicht dadurch.

Zusammengeklebte Tabellen/Abfragen sind halt nicht mehr die gewohnte Exceltabelle, wo man alles beliebig machen kann.
Allerdings kann man mehr als ein Formular verwenden. Die Formularerstellung in Access ist sehr simpel (Assistenten), und man kann hochfunktionell kombinieren (Haupt-/Unter-/PopUp-Formulare).
Gast
 

Re: Dynaset (Inkonsistente Aktualisierungen)

Beitragvon goffee » 17. Okt 2019, 15:12

Hallo,
erst einmal danke für die Mühe.
ich werde das morgen ausprobieren.
MfG goffee
goffee
 


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste