Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Navigation im Formular

Begonnen von ixnol, März 15, 2021, 13:21:17

⏪ vorheriges - nächstes ⏩

ixnol

Hallo zusammen,

ich war bisher nur ein fleißiger Mitleser, jetzt finde ich aber keine Lösung für mein Problem.

Mal schauen, ob mir jemand von euch helfen kann oder ob ich schon einen Grundfehler begangen habe  :-[

Vorweg, meine Accesskenntnisse sind aus meinen Schuljahren, welche auch schon ein paar Tage in der Vergangenheit liegen.

Ich habe 2 Tabellen welche in einer 1:n Beziehung stehen.

1. Tabelle: Bestellung
2. Tabelle: Artikel
-> Eine Bestellung enthält n Artikel

Dazu habe ich ein Formular, welches mir die Bestellung anhand der ID anzeigt und den letzten Artikel der Bestellung aufzeigt. Der bzw. die Artikel sollen nicht tabellarisch angezeigt werden, sondern auf "einer Seite" des Formulars.

Beispiel:

******************************
* Bestellnr.: XYZ            *
* Kundenname: Max Mustermann *
******************************
* Artikelnr.: 12345          *
* Bezeichnung: ABC          *
* Menge: 2                  *
* Preis: 2,00€              *
******************************

Soweit so gut, das ist alles kein Problem. Jetzt möchte ich aber nicht nur den letzten Artikel der Bestellung anzeigen, sondern durch alle Artikel dieser Bestellung navigieren.

Wenn ich das als Schaltflächen über das eingebettete Makro oder über VBA implementiere, dann navigiert mir das Ding nicht durch die Artikel DIESER Bestellung, sondern durch alle Bestellungen die ich habe.

Hat jemand eine Idee was ich falsch mache? Es muss doch irgendwie so was geben wie:
SELECT * FROM tblArtikel WHERE tblArtikel.Bestellnr = txtBestellnr;

Irgendwie stehe ich auf dem Schlauch und weiß nicht so genau, wie ich davon runter komme.

Ich habe es auch schon über eine Abfrage versucht, da klappt es nur so halb. Ich habe mir alle Artikelnummern dieser Bestellung über eine Abfrage in einem Kombinationsfeld geholt. Das funktioniert, aber ich kann nichts selektieren... ganz komische Sache.

Ich würde mich freuen, wenn mir hier jemand helfen könnte.

Viele Grüße
David

andyfau

Hallo,

ich würde die Tabellen zuerst weiter normalisieren um bei der Erfassung nicht immer wieder den Kundennamen oder die Artikelbezeichnung mit erfassen zu müssen. Zudem vermeidet man so doppelte Einträge. (Durch Verwendung von Primäschlüsseln und Fremdschlüssel in den verknüpften Tabellen.
Es waren also mindestens 4 Tabellen:
-Artikelstamm (PrimSchl. Artikelnummer, Felder: Bezeichnung, Preis, Einheit etc.)
-Kundenstamm (PrimSchl. Kundennumer, Felder: Adresse, Telefon etc.)
-BestellKopfundFuss (PrimSchl. ID (Autowert), so wird die Bestellnummer kontinuierlich hoch gezählt, Felder: Fremdschlüssel Artikelstamm, Fremdschlüssel Kundennummer, Datum, Kopftext u.ä.
-Bestellpositionen (PrimSchl. BestellID+PosNr) Felder Atikelnummer, Menge, Einheit als Vorbelegung aus Artikelstamm, Preis als Vorbelegung aus Artikelstamm.

Beziehungen der Tabellen mit referentieller Integrität einrichten.

Wenn das alles passt lässt sich eine Abfrage mit allen benötigten Feldern zusammenstellen.

Und auf diese Abfrage dann mit dem Formularassistent ein Formular generieren.

   
Beste Grüße
Andreas

DF6GL

Hallo,

so genau verstehe ich nicht, was Du machen willst...

"Letzten Artikel anzeigen, durch die Artikel navigieren, auf einer Seite des Forms" ?


Erstelle für die 1-Tabelle (Datenherkunft: Bestellung)  ein Einzelformular (frmBestellung).

Das Gleiche für die n-Tabelle (Datenherkunft: Artikel)

Platziere frmArtikel als UFO-Steuerelement an eine passende Stelle im HFO (frmBestellung)

Vergewissere Dich, dass die Eigenschaften des UFO-Steuerelementes "Verknüpfen von/ nach"  mit den richtigen Schlüsselfelder gesetzt sind.

Danach kann durch die Positionen der Bestellung navigiert werden.  Das UFO zeigt nach dem Laden des Forms den ersten Artikel gemäß der eingestellten Sortierung an. Wenn gleich auf den letzten DS positioniert werden soll, ist Docmd.GotoRecord,,acLast im Form-Ereignis "Beim Laden" anzuwenden.

Vermutlich ist aber noch Normalisierungsaufwand erforderlich.