Hallo Profis,
In meiner DB habe ich u.a.
Tab: tabStammHersteller, tabStammTextilStufe und tabHersteller_TextilStufe mit entsprechenden IDs und Primärschlüsseln verbunden mit ReferenzIntegrität und Löschweitergabe etc.
Formular: frmStammHersteller, frmStammTextilStufe und frmHersteller_TextilStufe als UF in frmStammHersteller (Hauptformular)
Bericht: berHersteller_TextilStufe als Unterbericht in tabStammHersteller. Hier werden in 1:n die HerstellerIDs und TextilstufeIDs basiert auf einer AbfHersteller_TextilStufe gelistet. Das funktioniert gut!
Problem: wie lautet die VBA für ein Kombi aus tabStammTextilStufe als neuer Datensatz für tabHersteller_TextilStufe unter derselben HerstellerID aus TabStammHersteller, die nicht mehr eingegeben werden muss - da gerade geöffnet - und nach Auswahl aus Kombi in tabHersteller_TextilStufe gespeichert wird, zum neuen DS springt und im Bericht aktualisiert wird.
Da gibt es sicherlich eine galante Lösung in VBA, das immer noch nicht beherrsche!
Vielen Dank für eure Hilfen!
Gruß ToBu
Zitat von: ToBu am Oktober 28, 2023, 18:05:44Problem: wie lautet die VBA für ein Kombi aus tabStammTextilStufe als neuer Datensatz für tabHersteller_TextilStufe unter derselben HerstellerID aus TabStammHersteller, die nicht mehr eingegeben werden muss
Glaubst du wirklich, dass diese Aussage zu verstehen ist?
tabStammHersteller (S1) Primärschlüssel "IDNr"
tabStammTextilStufe (S2) Primärschlüssel "StufeNr"
tabHersteller_TextilStufe (HT), Felder IDNr, StufeNr
frmHersteller (HF) Datensatzherkunft (S1)
frmTextilStufe (UF) Datensatzherkunft (HT), Kombi "AuswahlStufe" Datensatzherkunft (S2)
(UF) ist in (HF) integriert, über "IDNr" von/nach verbunden
Ziel: ich möchte bei geöffneten (HF) in (UF):
1. aus Kombi "AuswahlStufe" eine StufeNr auswählen und in (HT) als neuen Datensatz hinzufügen (Datensatzfelder "IDNr", "StufeNr")
2. aus Kombi "AuswahlStufe" eine StufeNr auswählen und in (HT) aus Kombi "AuswahlStufe" eine StufeNr auswählen und in (HT) Datensatz löschen (Datensatzfelder "IDNr", "StufeNr")
über entsprechende Buttons im UF soll 1. bzw. 2. gesteuert werden (Datensatznavigation ausgeblendet).
Mir fehlt die VBA-Kenntnis, wie die Ereignisprozeduren zu formulieren und an welcher Stelle ("nach Aktualisierung", "Beim Klicken"?) sie auszuführen sind.
Die Ergebnisse sollen in einem Bericht "berStufen", der in HF eingebettet ist, aktualisiert werden.
Ich hoffe, mich nun verständlicher ausgedrückt zu haben.
Gruß ToBu
Hallo,
kannst Du bitte mal ein Bild des Beziehungsfensters zeigen, damit man eine genauere Vorstellung über die Zusammenhänge hat?
Ich weiß nicht, wie ich das DB-tool Beziehungen hier zeigen kann!
Aber dort habe ich alle Tabellen mit Primärschlüsseln in 1:n Beziehungen miteinander verbunden: Referenzielle Integrität mit Löschweitergabe etc.
Das ist alles soweit richtig!
Ich habe aber jetzt eine Lösung gefunden, die weitestgehend ohne VBa auskommt und sehr gut funktioniert:
1. Den Bericht im HF habe ich herausgenommen.
2. An dessen Stelle ist im UF mit Kombi AuswahlStufeNr eine Abfrage mit Standardansicht Endlosformular basiert, in dem ein Textfeld mit Datenherkunft IDNr aus tabStammHersteller eingefügt ist mit dem Standardwert =Formulare![frmEingabe_Stamm_Hersteller]!IDNr
3. Kombi AuswahlStufe bei Ereignis nach Aktualisierung: [Ereignisprozedur]...
Private Sub AuswahlStufeNr_AfterUpdate()
Me.Recordset.FindFirst "StufeNr = " & Me.AuswahlStufeNr
End Sub
4. In diesem UF sind die Navigationsschaltflächen und Datensatzmarkierer auf ja gestellt.
Damit kann ich nun sehr schön alle gelisteten DS ändern, löschen oder neue hinzufügen.
Sicherlich können Profis wie ihr das ganze galanter mittels VBa programmieren, aber für meine Kenntnisse reicht das allemal.
Vielen Dank für eure hilfreichen Beiträge!
Gruß ToBu