• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

listbox vullen

Status
Niet open voor verdere reacties.

henri84

Gebruiker
Lid geworden
7 dec 2012
Berichten
5
ik probeer een listbox te vullen uit een sql database.
nu werkt dit wel maar ik kan niet meer dan 9 kolommen krijgen

mijn database heeft 13 kolommen die ik eigenlijk allemaal in deze list box wil zetten

hier onder de code die ik gebruik ,heeft iemand een idee

Private Sub UserForm_Initialize()


Dim ad
Set ad = CreateObject("ADODB.Connection") 'create and open ODBC connection
ad.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=tosec;password=tosec;Initial Catalog=tosec;Data Source=fs1\tosecsql"
ad.Open

Dim i As Integer
Set rs = ad.Execute("SELECT [Productie-nr],[B-nummer],[Datum],[Klant],[Aantal],[Probleem],[Veroorzaker],[Reden],[Lengte],[Breedte],[Dikte],[Soort],[Job-Breakdown],[Oorzaak],[Machine],[Volgnr],[Pdcnr],[Afdeling],[Indiener],[Onbemand] FROM InterneAfwijkingen ORDER BY [B-nummer]") 'selecteer alle afdelignen

Do While Not rs.EOF


rs.MoveFirst
i = 0
With Me.ListBox1
.Clear
Do

.AddItem
.List(i, 0) = rs![B-nummer]
.List(i, 1) = rs![Klant]
.List(i, 2) = rs![Productie-nr]
.List(i, 3) = rs![Aantal]
.List(i, 4) = rs![Probleem]
.List(i, 5) = rs![Reden]
.List(i, 6) = rs![Lengte]
.List(i, 7) = rs![Breedte]
.List(i, 8) = rs![Dikte]
.List(i, 9) = rs![Soort]
i = i + 1
rs.MoveNext
Loop Until rs.EOF
End With


Loop

End Sub
 
Heb je bij Eigenschappen van je Listbox de ColumnCount al eens nagekeken ?
Anders deze regel aan je code toevoegen.
Code:
 Me.ListBox1.ColumnCount = 13
En dan verder je AddItemlijst bijwerken.
 
listbox

heb ik al geprobeerd maar met add item gaat het niet verder dan 9 velden
schijn met rowsource te moeten maar ik weet niet hoe ik dat vanuit een sql moet doen.
ik kan natuurlijk de hele database eerst in een excel blad plakken en dan de list met rowsource vullen , maar ik zoek eigenlijk een oplossing om deze tussenstap er uit te halen

weet iemand hoe dit gaat
 
Ik zou die 'copyfromrecordset' voor het gemak maar op de koop toe nemen:

Code:
Sub M_snb()
    With New Recordset
        .Open "SELECT * from Tabel1", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Access\fiets.mdb"
        Cells(1).CopyFromRecordset .DataSource
        listbox1.List = Cells(1).CurrentRegion.Value
        Cells(1).CurrentRegion.ClearContents
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan