Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Spedi05 am März 26, 2022, 21:18:29

Titel: Formular aus Bericht öffnen
Beitrag von: Spedi05 am März 26, 2022, 21:18:29
Hallo zusammen

möchte ein Formular aus Bericht öffnen.
Im Bericht und im Formular befinden sich jeweils ein Textfeld ( 2022-0011 ).
Habe bereits mit u.g. Code veruscht leider erfolgslos

Versuch 1 :

DoCmd.OpenForm "Rechnungsvorlage", WhereCondition:="Rech_nr_2 '" = Me!Rech_nr_2 '"

Versuch 2:

DoCmd.OpenForm "Rechnungsvorlage", WhereCondition:="Rech_nr_2='" & Me!Rech_nr_2 & "'"

Was mache ich falsch ?

Bitte um Hilfe

Titel: Re: Formular aus Bericht öffnen
Beitrag von: MzKlMu am März 27, 2022, 00:06:25
Hallo,
ein Bericht der in der Seitenansicht gezeigt wird kennt keine Ereignisse, Dein Vorhaben ist also nicht möglich.
Du kannst den Bericht allenfalls in der Berichtsansicht öffnen, welche aber dann zum Drucken nicht geeignet ist.

Warum willst Du ein Formular aus einem Bericht öffnen ?
Nomalerweise macht man das nur umgekehrt.
Titel: Re: Formular aus Bericht öffnen
Beitrag von: Spedi05 am März 27, 2022, 09:09:10
Hallo Klaus,

ich möchte das auch aus dem Berichansicht öffnen und nicht aus der Seiteansicht.

Wie ist der richtige Cide
Titel: Re: Formular aus Bericht öffnen
Beitrag von: DF6GL am März 27, 2022, 09:19:29
Hallo,

bei der Berichtsansicht


Erstelle für das Feld, das die Rechnungsnummer (Rech_nr_2) anzeigt, die Klick-Ereignisprozedur:


ZitatSub Rech_nr_2_Dbl_Click(Cancel As Integer)

DoCmd.OpenForm "Rechnungsvorlage", , ,"Rech_nr_2='" & Me!Rech_nr_2 & "'"   'Falls das Tabellenfeld den Datentyp TEXT hat

End Sub
Titel: Re: Formular aus Bericht öffnen
Beitrag von: Spedi05 am März 27, 2022, 12:22:06
Hallo Klaus,

vielen Dank für den Code.

Leider kommme ich nicht weiter

Wenn ich auf das Feld klicke, kommt die Meldung "Parameterwert eingeben"

Titel: Re: Formular aus Bericht öffnen
Beitrag von: PhilS am März 27, 2022, 12:31:06
Zitat von: Spedi05 am März 27, 2022, 12:22:06Wenn ich auf das Feld klicke, kommt die Meldung "Parameterwert eingeben"
Dann heißt die entsprechende Spalte in der Datenherkunft deines Formulars Rechnungsvorlage anders. Wenn du den korrekten Namen in der Where-Condition einfügst, wird diese Parameterabfrage nicht mehr erscheinen.
Titel: Re: Formular aus Bericht öffnen
Beitrag von: MzKlMu am März 27, 2022, 12:40:17
Hallo,
es wäre sinnvoll, wenn Du den kompletten Code zeigst der zur Meldung führt. Wie sonst stellst Du Dir Hilfe vor ?
Außerdem wäre es wichtig, welchen Datentyp (in der Tabelle) das Feld Rech_nr_2 hat.

PS:
Der Code in #3 war nicht von mir, sondern von Franz

PS2:
Mir ist gerade aufgefallen, dass Du in keinem einzigen Deiner Themen eine abschließende Antwort (Feedback) gibst.
Da wäre noch Potential.
Titel: Re: Formular aus Bericht öffnen
Beitrag von: Spedi05 am März 28, 2022, 20:09:07
Hallo zusammen

ich habe nochmal geprüft, das Feldname im Berichtansicht sowie Formular ist richtig

Beide sind Textfelder siehe Bild 1 + 2

Was muss ich anders machen ?
Titel: Re: Formular aus Bericht öffnen
Beitrag von: PhilS am März 28, 2022, 21:39:31
Zitat von: Spedi05 am März 28, 2022, 20:09:07ich habe nochmal geprüft, das Feldname im Berichtansicht sowie Formular ist richtig
Es geht nicht um den Steuerelement-Namen im Formular oder Bericht, sondern um den Spaltennamen in der Datenherkunft (Abfrage oder Tabelle) des Formulars. Dieser ist in deinem Screenshot für das Formular nicht zu sehen. Im Gegenteil, dass du für das Steuerelement Rech_nr_2 dort einen Ausdruck anstelle eines Spaltennamens eingetragen hast, deutet sehr darauf hin, dass es diese Spalte in der Datenherkunft nicht gibt.
Titel: Re: Formular aus Bericht öffnen
Beitrag von: Spedi05 am März 29, 2022, 21:32:57
Hallo,

ich habe im Berichtansicht sowie im Formular noch ein weiteres Feld "LdfReNr" hinzugefügt.
Das Formular wird anhand der "Tab_Rechn" erzeugt und der Bericht aus der Abfrage "Rechnungsliste"
Die Daten für die Abfrage kommen aus der Tabelle "Tab_Rechn"

Das Feld LdfReNr ist ein Zahlenfeld

Habe jetzt den Code :
DoCmd.OpenForm "Rechnungsvorlage", WhereCondition:="LfdReNr=" & Me!LfdReNr
eingegeben, aber es öffnet sich ein leeres Formular

Titel: Re: Formular aus Bericht öffnen
Beitrag von: PhilS am März 29, 2022, 21:46:03
Zitat von: Spedi05 am März 29, 2022, 21:32:57ich habe im Berichtansicht sowie im Formular noch ein weiteres Feld "LdfReNr" hinzugefügt.
Das Formular wird anhand der "Tab_Rechn" erzeugt [...]
Wiederholung: Die Felder in dem Formular sind in diesem Kontext nicht relevant!

Wenn "Tab_Rechn" die Datenherkunft des Formulars ist, dann kannst du nur Spalten aus dieser Tabelle in der Where-Condition verwenden.

Hier dieselbe Aussage in Code formuliert:
DoCmd.OpenForm "Rechnungsvorlage", WhereCondition:="EineSpalteAusTabelle_Tab_Rechn=" & Me!LfdReNr
Titel: Re: Formular aus Bericht öffnen
Beitrag von: DF6GL am März 30, 2022, 08:38:20
Hallo,


und dabei gilt es zu beachten, welchen DATENTYP das TABELLENfeld aufweist.

Im gezeigten Beispiel ist EineSpalteAusTabelle_Tab_Rechn als vom Datentyp Ganzahl (Long) angenommen.
Titel: Re: Formular aus Bericht öffnen
Beitrag von: Spedi05 am März 30, 2022, 21:42:15
Hallo

egal was ich mache, komme ich nicht weiter.
Ich habe die Datenbank jetzt hochgeladen, vlt. könnt Ihr mir jetzt helfen.

Vielen lieben Dank im Voraus
Titel: Re: Formular aus Bericht öffnen
Beitrag von: PhilS am März 30, 2022, 22:30:11
Zitat von: Spedi05 am März 30, 2022, 21:42:15egal was ich mache, komme ich nicht weiter.
Verständlich...

Ziehe das Feld Rech_Nr zusätzlich in den Bericht und mach es unsichtbar.
Dann ändere den Code im Bericht zu:
DoCmd.OpenForm "Rechnungsvorlage", , , "Rech_nr= " & Me.Rech_Nr
Dass du dann im Formular Rechnungsvorlage immer noch nicht den gewünschten Datensatz siehst, liegt daran, dass du im "Beim Öffnen"-Ereignis des Formular per Makro zu einem neuen Datensatz springst.

Zwei 3 weitere Hinweise:
1.) Wenn das Feld Rech_Nr eindeutig Datensätze identifizieren soll, dann sollte es auch einen eindeutigen Index in der Tabelle haben.
2.) Wenn du dein Feld Rech_nr_2 unbedingt im Bericht zur Anzeige brauchst, dann ist das so. Aber du solltest dieses Feld nirgends im Code verwenden. Selbst wenn du die Probleme, die wir hier diskutiert haben, sinnvoll behandeln kannst, ist es von der Performance immer noch suboptimal.
3.) Ich rate dir dringend die scheinbar redundanten Felder Rech_Nr, LfdReNr, Rech_Nr_2 und Rech_Datum, Rech_Jahr, Monat wenigstens so zu benennen, dass man ihren Sinn versteht und sie auseinanderhalten kann.
Titel: Re: Formular aus Bericht öffnen
Beitrag von: Spedi05 am April 18, 2022, 13:00:09
Hallo zusammen,

vielen Dank für eure Hilfe.
Sorry für die Verspätung