Juli 10, 2020, 16:20:02

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Filterfunktion von Haupt in Unterformular

Begonnen von aisha, Juni 22, 2020, 12:43:46

⏪ vorheriges - nächstes ⏩

aisha

Hallo an alle

Ich habe folgendes Problem

Ich habe ein Hauptformular aus Tabelle (x) und ein Unterformular aus Tabelle (y) welches über Reiter eingefügt wurden (Ich habe mehrere Unteformulare).

Ich möchte in meinem Hauptformular einen bestimmten Datensatz im Unterformular suchen/filtern und anzeigen. Dazu habe ich ein ungebundenes Testfeld im Hauptformular in dem ich mein Suchkriterium eingebe. Dieses soll dann das im Unterformular befindlichen Textfeld durchsuchen und den Datensatz aufrufen.

Mein Quellcode ist bisher wie folgt.

Me.Filter="[NameUnterformular]. Formular![Steuerelement des Unterfomulares]= Me![Name des ungebundenen Textfeldes im Hauptformular]"
Me![NameUnterformular].Form.FilterOn=True

Ich habe auch bereits verschiedene Dinge probiert.

Könnt Ihr mir helfen. Irgendwie habe ich ein Brett vor dem Kopf.

Vielen Dank im Voraus

Lg Aisha

Beaker s.a.

Hallo Aisha,
Zitateinen bestimmten Datensatz im Unterformular suchen/filtern
und
Me.Filter=widersprechen sich.
"Me." ist immer das Objekt (hier das HFo) in dem der Code abläuft.
Du willst aber das UFo filern, also musst du auch dessen Filter setzen
Me![NameUnterformular].Form.Filter="[TabellenFeld des Unterfomulares]= Me![Name des ungebundenen Textfeldes im Hauptformular]"
Me![NameUnterformular].Form.FilterOn=True
Der Filter selber muss sich auf ein Feld der DS-Herkunft des UFo beziehen.
Und, ganz wichtig, "NameUnterformular" MUSS der Name des Unterformular-
Steuerelements (ich hasse dieses Wort) sein, und NICHT der Name des einge-
betteten Formulars. Das wird über die Eigenschaft "Form" angesprochen; -
kannst du hier auch noch einmal nachlesen: http://www.donkarl.com?FAQ4.2

gruss ekkehard


P.S.: OT
@Philipp
Wo ist der Button für den URL-Tag?
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

aisha

Hallo

Vielen Dank für die Antwort.

Wenn ich nun meinSuchkrietrium im ungebundenen Feld eingebe und dann den Button zum Suchen klicke. Hier habe ich auch den Quellcode eingegeben) soll ich nun den Parameterwert des ungebundenen Feldes eingeben. Das bedeutet ja eigentlich das er das Feld nicht erkennt (Ich habe extra noch mal direkt den Namen des Feldes aus den Eigenschaften kopiert um Schreibfehler zu vermeiden). Wenn ich dort nun noch mal das Suchkriterium eingebe, passiert nichts.

Woran könnte das liegen.

LG und danke

Beaker s.a.

Hallo Aisha,
Zitat[TabellenFeld des Unterformulares]
MUSS ein Feld aus der DS-Herkunft des UFos sein, NICHT ein
Steuerelement im UFo.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

aisha

Hallo Ekkehard

Auf die Gefahr hin das du mich für doof hälst, ich muss nochmal nachfragen. Irgendwie verstehe ich das nicht.

Ich habe den Steuerelementinhalt des Feldes im UFO angesprochen. Das ist doch das "Feld aus den DS-Herkunft des Ufo's" oder?

Ich gebe nachfogend meinen Quelltext an sowie die ganzen Namen der notwendigen Felder/Formulare ... an

Quellcode
Wenn ich dies so schreibe, kommt der Fehler das ich einen Pararmeter für Me!txt_suche_R_Nr eingeben soll.
       
Me![ufrm_PatientStagingBinding].Form.Filter = "[R_Nr] = Me!txt_suche_R_Nr "
Me![ufrm_PatientStagingBinding].Form.FilterOn = True



Dies habe ich wie folgt geändert und damit kommt die Fehlermeldung nicht mehr. Die Formatierung habe ich aus einem Suchfeld, wo das zu durchsuchende Feld im HFO ist. Ich muss aber zugeben, mir erklärt sich nicht ganz der Sinn der ganzen Hochkomma's.

Me![ufrm_PatientStagingBinding].Form.Filter = "[R_Nr] =' " & Me!txt_suche_R_Nr & "' "
Me![ufrm_PatientStagingBinding].Form.FilterOn = True
[/code]


Daten:


HFO Name: FRM_Patient
Tabellenname HFO: dbo_Patient
ungebundenen Textfeld in HFO: Name: txt_suche_R_Nr
Name des Unterformular-Steuerelements: ufrm_PatientStagingBinding
eingebettestes UFO: ufrm_PatientStaging
Tabellenname für UFO: dbo_PatientStaging
Steuerelement im UFO Name: txt_RNr
Steuerelementinhalt des Steuerelemtes in UFO: R_Nr

Das Ergebnis aus dem Ganzen ist, dass mir ein leeres Unterformular angezeigt wird und im Hauptformular sich nichts verändert.

was mache ich falsch? :'(  :'(


LG Aisha

Beaker s.a.

Hallo Aisha,
ZitatIch habe den Steuerelementinhalt des Feldes im UFO angesprochen. Das ist doch das "Feld aus den DS-Herkunft des Ufo's" oder?
Ja, das ist richtig.

Einfache Hochkomma brauchst du nur, wenn du Strings in Strings einschliessen
musst.
Wenn "R_Nr" eine Zahl ist würde auch deine erste Variante mit folgender
Änderung funktionieren
Me![ufrm_PatientStagingBinding].Form.Filter = "[R_Nr] = " & Me!txt_suche_R_NrDein zweites Beispiel funktioniert andererseits nur, wenn "R_Nr" ein Feld
vom Typ "Text" ist (die Leerzeichen vor und nach der Variablen sind allerdings
unnötig
Me![ufrm_PatientStagingBinding].Form.Filter = "[R_Nr] = '" & Me!txt_suche_R_Nr & "'"Ansonsten sehe mit deiner Beschreibung der Objekte keine Fehler.
Welchen Datentyp hat denn die "R_Nr"?

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

aisha

Guten Morgen

Das Feld R_Nr ist als kurzer Text formatiert.

Kann es sein dass bei Access irgendein Modul oder sowas zusätzlich installiert werden muss?  Ich hatte es schon mal bei dem Office das ich etwas genau 1 zu1 aus einem Lernvideo nachgebaut habe, und im Lernvideo ging es und bei mir nicht.

Lg Antje

Beaker s.a.

Hallo Aisha,
ZitatDas Feld R_Nr ist als kurzer Text formatiert.
Dann stimmt die zuletzt gezeigte Syntax. Ausser das UFo-Control hat
einen anderen Namen; - Schaust du vielleicht noch einmal hier
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.