Skip to main content

AccessTr.neT


Listbox Da Verilerin Listelenmesi Hakkında.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
12
4333

Listbox Da Verilerin Listelenmesi Hakkında.

#4
Denemediğim bir yapay zeka uygulamasında sütunları getirmeyi başardım fakat listbox sadece 10 adet sütun gösterebildiği için ( Bunu da hatırlattı sağolsun) Sorun sadece 15 sütundan istediğim 10 tanesini gösterme şansım var mı ya evrildi.


Kod:
Private Sub UserForm_Initialize()

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim sqlSorgusu As String
    Dim i As Integer
    Dim rowIndex As Long
    Dim alanSayisi As Integer

    Set cn = New ADODB.Connection
    cn.ConnectionString = "Driver={ODBC Driver 17 for SQL Server};" & _
                          "Server=OĞUZ\SQLEXPRESS;" & _
                          "Database=db_Personel;" & _
                          "Trusted_Connection=Yes;"
    On Error GoTo HataBaglanti
    cn.Open
    On Error GoTo 0

    sqlSorgusu = "SELECT * FROM tbl_Personel;"
    Set rs = New ADODB.Recordset
    On Error GoTo HataVeriOku
    rs.Open sqlSorgusu, cn, adOpenStatic, adLockReadOnly
    On Error GoTo 0

    If rs.EOF Then GoTo TemizleHerşey

    alanSayisi = rs.Fields.Count

    With lstPersonel
        .Clear
        .ColumnCount = alanSayisi
        .ColumnWidths = String(alanSayisi - 1, "80;") & "80"
    End With

    Do While Not rs.EOF
        ' Güvenli AddItem ile ilk sütunu ekle
        On Error Resume Next
        lstPersonel.AddItem NzText(rs.Fields(0).Value)
        If Err.Number <> 0 Then Exit Do ' additem başarısızsa çık
        On Error GoTo 0

        rowIndex = lstPersonel.ListCount - 1

        For i = 1 To alanSayisi - 1
            On Error Resume Next
            lstPersonel.List(rowIndex, i) = NzText(rs.Fields(i).Value)
            On Error GoTo 0
        Next i

        rs.MoveNext
    Loop

TemizleHerşey:
    rs.Close: cn.Close
    Set rs = Nothing: Set cn = Nothing
    Exit Sub

HataBaglanti:
    MsgBox "Veritabanına bağlanamadı: " & Err.Description, vbCritical
    Resume TemizleHerşey

HataVeriOku:
    MsgBox "Veri okunamadı: " & Err.Description, vbCritical
    Resume TemizleHerşey
End Sub

Private Function NzText(val As Variant) As String
    If IsNull(val) Or IsEmpty(val) Then
        NzText = ""
    Else
        NzText = CStr(val)
    End If
End Function


(16/05/2025, 17:20)berduş yazdı: lstPersonel.AddItem Join(personelBilgileri, vbTab) <-- bu kod edeniyle veriler ilk sütuna atanıyor siz bütün alanları tab ile birleştirmişsiniz bu nedenle sadece tek sütun görünüyor

O bölümde denemelerden birinde eklenmişti Berduş hocam.
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 16/05/2025, 17:50, Düzenleyen: Oğuz Türkyılmaz.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Listbox Da Verilerin Listelenmesi Hakkında. - Yazar: Oğuz Türkyılmaz - 16/05/2025, 17:49
Task