Hallo!
Leider bin ich nach langem Suchen nicht fündig geworden und hoffe ihr könnt mir helfen.
Ich habe ein gebundenes Access-Formular mit Unterformular erstellt. Das Hauptformular ist einspaltig und das Unterformular in der Datenblattansicht. Im Hauptformular sehe ich die Daten des Patienten (Name, Geburtsdatum, Auftragsnr...) und im Unterformular sind die einzelnen Untersuchungen des Patienten aufgelistet.
Möchte ich nun über die Navigationsschaltfläche zur nächsten Auftragsnr., muss ich jede einzelne Untersuchung durchlaufen.
So sieht derzeit mein Unterformular aus:
Die automatische Navigationsschaltfläche springt zum nächsten Datensatz wie folgt (siehe Pfeil):
Auftragsnr. Name Untersuchung
-> 35 Mayer A
-> 35 Mayer B
-> 35 Mayer F
-> 42 Hausner B
-> 42 Hausner F
-> 61 Bauer G
-> 61 Bauer B
-> 61 Bauer K
-> 61 Bauer H
Ich möchte aber eine Navigationsschaltfläche erstellen die zur nächsten Auftragsgruppe springt, wie folgt (siehe Pfeil):
Auftragsnr. Name Untersuchung
-> 35 Mayer A
35 Mayer B
35 Mayer F
-> 42 Hausner B
42 Hausner F
-> 61 Bauer G
61 Bauer B
61 Bauer K
61 Bauer H
Über die Befehlschaltfläche -> Datensatznavigation gibt es nur die Möglichkeit zum ersten, zum letzten, zum nächsten und zum vorherigen Datensatz zu gelangen. Beim Makro "gehe zu Datensatz" wüsst ich nicht was ich in "Offset" eintragen soll.
Bin mit VBA nicht sehr vertraut aber wenn's keine andere Möglichkeit gibt würd ich das auch gern versuchen.
Bin für jeden Tipp dankbar!!
Hallo,
irgendwie bist Du auf dem falschen Weg.
Das gezeigte Unterform entspricht nicht dieser Aussage:
ZitatIm Hauptformular sehe ich die Daten des Patienten (Name, Geburtsdatum, Auftragsnr...) und im Unterformular sind die einzelnen Untersuchungen des Patienten aufgelistet
Falls das UFO die Untersuchungen ALLER Patienten (und unabhängig von dem im Hauptform angezeigten Patienten) zeigt, dann gäbe es die Möglichkeit, die Eigenschaften des UFO-Steuerelementes "Verknüpfen von/nach" auf jeweils die Schlüsselfeldnamen einzustellen, damit die Anzeige im UF mit dem Patienten im HF automatisch synchronisiert wird.
Hallo!
Danke für die Antwort.
Sorry, mein Formular sieht so aus:
Hauptformular:
Name: Mayer
Geburtsdatum: xx
Auftragsnr.: 35
etc.
Unterformular:
Auftragsnr. Name Untersuchung
-> 35 Mayer A
-> 35 Mayer B
-> 35 Mayer F
Es werden die Untersuchungen einer Auftragsnr. angezeigt. Das heißt, hier in diesem Bsp. müsste ich die Navigationstaste 4x betätigen um zur nächsten Auftragsnr. zu gelangen.
Vielen Dank!
Hallo,
wenn die Auftragsnummer mit dem Namen assoziiert ist, (wie in Deinem Beispiel zu sehen ist) ,dann muss im Hauptform der entspr. Name ausgewählt werden.
Hallo gk,
Luftcode:
Private Sub DeinButton_Click
Dim lANR as Long
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
lANR=Me!txtANR
rst.FindFirst "ANR > " & lANR
If rstNoMatch = False Then
MeBookmark = rst.Bookmark
Else
MsgBox "Kein weiterer Auftrag gefunden!"
End If
set rst = Nothing
End Sub
Damit findest Du aber nur den nächsten Auftrag des
gleichen Kunden (HFo).
hth
gruss ekkehard
Danke für die Antworten.
Ekkehart, ich werde deinen Code studieren :).
Nochmal zur Erklärung:
Ich bekomme laufend eine fertige Excelltabelle von allen Patienten eines bestimmten Zeitraumes. Diese improtiere ich ins Access.
Die Datensätze sind nach Untersuchungen aufgeschlüsselt:
1 Untersuchung=1 Datensatz
Die Accesstabelle sieht dann so aus:
ID Auftragsnr. Name Untersuchung
1 35 Mayer A
2 35 Mayer B
3 35 Mayer F
4 42 Hausner B
5 42 Hausner F
Wie in diesem Bsp. gehören 3 Untersuchungen=3 Datensätze zu 1 Auftragsnr.. (1 Patient kann auch mehrere Auftragsnr. haben)
Das HFM und UFM stammen aus der gleichen Tabelle nur, dass das HFM einspaltig ist und das UFM in der Datenblattansicht. Das HFM und das UFM haben beide jeweils eine Navigationsschaltfläche und tun das Selbe: sie springen in den nächsten Datensatz.
Daher muss ich auch im HFM die Datensatznavigationstaste öfters betätigen um zur nächsten (nicht der selben) Auftragsnr. zu gelangen.
Hallo GK,
Dann verknüpfe das UFo mit dem HFo über
das Namensfeld. Dann siehst Du im UFo immer
alle Aufträge eines Kunden.
Falls Du damit nicht weiterkommst, poste die
DS-Herkunft von HFo und UFo.
Das sollten zwei Abfragen auf die Tabelle sein;
gibt ja nur eine, wenn ich das richtig verstanden
habe.
Da kommen dann aber auch Zweifel am Datenmodell
auf, da es mindestens zwei Tabellen geben sollte; -
eine tblPatienten und eine tblAuftraege.
gruss ekkehard
Hallo und vielen Dank für die vielen Antworten! :)
Ich glaube, dass wir im Moment noch aneinander vorbei reden und versuche mein (kompliziertes) problem nochmals darzustellen. danke für eure geduld!
ich habe eine tabelle mit patientennamen und untersuchungen. wenn ein patient mehrere untersuchungen hat so schaut das ganze so aus:
Max Mustermann Untersuchung A
Max Mustermann Untersuchung B
etc.
ich "gruppiere" jetzt im hauptformular nach dem patientennamen und im UF werden die Untersuchungen angezeigt.
ich möchte nun im HF eine Schaltfläche, damit ich zum nächsten Patienten springen kann. Leider funktioniert die navigation mit "Gehe zu" etc nicht, da er immer nur zur nächsten Untersuchung und nicht zum nächsten Patienten springt.
Bitte nochmal um euere hilfe....vielleicht gibts da eine einfache (evtl über vba) lösung
danke und lg :) ::) :-*
Hallo,
du darfts im Hafo nur die Patientendaten anzeigen, nicht die Untersuchungen. Die Datenherkunft des Hafo enthält also nur die Tabelle des Patienten. Hier dürfen die Untersuchungen nicht in die Abfrage. Die Datenherkunft des Hafo sollte/braucht nicht gruppiert sein.
Ins Ufo kommen nur die Untersuchungen verknüpft über die Schlüsselfelder. Jetzt kannst Du mit dem Button im Hafo von Patient zu Patient springen, ohne irgendwelche Probleme.
Oder hast Du gar nur eine Tabelle für die Patientendaten und die Untersucheungen?
Das wäre aber ein grober Strukturfehler.
Hallo!
Im Hauptformular werden nur die Patientendaten angezeigt und im Unterformular die Untersuchungen. Jedoch stammen HFM und UFM aus einer Tabelle (habe leider nur die eine Tabelle!).
Danke und LG
Hallo,
eine Tabelle ist wie gesagt ein grober Strukturfehler.
Baue die DB um, mindestens 2 Tabellen, Patienten und Untersuchungen. In der Tabelle für die Untersuchungen muss ein Fremdschlüsselfeld zum Patienten.
Dann lässt sich Dein Problem ohne eine einzige Zeile zu programmieren mit den Standardfunktionen von Access lösen.
Gibt es ein eindeutiges Merkmal für einen Patienten (Patientnr etc. z.B.) ?