amateur31
Goto Top

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.

Content-Key: 388196

Url: https://administrator.de/contentid/388196

Printed on: April 18, 2024 at 08:04 o'clock

Mitglied: 137289
137289 Oct 01, 2018 updated at 08:48:38 (UTC)
Goto Top
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.htm

Gruß speedlink
Member: Amateur31
Amateur31 Oct 01, 2018 at 12:02:49 (UTC)
Goto Top
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.
Gruß Amateur31
Mitglied: 137289
137289 Oct 01, 2018 updated at 12:28:14 (UTC)
Goto Top
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.
, 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.
Member: Amateur31
Amateur31 Oct 02, 2018 at 08:06:05 (UTC)
Goto Top
Habe das mal versucht aber es funktioniert nicht so wie gewünscht vielleicht habe ich da auch was falsch verstanden.
Habe mal ein Bild gemacht wie ich mir das denke weis aber nicht ob das so überhaupt geht, vielleicht bin auch auf dem komplett falschen Weg.


javascript:void(0);
formular neu
Mitglied: 137289
137289 Oct 02, 2018 updated at 08:26:14 (UTC)
Goto Top
Also wie oft muss ich das jetzt noch wiederholen?
  • 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.
Member: Amateur31
Amateur31 Oct 04, 2018 at 11:37:03 (UTC)
Goto Top
Ich habe das jetzt so geschrieben es funktioniert auch so wie ich es mir denke.

Unterformular
Private Sub Anlagenteil_DblClick(cancel As Integer)
DoCmd.OpenReport "Visko_alt_ Handarbeitsplatz", acViewReport

End Sub

Mein Problem ist nun aber das dieser Bericht immer angezeigt wird auch wenn ich im Unterformular auf einen anderen Anlagenteil doppelklicke. Wie kann man nun verhindern das wenn man im Unterformular ein anderes Anlagenteil doppelklickt das dieses oder andere mit angezeigt werden . Habe es mal mit Filter oder Bedingungen versucht nur leider nicht mit Erfolg den ich erhofft habe. Das einzige was mal geklappt hat war das der Bericht an der richtigen Stelle angeklickt wurde richtig angezeigt wurde. Wenn man ein anders Anlagenteil anklickt geht der gleiche Bericht wieder auf nur ohne Information also leer. Gibt es da eine Möglichkeit wie man verschiedene Berichte öffnen kann ohne andere mit zu öffnen. Also Anlageteil 1 Bericht 1 und nur der oder Anlagenteil 2 Bericht 2 usw.
Mitglied: 137289
137289 Oct 04, 2018 at 11:38:27 (UTC)
Goto Top
Sag mal liest du meine Posts überhaupt ???????
Member: Amateur31
Amateur31 Oct 05, 2018 at 13:25:33 (UTC)
Goto Top
Sicher ich lese alles was du postet muss aber gestehen das ich mich mit Access erst seit ca. 4 Monaten beschäftige habe mir Bücher gekauft und mich dann daran gewagt. Habe eine Datenbank erstellt sie funktioniert nur wird es nicht gerade die beste Lösung geworden sein. Habe das ungefähr so gemacht. Zuerst eine Startmenü über das ich die Anlagen und deren Anlagenteile eingeben kann ebenso welche Art der Information (in erster Linie für Betriebselektriker und Steuerungstechniker) und das Datum und Text. Über das Startmenü kann man auch die Anlagen ausgeben da habe ich Formulare mit Listenfelder erstellt wo man die Anlagen sehen kann vor das Listenfeld habe ich dann Umschaltflächen gestellt wenn man die anklickt kommt man in die Anlagenteile das habe ich genauso gemacht von da aus dann in ein Formular wo ich erkennen kann ob es schon Informationen zu dem Anlagenteil gibt oder nicht, wenn ja ein doppelklick in das Listenfeld und der Bericht wird mit allen eingegebenen Informationen zu dem Anlagenteil angezeigt.
Ich dacht mir das es nicht so gut aussieht wenn alle Anlagen in einer DB sind darum habe ich mich entschlossen eine zweite zu erstellen dabei bin ich dann auf die Idee gekommen anstatt alles wieder mit den Umschaltflächen zu machen warum nicht gleich aus einem Listenfeld heraus den Bericht öffnen, durch probieren ist mir dann aufgefallen das es mit einem Unterformular einfacher geht. Dann habe ich versucht über anklicken den richtigen Bericht zu öffnen was mir aber bis jetzt so in der Art nicht gelungen ist. Ich erstelle die Bericht über Abfragen und habe sie nicht in einer Tabelle. Bin ein lupenreiner Anfänger in Access. Bei dieser Idee mit den anklicken können mir die Bücher leider nicht helfen und das Internet nur eingeschränkt da ich in der Firma nur bedingt drauf zu Griff habe.
Member: Amateur31
Amateur31 Oct 05, 2018 at 13:29:17 (UTC)
Goto Top
Trotzdem vielen Dank für deine Tips bin schon mal ein bisschen weiter gekommen.
Und ein schönes Wochenende