I set up a simple listview just for the exercise. My code:
Code:
Private Sub Form_Current()
On Error GoTo ErrorHandler
'Set Reference to Microsoft DAO 3.xx Library.
'set variables
Dim rs As DAO.Recordset
Dim db As Database
Dim lstItem As ListItem
Dim strSql As String
Set db = CurrentDb()
strSql = "SELECT * FROM Holidays"
Set rs = db.OpenRecordset(strSql)
With Me.ListView1
.ListItems.Clear
'Set ListView style
.View = lvwReport
'This is not supported by ListView 5
.Gridlines = True
.FullRowSelect = True
'Clear Header and ListItems
.ListItems.Clear
.ColumnHeaders.Clear
.CheckBoxes = True
.Font.Size = 13
End With
'Set up column headers
With Me.ListView1.ColumnHeaders
.Add , , "Hol ID", 1000, lvwColumnLeft
.Add , , "Hol Name", 2000, lvwColumnLeft
.Add , , "Qty", 500, lvwColumnRight
.Add , , "Hol Date", 1500, lvwColumnRight
End With
' Add items and subitems to list control.
rs.MoveFirst
Do Until rs.EOF
Set lstItem = Me.ListView1.ListItems.Add()
lstItem.text = rs!HolID
lstItem.SubItems(1) = rs!HolName
lstItem.SubItems(2) = rs!Qty
lstItem.SubItems(3) = rs!HolDate
'Next row
rs.MoveNext
Loop
'close recordset
rs.Close
DoCmd.Echo True
ErrorHandlerExit:
Exit Sub
ErrorHandler:
If Err = 3021 Then ' no current record
Resume Next
Else
MsgBox "Error No: " & Err.Number & "; Description: " & Err.Description
Resume ErrorHandlerExit
End If
End Sub