November 29, 2021, 13:01:49

Neuigkeiten:

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


Suchen im Unterformular

Begonnen von aisha, März 12, 2021, 13:00:25

⏪ vorheriges - nächstes ⏩

aisha

Hallo

Vorne weg, ich habe eigentlich zu genau dem Problemeine Kommunikation gefunden. Jedoch bekomme ich es einfach nicht zum Laufen.

Und ich finde einfach meinen Fehler nicht.

Zu meiner DB:

Ich habe ein HFO namen's FRM_Patient und ein UFO namens ufrm_PatientStaging.
Ich möchte eine Nummer im HFO eingeben und im UFO sollen der Datensatz angezeigt werden.

Ich habe ein ungebundenen Textfeld im HFO mit dem Namen txt_suche_R_Nr und einen Suchbutton in dem ich den Code eingebe.
Ich habe Reiter im HFO und im Reiter Staging habe ich ein UFO mit einem gebundenes Textfeld mit dem Namen txt_RNr, Steuerelementinhalt ist R_Nr. Das HFO und UFO sind über die PatientID verbunden.

Meine Syntax lautet

  Private Sub cmd_Suche_R_Nr_Click()
Me!ufrm_PatientStaging.Form.Filter= "[R_Nr] ='" & Me!txt_suche_R_Nr & "'"
Me!ufrm_PatientStaging.Form.FilterOn =True
End Sub

Ich bekomme immer den Fehler:
ZitatDB kann das in Ihrem Ausdruck angesprochene Feld 'ufrm_PatientStaging' nicht finden

Wo liegt mein Fehler? Könnt ihr mir helfen?


DF6GL

Hallo,

ZitatFeld 'ufrm_PatientStaging' nicht finden


vermutlich heißt das UFO-Steuerelement im HFO nicht "ufrm_PatientStaging"

andyfau

Hallo,

 habs mal nachvollzogen:

Me!ufrm_PatientStaging.Form.Filter = "[R_Nr] ='" & Me!txt_suche_R_Nr & "'"
Me!ufrm_PatientStaging.Form.FilterOn = True

funtz einwandfrei.

Liegt wohl an dem Feldnamen, bzw Unterformularnamen : ufrm_PatientStaging

Oh, sehe gerade. Franz war schneller. ;-)
Gruß
Andreas

aisha

Hallo

Danke für die Antworten. Ich habe es nochmal geprüft. Das Herkunftobjekt heißt ufrm_PatientStaging der Name ist ufrm_PatientStagingBinding. Ich habe nun den Namen geändert. Es kommt keine Fehlermeldung mehr, aber den Datensatz zeigt er mir trotzdem nicht an. Kann es sein, das vielleicht das Problem ist, das die Daten in unterschiedlichen Tabellen vorhanden sind (dbo_Patient und dbo_PatientStaging)? Die Tabellen haben einen gemeinsamen Identifier (PatientID), ist im HFO und UFO auch enthalten und auch die Eigenschaft Verknüpft nach und Verknüpft von über diese ID versehen, aber vielleicht kommunizieren die nicht richtig miteinander.

Oder gibt es vielleicht irgendwelche Tools, die installiert sein müssen?

Danke nochmal für die Hilfe.

Lg Antje 

andyfau

Hallo Antje,
das ist so schwer zu sagen. Wäre es dir möglich eine Kopie der Datenbank, natürlich nur mit neutralen Testdaten, hier hoch zu laden?

Beaker s.a.

Hallo Antje,
Zuerst, warum ist der Identifier (Primärschlüssel?) vom Datentyp "String"?
Und ist das in beiden Tabellen der gleiche Typ und Name, dann
Me!ufrm_PatientStagingBinding.Form.Filter = "[PatientID] ='" & Me!txt_suche_R_Nr & "'"Der Name des PK bzw. des Textfeldes ("R_Nr") erschliesst sich bei der Suche
nach einem "Patienten" auch nicht auf Anhieb, um nicht zu sagen, - gar nicht.

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

Ich weiß nicht recht wie ich die Datenbank kopieren kann. Das Backend ist auf einem SQL-Server bei dem ich nur Zugang habe um Variablen anzulegen etc. Das Frontend könnte ich kopieren, bringt aber glaube ich nichts ohne Backend.

Die DB habe ich leider nicht programmiert, nur übernommen. Es ist so das die Unterformulare (mit den jeweils entsprechenden Tabellen) vorhanden sind. Im Hauptformular sind Reiter eingebaut und die Unterformulare in den jeweiligen Reitern. Im HFO werden Standartdaten wie Name, Geburtsdatum etc. erfasst. In den Unterformularen dann die weiteren spezifischen Daten eingegeben. Damit das Unterformular den selben Patienten anzeigt wie im HFO wurde eine PatientID eingefügt (int- Ist auch der PK), die in beiden Formularen/Tabellen vorhanden ist.  Diese sind in den Eigenschaften über verknüpft nach/von verbunden. Die R-Nummern ist eine Befundnummer und befindet sich im Unterformular. Suchen möchte ich aber im HFO danach, da dort auch andere Suchfunktionen vorhanden sind und ich die einzelne Suchoptionen nicht in der DB verteilen wollte.

Aber Beaker s.a. hat vermutlich recht. Irgendwie muss ich die PatientID mit in den Filter einbauen. In dem beschriebenen Code muss doch PatientID = txt_suche _R_Nr sein um einen Datensatz anzuzeigen oder verstehe ich den Code falsch und habe einen Knoten im Kopf. Dies ist ja nicht der Fall.  txt_suche_R_Nr muss in der Spalte R_Nr der Tabelle dbo_PatientStaging suchen und mir dann die dazugehörigen Datensatz anzeigen.

LG

Beaker s.a.

Hallo Antje,
Im Prinzip ist es egal womit du filterst, - das Feld muss allerdings in
der Datensatzherkunft des (Unter)Formulars enthalten sein.
ZitatDie R-Nummern ist eine Befundnummer und befindet sich im Unterformular
Steht diese nicht mit dem Patienten in Beziehung und ist das UFo dann
nicht über die PatientenID verknüpft?
Wenn ersteres ja und letzteres nicht, denke ich müsste der Filter so
aussehen
Me!ufrm_PatientStagingBinding.Form.Filter = "[PatientID] =" & Me!txt_PatientenID & " AND [R_Nr] ='" & Me!txt_suche_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.