Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Ersten Eintrag im Listenfeld automatisch markieren





Frage

Hallo, wenn ich meine DB öffne erscheint im Listenfeld alles richtig sortiert, als Datensatz wird aber die niedrigste ID ausgegeben. -zb Listenfeld startet mit: anlage 123 -angezeigt wird aber : anlage 456 Die erste Zeile soll aber automatisch markiert sein und auch die anlage123 angezeigt werden. wenn ich z,b. Anlagengruppen gefiltert habe, soll es auch wieder so sein: erste zeile markiert und dazugehöriger Datensatz anzeigen. Gruß mouse

Antwort 1 von firefox

DB = Access ?? Version?

Was heißt "angezeigt wird aber" ? Hast du eine Listbox auf einem Datenform die beide der gleichen Datenquelle zugeordnet sind ?

generell wird mit

Listbox1 = Listbox1.ItemData(0) 

der erste Eintrag ausgewählt.

Antwort 2 von mouse

Hallo firefox,
DB = Access2000.
Listbox und Datenform sind gleicher Datenquelle zugeordnet.
Wo muß ich
Liste58 = Liste58.ItemData(0) eintragen?
Gruß mouse

Antwort 3 von firefox

Je nachdem wo es geschen soll. Also wenn es gleich zu Anfang passieren soll dann unter Form.Load()

Also Formular anwählen -> Entwurf-> Eigenschaften -> Reiter "Ereignis" -> Unter "Bei Laden" auf den Button "..." klicken und dann im Codedesginer einfügen.

Aternativ dazu kannst du das auch in der Eigenschaft "Standardwert" bei der Listbox einfügen ;)

Antwort 4 von piano

Hallo
Vielleicht kann ich noch etwas dazu beitragen: Offensichtlich sind Listbox und Datenbank nicht synchronisiert (unterschiedliche Sortierung).
Um den richtigen Satz anzuzeigen füge zusätzlich zu den oben beschriebenen (@firefox) in Form.Open folgenden Code ein:
    Me.RecordsetClone.FindFirst "[SchlüsselAlfa] = ´" & Me![Liste58 ] & "´"
    Me.Bookmark = Me.RecordsetClone.Bookmark
 

oder
Me.RecordsetClone.FindFirst "[SchlüsselNumerisch] =  Me![Liste58 ] "
 

Diesen Code kannst Du auch nach jeder Filterung einfügen.

Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von mouse

Hallo an alle,
das Problem ist, daß das Listenfeld nach Geräten sortiert angezeigt wird.
Es ist anscheinend so,daß die Liste bei Geräte ID 0 anfängt, die richtige Sortierung anzeigt, aber beim Öffnen immer nur Geräte ID 0 im Formular als erstes angezeigt wird.
Wenn ich gefiltert habe, muß ich auch immer erst anlicken im Listenfeld, damit im Formular der Datensatz erscheint. Ich möchte aber egal wie gefiltert, das erste gefundene Gerät automatisch angezeigt bekommen.
Vielen Dank mouse

Antwort 6 von mouse

@piano
Deinen Code habe ich ausprobiert,
wenn ich den Schlüssel ID Nr eingebe, funktioniert alles wie vorher, wenn ich aber als Schlüssel den Gerätenamen eingebe, bekomme ich eine Fehlermeldung. Der Schlüssel ID Nr ist ja auch für die Liste schon vorgegeben. Deshalb zeigt das Programm wohl auch beim Öffnen des Formulars immer die niedrigste ID Nr zuerst an.
Gruß mouse

Antwort 7 von piano

Hallo
Das Listenfeld besteht offensichtlich aus mehreren Feldern, das sollte die Fehlermeldung erklären.
Das 1. ist wahrscheinlich ID. Um die 2.Spalte abzufragen verwende Me![Liste58 ] .Column(2)
Probiers mal!
Gruss piano

Antwort 8 von mouse

Kann es sein, daß der Code noch anders aussehen muß, wenn die anzuzeigenden Felder des Datensatzes in einem Registersteuerelement sind? Habe ich vergessen zu schreiben.
Gruß mouse

Antwort 9 von mouse

meine letzte Frage hat sich schon erledigt.
Habe die Tabelle mit den Geräten beim Öffnen sortiert, somit bekomme ich den ersten Datensatz auch gleich richtig angezeigt wie in der Liste.
Wenn ich aber einen Filter setze, bleibt in der Formularansicht nach dem Filtern immer der letzte ausgewählte Datensatz sichtbar. Ich möchte aber filtern, die Liste ist auch richtig, dann soll aber aus der angezeigten Liste gleich der erste Datensatz gezeigt werden. Das kapier ich immer noch nicht.
Gruß mouse

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: