Aus Listenfeld bestimmtes Formular öffnen
Hallo Zusammen
Ich habe eine Datenbank(Access 2007) erstellt wo ich zu vorhandenen Maschinen Informationen sammeln kann. Ich habe das springen zwischen den Formularen mit Umschaltfläche gemacht es funktioniert alles soweit gut. Nun bin ich an einer neuen dran, jetzt möchte ich das aber etwas komfortabler machen. Habe nun ein Formular kreiert das mir die Maschinen anzeigt und in einem Unterformular die passenden Maschinenteile. Nun möchte ich wenn man im Unterformular das passende Maschinenteil anklickt der dazugehörende Bericht geöffnet wird, wer kann mir dabei helfen und mir sagen wie man sowas machen kann. Habe schon das eine oder andere versucht mit Makros oder VBA aber bis jetzt nur mit mäßigem Erfolg.
Schon mal besten Dank für eure Bemühungen in voraus.
Ich habe eine Datenbank(Access 2007) erstellt wo ich zu vorhandenen Maschinen Informationen sammeln kann. Ich habe das springen zwischen den Formularen mit Umschaltfläche gemacht es funktioniert alles soweit gut. Nun bin ich an einer neuen dran, jetzt möchte ich das aber etwas komfortabler machen. Habe nun ein Formular kreiert das mir die Maschinen anzeigt und in einem Unterformular die passenden Maschinenteile. Nun möchte ich wenn man im Unterformular das passende Maschinenteil anklickt der dazugehörende Bericht geöffnet wird, wer kann mir dabei helfen und mir sagen wie man sowas machen kann. Habe schon das eine oder andere versucht mit Makros oder VBA aber bis jetzt nur mit mäßigem Erfolg.
Schon mal besten Dank für eure Bemühungen in voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 388196
Url: https://administrator.de/forum/aus-listenfeld-bestimmtes-formular-oeffnen-388196.html
Ausgedruckt am: 28.04.2025 um 06:04 Uhr
9 Kommentare
Neuester Kommentar

Nun möchte ich wenn man im Unterformular das passende Maschinenteil anklickt der dazugehörende Bericht geöffnet wird
DoCmd.OpenReport()Habe schon das eine oder andere versucht mit Makros oder VBA aber bis jetzt nur mit mäßigem Erfolg.
Dann wird's Zeit für die Basics: https://www.vba-tutorial.de/applikation/access.htmGruß speedlink

Zitat von @Amateur31:
Das mit
DoCmd.OpenRepot()
habe ich schon versucht damit kann man aber nur einen Report öffnen
Nö, geht problemlos auch mehrere. Man übergibt ja den Namen des zu öffnenden Reports und den holst du dir ja aus deiner gewünschten Spalte der Tabelle.Das mit
DoCmd.OpenRepot()
habe ich schon versucht damit kann man aber nur einen Report öffnen
, lege aber für jedes Maschinenteil einen Report an. Auf meinem Formular z.B. steht also die Maschine 00 sie besteht aus den Maschinenteilen AB, CD, EF usw. .Wenn ich dann auf AB klicke möchte ich den dazu gehörigen Bericht öffnen.
Ist doch kein Problem, du übergibst einfach den Inhalt der gewünschten Spalte als Reportnamen, oder wie auch immer du deine Reportnamen zusammensetzt.Also im Doppelklick Event der gewünschten Spalte den obigen Befehl setzen und als Namen den Inhalt der gewünschten Spalte übergeben Spaltenname.Value , fertsch.

Also wie oft muss ich das jetzt noch wiederholen?
Ich gehe davon aus das die Namen der Reports die gleichen sind wie die Anlagenteilnamen, ansonsten musst du eine Zuordnungstabelle erstellen welcher das Anlagenteil dem Berichtsname zuordnet und dann mit DLookup abfragen oder direkt mit Select Case im Code unterscheiden.
Also wenn das jetzt nicht reicht ist bei dir Hopfen und Malz verloren.
- Unterformular in der Entwurfsansicht öffnen
- Eigenschaften des Feldes Anlagenteil öffnen
- Im Ereignis Doppelklick eine neue Prozedur anlegen
- In die Sub schreiben
DoCmd.OpenReport Anlagenteil.Value, acViewNormal
Ich gehe davon aus das die Namen der Reports die gleichen sind wie die Anlagenteilnamen, ansonsten musst du eine Zuordnungstabelle erstellen welcher das Anlagenteil dem Berichtsname zuordnet und dann mit DLookup abfragen oder direkt mit Select Case im Code unterscheiden.
Also wenn das jetzt nicht reicht ist bei dir Hopfen und Malz verloren.
javascript:void(0);
Falsche Kategorie ...das ist JavaScript.
Sag mal liest du meine Posts überhaupt ???????