aşağıdaki örnekdeki lisview de borç hüçresini parabirimi yapıp soğa yaslayabilirmiyiz
Son Düzenleme: 08/07/2011, 11:29, Düzenleyen: hedefkaya.
.Add , , "borç", 2000, lvwColumnRight
Public Sub verilistviewicin()
On Error GoTo ErrorHandler
'reference den mutlaka dao 3. ve üzeri işaretlenir.
'önce değer tanımları yapıyoruz
Dim rs As DAO.Recordset
Dim db As Database
Dim lstItem As ListItem
Dim strSQL As String
Set db = CurrentDb()
strSQL = "SELECT kisiler.kimlik, kisiler.adi, kisiler.soyadi, Fix([borç]) & ',' & Format(([borç]-Fix([borç]))*100,'00') & ' TL' AS Borc, kisiler.adres FROM kisiler;"
'"select * from kisilerS"
Set rs = db.OpenRecordset(strSQL)
ListView1.Sorted = True 'hemen veri kümesi altında diyoruz ki sıralama olayını da açık tut, yani veri kümesi sıralanacak ona göre.
With Me.ListView1
'listView için style belirliyoruz
.View = lvwReport
.GridLines = True
.FullRowSelect = True
.ListItems.Clear
.ColumnHeaders.Clear
End With
'listview içindeki kolonların sayısını ve kolonların genişliğini tanıtıyoruz, ve yazının hangi tarafa yaslanması gerektiği
With Me.ListView1.ColumnHeaders
.Add , , "Id", 1000, lvwColumnLeft
.Add , , "Adı", 2000, lvwColumnLeft
.Add , , "Soyadı", 2000, lvwColumnLeft
.Add , , "Borc", 2000, lvwColumnRight
.Add , , "Adresi", 2500, lvwColumnLeft
End With
ListView1.SortKey = 1 'burası sıralama için ilk başlayacağıindex
rs.MoveFirst
Do Until rs.EOF
'burda listview içine eklenecek tablo veya sorgu alanlarını ekliyoruz, yani yukardaki kolon sırasına göre aşağıdaki sırayı ekleyecek
Set lstItem = Me.ListView1.ListItems.Add()
lstItem.Text = rs!kimlik
lstItem.SubItems(1) = Nz(Trim(rs!adi)) 'eğer alan boş ise hata vermesin diye nz li yapıyoruz.
lstItem.SubItems(2) = Nz(Trim(rs!soyadi)) 'eğer alan boş ise hata vermesin diye nz li yapıyoruz.
lstItem.SubItems(3) = Nz(Trim(rs!Borc)) 'eğer alan boş ise hata vermesin diye nz li yapıyoruz.
lstItem.SubItems(4) = Nz(Trim(rs!adres)) 'eğer alan boş ise hata vermesin diye nz li yapıyoruz.
rs.MoveNext
Loop
'burda kayıt kümesini kapatıyoruz, yoksa başka kullanımlara kilitler.
rs.Close
DoCmd.Echo True
ErrorHandlerExit:
Exit Sub
ErrorHandler:
If Err = 3021 Then ' burda diyoruz ki eğer kayıt yok ise aynen geç
Resume Next
Else
MsgBox "Error No: " & Err.Number & "; Description: " & Err.Description
Resume ErrorHandlerExit
End If
End Sub