Office: (Office 2013) Ersten Datensatz aus Listbox anzeigen

Helfe beim Thema Ersten Datensatz aus Listbox anzeigen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, ich habe ein Pflege-Formular für eine Tabelle, sagen wir MITARBEITER. Links steht eine sortierte Listbox mit allen Mitarbeitern, rechts... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Michael O., 2. September 2015.

  1. Ersten Datensatz aus Listbox anzeigen


    Hallo Forum,

    ich habe ein Pflege-Formular für eine Tabelle, sagen wir MITARBEITER. Links steht eine sortierte Listbox mit allen Mitarbeitern, rechts ein Detail-Datensatz. Über die gebundene Spalte in der Listbox wird der zugehörige Datensatz gefunden. Das funktioniert über ein Makro "SuchenNachDatensatz" mit der Bedingung "="[ID_MA] = " & Str(Nz([Screen].[ActiveControl];0)).

    Mein Problem ist, dass beim Laden des Formulars im Detail-Bereich der erste Datensatz der Tabelle angezeigt wird. Ich möchte aber entweder im Detail-Bereich nichts anzeigen oder aber den ersten Datensatz aus der Listbox.

    Ich kann mit folgendem Code beim Laden des Formulars den ersten Eintrag in der Listbox markieren:
    If Me!lst_auswahl.ListCount > 0 Then
    Me!lst_auswahl.Selected(1) = True
    End If

    Das führt aber zum Fehler im Makro.

    Wie stelle ich es richtig an, dass beim Öffnen des Formulars der erste Datensatz in der Listbox markiert und rechts angezeigt wird?

    Vielen Dank im Voraus für alle Anregungen und beste Grüße,
    Michael

    :)
     
    Michael O., 2. September 2015
    #1
  2. Hallo,
    Verwende ein ungebundenes Formular, oder Datenquelle in Abhängigkeit von einem Auswahlfeld bringen, so dass erst was angezeigt wird wenn was ausgewählt wird.

    Gruß Andreas
     
    avogt_at_home, 4. September 2015
    #2
  3. Code:
     
  4. Ersten Datensatz aus Listbox anzeigen

    Ich habe den Code in das Form-Load-Ereignis eingebunden. Aber es passiert nichts...
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Michael O., 5. September 2015
    #4
  5. Schreibs mal in "Beim Öffnen..."
    (VBA - kein Makro)
     
  6. Dank an alle, die geholfen haben!

    Folgender Code hat zum Ziel geführt:

    Private Sub Form_Load()
    Me.lst_auswahl.SetFocus
    Me.lst_auswahl.ListIndex = 0
    End Sub

    Mein Fehler war, das ich beim ersten Versuch ListIndex ohne vorheriges SetFocus benutzt habe - und das führt zum Fehler! Gemeine Sache...
     
    Michael O., 5. September 2015
    #6
  7. Zu früh gefreut *upps

    Zwar ist jetzt der erste Eintrag in der Listbox wie gewünscht markiert, ich bekomme beim Laden der Form aber wieder:
    Fehler 2950
    Aktionsname: "SuchenNachDatensatz"
    Argumente: -1; ; Erster; ="[ID_KURS] = " & Str(Nz([Screen].[ActiveControl],0))

    Mir ist nicht klar, was diese 2 Code-Zeilen da anrichten. Meine Erwartung war, dass sie genau das tun, was der Benutzer mit seinem Klick auch auslöst...
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Michael O., 5. September 2015
    #7
  8. Ersten Datensatz aus Listbox anzeigen

    Schick doch mal die DB - als mdb(!) - hier rauf. Reicht ja das Formular und die entsprechende Tabelle/n.
     
  9. Hallo Jan,

    konvertieren in MD ist nicht möglich wegen Datenmakros. Und genau da hakt es ja...

    Zudem bekomme ich die Datei gepackt nicht kleiner als 311 KB, und das ist immer noch zu groß. DB enthält nur noch eine Mini-Tabelle und ein Mini-Formular, komprimiert ist sie auch.

    Was könnte ich da noch tun?

    Michael
     
    Michael O., 5. September 2015
    #9
  10. Die Listbox (lst_auswahl) hat im Ereignis "Nach Aktualisierung" das Makro "SuchenNachDatensatz" mit der Bedingung "="[ID_MITARBEITER] = " & Str(Nz([Screen].[ActiveControl];0))".

    Das habe ich nun in VBA wie folgt umgewandelt:
    DoCmd.SearchForRecord , "", acFirst, "[ID_MITARBEITER] = " & Str(Nz(Screen.ActiveControl, 0))

    Der Makro-Fehler ist damit beseitigt - aber ein neuer Fehler aufgetaucht!

    Im Debug-Modus (Einzelschritt) funktioniert alles wie gewünscht.
    Im Form-Load-Ereignis habe ich den Code zum Markieren des ersten Eintrages der Listbox:
    Me.lst_auswahl.SetFocus
    Me.lst_auswahl.ListIndex = 0

    Lade ich das Formular aber normal, bekomme ich den Laufzeitfehler 2474 bei DoCmd.SearchForRecord...:
    "Für den von Ihnen eingegebenen Ausdruck ist es erforderlich, dass sich das Steuerelement im aktiven Fenster befindet."

    Das macht mich etwas ratlos...

    Gruß
    Michael
     
    Michael O., 5. September 2015
    #11
  11. Ok,
    kannst Du es jetzt als .mdb umwandeln?
    (Deine Form_Load-Geschichten bitte nach Form_Open verschieben).

    ... habe ich noch nie gehört!?

    Also, schick mal die mdb rauf... will dann noch "Federer vs. Kohlschreiber" schauen :-)
     
  12. Ersten Datensatz aus Listbox anzeigen

    Jan, vielen Dank für Deine Hartnäckigkeit.

    Ich habe ein bisschen den Wald vor lauter Bäumen nicht gesehen. Das Problem lag wohl im Screen.ActiveControl. Ich habe jetzt einfach den Namen der Listbox eingetragen und siehe: es funktioniert!

    MDB geht immer noch nicht - was auch immer das verhindern mag...

    Du kannst jetzt also beruhigt Tennis gucken gehen!!!

    Beste Grüße
    Michael
     
    Michael O., 5. September 2015
    #13
  13. OK, super :-)

    Nach Tennis dann heute spät noch Boxen (Brähmer vs. Konrad).
    :-)

    PS: Meine erste Version für's Listenfeld müsste aber auch funktionieren (#3).
     
  14. Hallo Michael!

    Zur Information:
    Die aktuelle Zeile ist eigentlich 0-basiert.
    Aber: die aktuelle Zeile bei eingeschalteten Spaltenüberschriften ist 1-basiert.
    Diesfalls ergibt:
    ? DeinListenfeld.Listcount die Anzahl der Datenzeilen+1.
    ? DeinListenfeld.Itemdata(0) den Feldnamen der gebundenen Spalte.
    ? DeinListenfeld.Itemdata(1) den Inhalt der gebundenen Spalte.

    Unter A03 funktioniert bei mir mit eingeschalteten Spaltenüberschriften
    in Form_Open problemlos:

    If Me!DeinListenfeld.ListCount > 1 Then Me!DeinListenfeld.Selected(1) = True

    Bei Dir nicht?

    Wolfgang
     
Thema:

Ersten Datensatz aus Listbox anzeigen

Die Seite wird geladen...
  1. Ersten Datensatz aus Listbox anzeigen - Similar Threads - Datensatz Listbox anzeigen

  2. VBA - Datensätze ans Ende einer anderen Tabelle kopieren

    in Microsoft Excel Hilfe
    VBA - Datensätze ans Ende einer anderen Tabelle kopieren: Hallo zusammen, ich habe gerade eine "Abrechnungs"-Datei für einen Kindergartenbasar erstellt. Es wäre klasse, wenn man per Schaltfläche die Datensätze aus der Tabelle "Kaeufer" ans Ende der...
  3. Currentdb.Execute delete löscht alle Datensätze trotz Where Bedingung

    in Microsoft Access Hilfe
    Currentdb.Execute delete löscht alle Datensätze trotz Where Bedingung: Hallo Zusammen, ich hoffe, dass mir jemand weiter helfen kann. Ich habe folgendes Problem: Ich habe eine Tabelle (RegieImp), in welche ich aus Excel Daten importiere. Es gibt eine eindeutige ID...
  4. MS Access Formular: Datensatz duplizieren mit Unterformularen

    in Microsoft Access Hilfe
    MS Access Formular: Datensatz duplizieren mit Unterformularen: Hallo Ihr Lieben, ich bin ziemliche Anfängerin bei MS Access also nehmt es mir nicht übel, wenn ich Dinge falsch bezeichne etc. :) Ausganslage Ich hab ein Hauptformular (1) (Angaben zur...
  5. Umgruppierung von Datensätzen

    in Microsoft Excel Hilfe
    Umgruppierung von Datensätzen: Hallo zusammen, ich habe ein kleines Problem, bei dem ihr mir sicher helfen könnt. Ich habe eine Liste, die besteht aus 3 Spalten. Die erste Spalte enthält eine Ebene (1 und 2), die zweite...
  6. Eingabeformular für Datensatz

    in Microsoft Access Hilfe
    Eingabeformular für Datensatz: Hallo, ich arbeite derzeit an keiner Datenbank, aber ich frage mich schon lange wie "sowas möglich ist". Auf Arbeit haben wir eine große Datenbank (kein Access, sondern eine "richtige"...
  7. in Listbox Datensätze markieren

    in Microsoft Excel Hilfe
    in Listbox Datensätze markieren: Hallo zusammen, ich habe ein Formular ("Formular_Projekte"), in welchem eine Listbox ("Listbox_Projekte_BeteiligteExtern1") über Multiselect mehrere Ansprechpartner ausgewählt werden können. Die...
  8. mit listbox zu datensatz springen

    in Microsoft Access Hilfe
    mit listbox zu datensatz springen: moin, ich habe eine listbox und zwei textfelder ... ganz unten im Formular ist die klassische navigation ... mit gehe zum nächsten datensatz usw... somit ändern sich die werte die in den...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden