2017-05-09 3 views
0

Ich entwickle eine Anwendung mit MS Access und VBA. Leider habe ich dieses Problem:Recordset einer ListBox in Access

ich den Re-Cord einer List-Box mit VBA gesetzt und einer Abfrage

'In the select, i select 4 fields 
SQL = "..."   
rs.CursorLocation = adUseClient 
rs.Open SQL, Conn, adOpenKeyset, adLockOptimistic 
    If Not rs.EOF Then 
     Set Me.MyList.Recordset = rs 
     Me.MyList.SetFocus 
    Else 
     Set Me.MyList.Recordset = Nothing 
     Me.MyList.SetFocus 
    End If 
rs.Close 

Das Problem ist, dass, wenn ich dieses Stück Code ausführen es funktioniert aber nur, wenn ich die Zahl gesetzt der Spalten meiner ListBox bei 1 oder 2. Ich muss 4 Spalten zeigen, also, das ist für mich ein Problem.

Ich habe auch versucht, die Anwendung zu dekompilieren, aber nichts hat sich geändert.

Kann jemand mir sagen, wie man es löst? Vielen Dank für Ihre Hilfe

Antwort

1

Sie müssen Column Count im Eigenschaftenfenster auf 4 setzen und auch die Spaltenbreiten in Form von 0cm;1.217cm;2.064cm;3.545cm definieren.

Sie können diesen Modus bei Design tun oder durch Code:

Dim sql_ As String 
    sql_ = "Your SQL command..." 

    With Me.MyList 
     .ColumnCount = 4 
     .ColumnWidths = "0cm;1.217cm;2.064cm;3.545cm" 
     .RowSourceType = "Table/Query" 
     .RowSource = sql_ 
    End With 
Verwandte Themen