Probleme mit RecordSource bei Form_Load

15/10/2007 - 10:53 von c.thome | Report spam
Hallo zusammen

Ich habe ein Problem mit dem Befehl RecordSource. Ich rufe aus einem
Formular (ist mein Hauptmenü in der DB) ein anderes auf und möchte
ausschliesslich die Datensàtze angezeigt bekommen, welche zu einem
Suchstring, den ich in meinem Hauptmenü eingegeben habe, passen.

Das Formular rufe ich so auf:
'-
Dim stDocName As String
stDocName = "frm_legal_entity"
DoCmd.OpenForm stDocName, acNormal, , , acWindowNormal, ,
"filter_name"
'-

Das Formular "frm_legal_entity" öffnet sich nun. Im Ereignis
Form_Load() des Formulars "frm_legal_entity" habe ich dann die
folgende Abfrage eingebaut:
'-
If Me.OpenArgs = "filter_fulltext" Then
Me.RecordSource = "qry_legal_entity_filter_fulltext"
Me.Requery

ElseIf Me.OpenArgs = "filter_name" Then
Me.RecordSource = "qry_legal_entity_filter_name"

ElseIf Me.OpenArgs = "filter_treeview_id" Then
Me.RecordSource = "qry_legal_entity_all_data"
Me.Filter = "ID = " & Mid(Forms!
frm_legal_entity_treeview.legal_entity.SelectedItem.Key, 17)
Me.FilterOn = True

Else
Me.RecordSource = "qry_legal_entity_all_data"
End If
'-

Eigentlich sollte das Formular dann meine definierte Abfrage
"qry_legal_entity_filter_name" nehmen und alle Datensàtze anzeigen, in
denen der Name der entity gleich dem Suchstring aus dem Hauptmenü ist.
Leider wird nur ein leeres Formular angezeigt. Jetzt kommt aber das
komische: Wenn ich jetzt in den Entwurfsmodus wechsle und wieder
zurück in die Formularansicht gehe, werden alle betroffenen Datensàtze
angezeigt. Es klappt jedoch nicht beim ersten Öffnen des Formulars.

Kann mir da jemand helfen? Ich versteh das einfach nicht, warum es
beim zweiten Mal dann funktioniert.

Danke schon mal im Voraus,
Christian
 

Lesen sie die antworten

#1 André Minhorst
15/10/2007 - 11:30 | Warnen spam
Hallo Christian,

schrieb:
Ich habe ein Problem mit dem Befehl RecordSource. Ich rufe aus einem
Formular (ist mein Hauptmenü in der DB) ein anderes auf und möchte
ausschliesslich die Datensàtze angezeigt bekommen, welche zu einem
Suchstring, den ich in meinem Hauptmenü eingegeben habe, passen.

Das Formular rufe ich so auf:
'-
Dim stDocName As String
stDocName = "frm_legal_entity"
DoCmd.OpenForm stDocName, acNormal, , , acWindowNormal, ,
"filter_name"
'-

Das Formular "frm_legal_entity" öffnet sich nun. Im Ereignis
Form_Load() des Formulars "frm_legal_entity" habe ich dann die
folgende Abfrage eingebaut:
'-
If Me.OpenArgs = "filter_fulltext" Then
Me.RecordSource = "qry_legal_entity_filter_fulltext"
Me.Requery

ElseIf Me.OpenArgs = "filter_name" Then
Me.RecordSource = "qry_legal_entity_filter_name"

ElseIf Me.OpenArgs = "filter_treeview_id" Then
Me.RecordSource = "qry_legal_entity_all_data"
Me.Filter = "ID = " & Mid(Forms!
frm_legal_entity_treeview.legal_entity.SelectedItem.Key, 17)
Me.FilterOn = True

Else
Me.RecordSource = "qry_legal_entity_all_data"
End If
'-

Eigentlich sollte das Formular dann meine definierte Abfrage
"qry_legal_entity_filter_name" nehmen und alle Datensàtze anzeigen, in
denen der Name der entity gleich dem Suchstring aus dem Hauptmenü ist.
Leider wird nur ein leeres Formular angezeigt. Jetzt kommt aber das
komische: Wenn ich jetzt in den Entwurfsmodus wechsle und wieder
zurück in die Formularansicht gehe, werden alle betroffenen Datensàtze
angezeigt. Es klappt jedoch nicht beim ersten Öffnen des Formulars.



probier doch mal bei geöffnetem Hauptmenü und eingetragenem Suchstring
aus, ob die Abfrage qry_legal_entity_filter_name tatsàchlich Datensàtze
zurückliefert.

Falls nicht, würde dies das Verhalten erklàren: Beim Aufruf mit
Öffnungsargument wird diese Abfrage als Datenherkunft verwendet, beim
Wechseln in die Entwurfsansicht und zurück in die Formularansicht kommt
OpenArgs nicht mehr zum Zuge und es wird der Inhalt von
qry_legal_entity_all_data angezeigt.

Lass mal was hören!

Ciao
André

http://www.access-entwicklerbuch.de
http://www.access-im-unternehmen.de

Ähnliche fragen