Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Mehrere Datensätze in Abhängigkeit eines Kriteriums automatisch ändern

Begonnen von Knopf, Juni 29, 2017, 20:26:17

⏪ vorheriges - nächstes ⏩

Knopf

Hallo liebe Experten!

Meine erste Access-Datenbank nimmt mehr und mehr Gestalt an, nicht zuletzt dank eurer Hilfe! ;) Jetzt möchte ich sie möglichst Anwenderfreundlich gestalten: Ich möchte ein Formular erstellen, mit dem man "mehrere Datensätze gleichzeitig" ändern kann:
Ich habe eine Tabelle mit vielen Datensätzen. Einige Datensätze haben den gleichen Wert in der Spalte Kundennummer. Wenn sich nun z.B. das Auftragsdatum verschiebt, dann möchte ich, dass der Anwender dieses Datum ganz einfach in dem Formular ändern kann.
Der Anwender soll die Kundennummer und das Auftragsdatum in das Formular eintragen können. Durch den Klick auf einen Button wird das Auftragsdatum in allen Datensätzen mit der eingegebenen Kundennummer geändert.

Wird so etwas in Access unterstützt? Oder geht es nur über VBA? Wie kann man das am Besten lösen? Vielen Dank schonmal :)

el_gomero

Hallo Knopf,

Massenänderungen sind natürlich möglich. Dazu wird eine Aktualisierungsabfrage herangezogen.

Deine Schilderung wirft aber Fragen auf. Kann ein Kunde je Tag wirklich nur einen Auftrag haben, oder auch mehrere. Zudem wäre zu überlegen, ob das ursprüngliche Datum nicht weiter mitgeführt wird und ein Änderungsdatum protokolliert wird. Zudem würde nach Normalisierungsregeln wohl die ID des Auftrags als Kriterium herangezogen und nicht die Kundennummer.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Knopf

Hallo Jürgen,

Und die Aktualisierungsabfrage kann ich über ein formular ansteuern? Das wär optimal...

Ähja..auftragsnummer statt kundennummer wäre richtig gewesen.
Die Eingabe für die kundenanfrage sieht so aus: man gibt auftragsnummer und andere daten sowie auftragsbeginn und auftragsende ein. Für jeden tag des auftrags wird ein datensatz erzeugt und pro produktart. Somit habe ich für jeden datensatz eine ID. Jede auftragsnummer hat somit mehrere ID.
Hm ja, ein änderungsdatum ist eine gute idee. Das werde ich noch einbauen, danke:)

el_gomero

die Aktualisierungsabfrage kann zB über eine Schaltfläche ausgelöst werden und Bezug auf Steuerelemente des Formulars nehmen.

Für jeden Tag des Auftrags einen DS zu erzeugen finde ich merkwürdig. Ich kenne zwar die Anforderungen und das Datenmodell nicht, üblich sind aber zB Auftragsdetails, zB zu vollbringende Leistungen, Materialien, etc ...
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

DF6GL

Hallo,

ZitatDeine Schilderung wirft aber Fragen auf.

In der Tat. Bevor da Irrwege eingeschlagen werden, poste mal den Screenshot vom Beziehungsfenster und ziehe alle Tabellenfenster soweit auf, dass alle Felder zu lesen sind.

Knopf

Also das ziel ist es, die auftragsanzahl pro tag in einer pivottabelle (verknüpfung mit excel) einzusehen und nach tagen, sparten, kunden etc filtern zu können...deshalb habe ich es so gemacht, dass ich die daten für den auftragszeitraum eines auftrags per vba für jeden tag erzeuge...vlt bin ich auch total auf dem holzweg...screenshot der beziehungen folgt in den nächsten tag :) lg

Knopf

Hallo!

Anbei schicke ich einen Screenshot von den Tabellenbeziehungen. Danke für eure Tipps!

Schönen Abend :)

Beaker s.a.

Hallo Knopf,
Berechnet ihr tatsächlich immer ganze Produktgruppen statt einzelner
Produkte?
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Knopf

Hallo ekkehard,

Wir berechnen beides. Einerseits berechnen wir einzele Produkte, andererseits werden diese produkte in einer gruppe zusammengafasst und die summe gebildet. Hintergrund ist, dass in einer Produktgruppe die Produkte zusammengefasst werdem, die die gleichen montageschritte etc aufweisen.

Beaker s.a.

Hallo Knopf,
ZitatEinerseits berechnen wir einzele Produkte
Und wie bekommst du die auf den Auftrag?
Ich denke (Korrektur erbeten) du musst die Auftragstabelle über
"RefPrdGr" aus der Tabelle "tblRefProduktgruppe_Produkte" verknüpfen,
denn nur so hast du Zugriff sowohl auf ein Produkt als auch eine Produktgruppe.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)