Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

mdb Datensatz den Textboxen zuweisen

Betrifft: mdb Datensatz den Textboxen zuweisen von: Ronald Wälty
Geschrieben am: 23.10.2020 08:07:34

Hallo an alle!

Ich möchte einen Datensatz aus einer Access-DB auslesen und die einzelnen Werte den
entsprechenden Textboxen zuweisen. Das mache ich wie folgt:

Public Sub Privatkundendaten_aus_DB_holen()

    Dim i As Integer
    Dim strQuery As String
    
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\_Privat\HOLZZZWERK\Büro\ _
Holzzzwerk ERP\HOLZZZWERK_ERP.mdb;Persist Security Info=False;"
    'Set rs = cn.Execute("SELECT * FROM tKunden")
    strQuery = "SELECT * FROM tKunden WHERE fKdNummer=" & "'" & strAusgewaehlterDatensatz_KV & " _
'"
    Set rs = cn.Execute(strQuery)

    i = 1
    Do While Not rs.EOF
        frmMain.txtKundennummer_KV.Value rs.Fields("fKdNummer").Value
        frmMain.cboStatus_KV.Value rs.Fields("fKdStatus").Value
        frmMain.txtKundeSeit_KV.Value rs.Fields("fKdKundeSeit").Value
        frmMain.txtEintragsdatum_KV.Value rs.Fields("fKdEintragsdatum").Value
        frmMain.txtAenderungsdatum_KV.Value rs.Fields("fKdAenderungsdatum").Value
        frmMain.txtDomain_KV.Value rs.Fields("fKdDomain").Value
        frmMain.cboKategorie_KV.Value rs.Fields("fKdKategorie").Value
        frmMain.txtOrt_KV.Value rs.Fields("fKdOrt").Value
        frmMain.txtAnrede_KV.Value rs.Fields("fKdAnrede").Value
        frmMain.txtNachname_KV.Value rs.Fields("fKdNachname").Value
        frmMain.txtVorname_KV.Value rs.Fields("fKdVorname").Value
        frmMain.txtVorname2_KV.Value rs.Fields("fKdVorname2").Value

    rs.MoveNext
    i = i + 1
    Loop
    cn.Close

End Sub

Dieser Code steht in einem Modul. Daher habe ich vor den Textboxen den Verweis aufs Formular
gemacht, damit die Textboxen dann auch gefunden werden. Stellt sich mir nur die Frage, ob dies
auch funktionieren würde, wenn auf diesem Formular noch eine Multiseite ist, auf der dann
Textboxen sind oder ob ich dies dann spezieller ausdrücken muß.

Nun das eigentliche Problem. Mein Code läuft nicht. Es kommt die Meldung
"Fehler beim Kompilieren: Unzulässige Verwendung einer Eigenschaft" und es wird das vom Programm
markiert, was ich unten in die eckigen Klammern geschrieben habe:
Do While Not rs.EOF
        frmMain.txtKundennummer_KV[.Value] rs.Fields("fKdNummer").Value
Also das .Value bei der ersten Textbox. Irgendwie mag er das nicht. Auf anderen Seiten habe ich das
aber auch gesehen und hoffe, daß es stimmt.
Quelle: https://stackoverflow.com/questions/41112871/replace-textbox-value-excel-with-recordset-fields-value-from-access

Ich bitte um Hilfe bei diesem kleinen Problem. Was ist hier falsch, was kann ich anders machen, wenn ich
einzelne Werte des Datensatzes nicht nur Textboxen, sondern auch Labels, Comboboxen, und Checkboxen
zuweisen möchte. Vielleicht muß ich ja den Umweg über Variablen nehmen. Bei einer Checkbox könnte
ich mir das schon vorstellen.

Ich wäre sehr froh, um ein bißchen Unterstützung.

Danke im Voraus.

Gruß Ronald

Betrifft: AW: mdb Datensatz den Textboxen zuweisen - Lösung
von: Ronald Wälty
Geschrieben am: 23.10.2020 08:16:45

Hallo an alle!

Ich habe die Lösung gefunden. Simpel, also kleine Ursache, große Wirkung, so wie meistens beim
Programmieren.

Das Istgleich hat gefehlt :-)

Das habe ich interessanterweise nicht gebraucht, als ich einzelne Werte einer Listbox per AddItem zuge-
wiesen habe. Daher habe ich gemeint, ich brauche das Istgleich nicht. Folgenschwerer Trugschluß.

Damit ist das Problem bereits gelöst.

Ich wünsche allen einen schönen Tag und viel Spaß beim Programmieren.

Gruß Ronald

Beiträge aus dem Excel-Forum zum Thema "mdb Datensatz den Textboxen zuweisen"