can anybody tell me why i am getting error object variable or with
block variable not set .here is the code what i have written.
any help would be greately appreciated.
Public Sub Addtolistview()
'Dim success As Boolean
DataPath = GetSetting(Application.Name, "BasicSetup", "Database", "")
'StrQuotationStartID = GetSetting(Application.Name, "BasicSetup", "QuotationStartID", "1")
If DataPath = "" Then
frmBasicSettings.Show (vbModal)
End If
Set con = New ADODB.Connection
Call OpenConnection(con)
'Set con = New ADODB.Connection
'con.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=\\asfserver\itp$\Product_tabletest.mdb")
'Call OpenConnection(con)
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
[B]rs.CursorType = adOpenDynamic[/B]
rs.LockType = adLockOptimistic
strSql = "Select"
strSql = strSql & "[sup_name],[fax_no],[contact_person],[contact_no],[Office_address] from [Suppliers]"
rs.Open strSql, con, adOpenDynamic, adLockOptimistic
ListView1.View = lvwReport
'ListView1.BorderStyle = ccFixedSingle
ListView1.FullRowSelect = True
ListView1.BorderStyle = ccNone
'checking the width of listview control and divided by 5...so that all columns become of same width...here we used 5 because the control will have 5 columns
colWidth = ListView1.Width / 5
ListView1.ListItems.Clear
'here we are adding the columns
'you need similar no. of columns as much no. of listitems you want to add to the listview. now if you want to hide any column from displaying, just set its width to 0.
With ListView1
.ColumnHeaders.Clear
' Set colx = .ColumnHeaders.Add(, , ("Supplier No"), colWidth)
Set colx = .ColumnHeaders.Add(, , ("Supplier Name"), ListView1.Width / 5)
Set colx = .ColumnHeaders.Add(, , ("Fax No"), ListView1.Width / 5)
Set colx = .ColumnHeaders.Add(, , ("Contact Person"), ListView1.Width / 5)
Set colx = .ColumnHeaders.Add(, , ("Contact_no"), ListView1.Width / 5)
Set colx = .ColumnHeaders.Add(, , ("Office_address"), ListView1.Width / 5)
End With
'adding rows to listview
With ListView1
' .ListItems.Clear
If rs.RecordCount > 0 Then
rs.MoveFirst
While Not rs.EOF()
Dim faxNo, contactNo, OFFiceAddress As String
faxNo = IIf(IsNull(rs!fax_no), "", rs!fax_no)
Contact = IIf(IsNull(rs!contact_person), "", rs!contact_person)
SupplierName = IIf(IsNull(rs!sup_name), "", rs!sup_name)
contactNo = IIf(IsNull(rs!Contact_no), "", rs!Contact_no)
OFFiceAddress = IIf(IsNull(rs!office_address), "", rs!office_address)
Set listitem = ListView1.ListItems.Add(, , supplier_name)
listitem.Text = IIf(IsNull(rs!sup_name), "", rs!sup_name)
listitem.SubItems(1) = rs.Fields("fax_no").Value & vbNullString
listitem.SubItems(2) = rs.Fields("contact_person").Value & vbNullString
listitem.SubItems(3) = rs.Fields("contact_no").Value & vbNullString
listitem.SubItems(4) = rs.Fields("Office_address").Value & vbNullString
rs.MoveNext
Wend
End If
End With
Set rs = Nothing
End Sub