Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Listenfeld erst aktivieren, wenn

Begonnen von Basti123, September 14, 2011, 13:43:46

⏪ vorheriges - nächstes ⏩

Basti123

Hallo zusammen,

ich steh mal wieder auf dem Schlauch...

Haben manche von euch bestimmt schon öfters gelesen: Ich habe ein Formular, mit Listenfeldern (Country, City, Hospital,...) Beim Öffnen wird automatisch "Germany" im Listenfeld Country angeklickt und in den restlichen alle dazu verfügbaren Daten angezeigt. Ich möchte, dass das so bleibt, ich aber erst City auswählen muss, um dann Hospital auswählen zu können. Irgendwo hängts bei mir gerade und ich komm einfach nicht drauf.

Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize

Me.Country.RowSource = "SELECT CountryID, Country, Krzl FROM tblCountry ORDER BY Country"

Me!Country.BoundColumn = "2"
Me!Country.Value = "Germany"

If IsNull(Me!City) Then
   Me!Hospital.Locked = True
   Me!Hospital.Enabled = False
End If
End Sub


Und das ganze mit "If City is null ..." muss ich doch auch noch bei Form_AfterUpdate() reinschreiben oder?

Grüße und Danke
Basti

DF6GL

Hallo,

verstehe nicht ganz, was Du nun machen willst.

"Beim Öffnen wird automatisch "Germany" im Listenfeld Country angeklickt"

Meinst Du mit "angeklickt" " markiert ?


Ich interpretiere so, dass es sich um abhängige Listenfelder handelt, und im ersten ("Country") soll "Germany" markiert sein. Vermutlich soll dabei in Listenfeld "City" die deutschen Städte und in "Hospital" die Krankenhäuser , wobei sich hier die Frage stellt, von welcher Stadt,  angezeigt werden.


Insofern solltest Du nochmal die genaue beschreiben, was passieren soll.


Prinzipiell sind abhängige Listenfelder ähnlich den abhängigen Kombifeldern, die hier z. B. beschrieben sind:

http://www.donkarl.com/?FAQ4.36

Basti123

Guten Morgen,

also es sind ungebundene Listenfelder, die jeweils mindestens 3 Felder enthalten, aber nur eins sichtbar ist. Germany wird von anfang an markiert, in den anderen werden die zugehörigen Daten angezeigt, also alle "Cities" und alle "Hospitals" in Deutschland. Ich möchte, dass Germany markiert bleibt am Anfang, man aber zunächst nur im Listenfeld "City" ein Auswahl treffen kann (bzw. "Country"). "Hospital" soll also gesperrt, aber sichtbar sein.

Eigentlich müsste das ganze ja mit "Me!Hospital.Enabled = false" bzw "Me!Hospital.Locked = true" machbar sein. Nur wo muss das hin, und wie genau frag ich ab, ob in "Me.City" bereits ein Datensatz markiert ist?

Grüße Basti

DF6GL

Hallo,


setz das Listenfeld "Hospital" im Formularentwurf auf "gesperrt". In der Ereignisprozedur "nach Aktualisierung" von Listenfeld "City" wird "Hospital" auf ungesperrt gesetzt:

Sub Cities_Afterupdate()
Me!Hospital.Locked=False
End Sub

Basti123

Danke schön genau das hab ich gesucht :)