• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Listbox veya Comboboxta listelerin sıralı görünmesi

Katılım
6 Aralık 2004
Mesajlar
10
selamlar ben listbox yada comboBox listelenen bilgilerin sıralı halde (alfabetik) gözükmesini nasıl sağlayabilirim.





Edit xxrt:Sorular Foruma sorulur.Direkt olarak nicki,cevaplamalardan sonra Kiminle ilgi olduğunu belirlemek için kullanabilirsiniz.Bu nedenle sorunuzu foruma yönelik döndürdüm.
 
Benim önerim bilgileri aldığınız hücrelerde sıralama yapmanızdır. Bu durumda listbox veya Combobox ta bilgiler sıralı görünecektir.
 
[vb:1:6b42f31d61]Private Sub UserForm_Initialize()
Dim MyRng As Range
Set MyRng = Range("AA1:AA" & ComboBox1.ListCount)
MyRng = ComboBox1.List
MyRng.Sort Key1:=Range("AA1"), Order1:=xlAscending
ComboBox1.RowSource = MyRng.Address
Set MyRng = Nothing
End Sub
[/vb:1:6b42f31d61]
 
sn haluk hocam benim herseferinde sayfaya alıp yazması işimi yavaşlatacaktır çünkü kodlar change olayının içerisinde dizide veya başka bir şekilde sırlama imkanı olurmu?
Kod:
Private Sub ListBox1_Change()
On Error Resume Next
Call DegiskenTani
Dim i As Integer, SQLStr As String
If ListBox1.Value = "" Then Exit Sub

.............................

Dim RecOzlk As ADODB.Recordset:      Set RecOzlk = New ADODB.Recordset
    ListBox2.Clear
    basliklar = "TCK_NO, ISY_NO, PERS_NO, AD_SOYAD"
    sayfaadi = "[OZLUK$]"
    sorgu = "TCK_NO = " & ComboBox85.Value & _
          " AND ISY_NO=" & ListBox1.Value
    SQLStr = "SELECT DISTINCT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
    With RecOzlk
        .Open SQLStr, bagOZLK, adOpenKeyset, adLockOptimistic
        .MoveFirst
        If .RecordCount = 0 Then
          '  MsgBox ComboBox85.Value & " kimlik numaralı kişinin özlük kaydı bulunamadı"
        Else
            For i = 1 To .RecordCount
                   ListBox2.AddItem
[B][color="red"]                   ListBox2.List(ListBox2.ListCount - 1, 0) = .Fields("PERS_NO") [/color][/B]
                   ListBox2.List(ListBox2.ListCount - 1, 1) = .Fields("AD_SOYAD")
                  .MoveNext
            Next i
           
           
'           For i = 1 To .RecordCount
'                ListBox2.AddItem .Fields("PERS_NO")
'               .MoveNext
'            Next i
        .MoveFirst:          ListBox2.ListIndex = 0
        If CBool(.State And adStateOpen) = True Then .Close
        End If
    End With
Set RecOzlk = Nothing
End Sub
kırmızı satırda aktarılan veriler listboxta azalan sırada olacak
ilk hali 2001,2020,2010,2040 vs ise sonuç 2040, 2020,2010,2001 gibi olmalı

yardımlarınız için teşekkürler
 
Son düzenleme:
Geri
Üst