PDA

Vollständige Version anzeigen : Suchkriterien im Unterform. anzeigen lassen


Dyx
21.09.2001, 11:31
Hallo alle zusammen!

Dank des von toja's gelösten Problem unter: Unterformular macht mir große Sorgen (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=49219)

habe ich versucht in meiner DB ähnliches Problem zu lösen.


Private Sub Suchen_Click()
On Error GoTo Err_Suchen_Click

Dim Suchkriterien As String


Suchkriterien = Me![PA_Nr]
DoCmd.OpenForm "Hauptform"
Dim rs As Recordset

Set rs = Forms!Hauptform!PA_Nr.Forms.RecordsetClone
rs.Find "PA_Nr = (" & Suchkriterien & ")"
Forms!Hauptform!PA_Nr.Form.Bookmark = rs.Bookmark
rs.Close
Set rs = Nothing

Exit_Suchen_Click:
Exit Sub

Err_Suchen_Click:
MsgBox Err.Description
Resume Exit_Suchen_Click
End Sub

Es scheint aber nicht so.

Es sieht bei mir folgendermassen aus:

Mein Hauptformular beinhaltet ein Unterformular, das die gesamte Daten anzeigt.

Suchkriterien werden in einem separaten ungebundenen Suchfomular gesucht.

Nachdem ich die Suchkriterien eingetragen und Schaltfläche geklickt habe, offnet sich das Hauptformular und die Suchkriterien im Unterformular angezeigt werden sollen.

Es kommt folgende Fehlermeldung:
MS Acc. kann das in Ihrem Ausdruck angesprochene Feld 'PA_Nr' nicht finden.


Was mache ich falsch?

Für jede Hilfestellung wäre ich sehr dankbar.

Anne Berg
21.09.2001, 11:44
So, dann wollen wir mal auch dieses Problem knacken! :)

Anwelcher Stelle im Code erscheint die Fehlermeldung? (notfalls per debugging herausfinden)
Die Klammerung bei .Find halte ich für falsch.

aaaahh - was ist denn 'PA_NR' eigentlich, das Ufo oder ein Textfeld??
Das Suchkriterium (sg.) ist doch wohl eine Nummer, oder?

P.S. Ehrlich gesagt finde ich die Bookmark-Lösung nicht so toll und halte es für vernünftiger, einen Filter einzusetzen.
Außerdem müßten doch HF und UF in irgendeine Beziehung zueinander zu stellen sein...

Dyx
21.09.2001, 11:54
Hallo Anne!

Danke erst mal für deine schnele Antwort.

Es geht also los:

Fehlermeldung kommt hachdem sich Hauptform. offnet. (eigentlich msgbox zeigt dies bloß als eine Info)

'PA_Nr' ist ein Textfeld im UFo.

Das Suchkriterium ist eine Nummer, richtig.

Anne Berg
21.09.2001, 11:57
Und wie heißt Dein Ufo???

Der Ausdruck
Forms!Hauptform!PA_Nr.Form.Bookmark
macht dann ja wohl keinen Sinn. Hier müßte an Stelle von PA_NR der Steuerelementname des Ufo im HF stehen.

hth

Dyx
21.09.2001, 12:37
Hi!

Steuerelementname des Ufo im HF heißt genau PA_Nr.

Ich fürchte es, dass etwas dabei nicht stimmt. :(

Dyx
21.09.2001, 12:41
mein Unterformular heist:

Unterformular_test.

ob das Hilft?

Anne Berg
21.09.2001, 12:43
... ich schließe mich dem an! :)

Tschüss für heute und noch viel Erfolg.

Anne Berg
21.09.2001, 12:48
heh, wieso warst Du schneller??

Der 'wirkliche' Name des Ufo spielt hier keine Rolle. Syntaxmäßig müßte eigentlich auch alles ok sein, schließlich lassen sich die beiden PA_NRs eindeutig ansprechen.

Bist Du sicher, dass das Feld PA_NR im Recordset enthalten ist??

Dyx
21.09.2001, 13:07
Ok,
ich versuche es weiter zu kriegen.

Trotzdem danke ich Dir ganzherzlich für deine Hilfe.

Und wünsche schönes Wochenende...

PS: ich glaube, dass das Feld PA_NR im Recordset enthalten ist.
Ich prüfe aber lieber noch mal.

Dyx
25.09.2001, 09:24
Hi alllen zusammen!

Ich habe alles überprüft. Nach meiner Sicht soll alles stimmen.
Es funktioniert trotzdem nicht.

Frage:
Sollen die Hauptform. und Unterform in einer Verknüpfung stehen???

Kann jemand weiter helfen?

Anne Berg
25.09.2001, 09:37
Hallo Dyx,

in der Regel stehen HF und UF sozusagen in einer 1:n-Beziehung, dann liegt es nahe, sie miteinander zu verknüpfen.
Wenn aber das Unterformular unabhängig vom Hauptformular aktualisiert werden soll, muß es eine Aktion geben, die das übernimmt.

Klingt ziemlich theoretisch, aber ich habe da eine eigene Anwendung im Kopf, bei der ich nur auf Anforderung ein Requery des Ufos ausführe, weil ziemlich zeitintensiv.

Wenn Du willst, kannst Du mir Dein Beispiel mal zuschicken. Es gibt bestimmt eine Lösung.

Dyx
25.09.2001, 09:50
Hallo Anne,

ich brauche genau das, dass das Unterformular unabhängig vom Hauptformular aktualisiert werden soll.
Da im HF befinden sich nur Schaltflechen, keine Felder; im UFo dagegen die entsprechende Felder mit Daten die angezeigt werden sollen.

PS: ich bereite jetzt meine DB mit kurzer Beschreibung vor und schicke an Dich per email.

Für deine Mühe im Voraus rechtherzlichen Dank.

------------------
viele Grüße
Dyx

Anne Berg
25.09.2001, 10:15
Hallo Dyx, nur zur Info: ich hab jetzt einen Termin und kann Dir erst morgen antworten. Anne

Dyx
25.09.2001, 10:41
@ Anne,

Alles Klar, no problemooo ;)

toja
25.09.2001, 13:24
Hallo Dyx, Anne,
ich habe gerade versucht, Euren Dialog nachzuvollziehen...aber erst mal das wichtigste:
Dein Code kann so nicht funktionieren...da sind ein paar dicke Dinger drin ;)
Du soltest Dich da nicht verwirren lassen
Hier der korrigierte Code:


Dim rs As DAO.Recordset
Set rs = Forms!Hauptform!Unterformular_test.Form.RecordsetClone
rs.FindFirst "PA_Nr = ('" & Suchkriterien & "')"
Forms!Hauptform!Unterformular_test.Form.Bookmark = rs.Bookmark
rs.Close

Schau Dir den Code mal genau an...ich habe da einige Sachen geändert...müßte jetzt besser klappen; macht so auf alle Fälle mehr Sinn. Dazu muß ich sagen, daß dieser Code nur mit einem String als Sichkrit funktionieren kann, wenn PA_ID ein Integer o.ä. ist sieht's schon wieder anders aus...

So, ich hoffe dies hilft Dir weiter, wenn nicht, nicht zögern, sofort mailen; wäre doch gelacht; klappt ja bei mir auch u so wie ich das verstanden habe, ist die Problematik, die Du abbilden willst gleich...

@Anne: Deine Kritik an 'Bookmark' kann ich m.E. nicht nachvollziehen; macht an dieser Stelle meiner Meinung nach Sinn...

Viele Grüße toja

Dyx
25.09.2001, 15:11
Hi toja!

In einigen Sachen hast Du Recht .
Ganze Problematik leigt daran, dass ich noch nicht ganz Fit in VBA bin. :(

Also, ich habe dein Code gleich ausprobiert.
Es kommt aber bei der Zeile
"rs As DAO.Recordset" folgende Fehler:
Benutzerdefinierte Typ nicht definiert.

Kannst Du mir dies erklären, was ich weiter machen soll?

PS: PA_Nr ist bei mir "Long Integer"

toja
26.09.2001, 07:55
Hi Dyx,
ich check das mal nachher, wenn ich ein wenig Zeit hab...
VG toja

Dyx
26.09.2001, 11:41
Hallo Acc-Freak!

Gibt's möglichkeit in meiner Suchfunktion eine Lösung zu finden, wenn ich in VBA die SQL-Abfrage anbinde?

Hat jemand eventuell eine Idee?