和用DAO中一样啊用adoex As New ADODB.Recordset Dim itmX As ListItem
Do Until adoext.EOF
Set itmX = ListView1.ListItems.Add(, , adoex!field0)With itmX
.SubItems(1) = adorst!field1
.SubItems(2) = adorst!field 2
End With
Loop
Do Until adoext.EOF
Set itmX = ListView1.ListItems.Add(, , adoex!field0)With itmX
.SubItems(1) = adorst!field1
.SubItems(2) = adorst!field 2
End With
Loop
rs.open ssql,conn,3,2
do while not rs.eof
for i=0 to rs.fields.count -1
listview1.listitems.add ,"A"+rs(i),rs(i)
next
rs.movenext
loop
Dim tmp1 As String, tmpstr As String
......
With rsDatatmp
Do While Not .EOF
tmpstr = Right(![No], Len(![No]) - tmp1)
Set itemx = ListView1.ListItems.Add(, , CStr(tmpstr), , 1)
itemx.SubItems(1) = ![Name]
itemx.SubItems(2) = ![Style]
If rsDataStock.RecordCount <> 0 Then rsDataStock.MoveFirst
tmpstr = "[No]='" & ![No] & "'"
rsDataStock.Filter = tmpstr
If rsDataStock.RecordCount > 0 Then
itemx.SubItems(3) = CStr(Format(rsDataStock![Stock_Num], "#,##0.00"))
itemx.SubItems(4) = CStr(Format(rsDataStock![In_Num], "#,##0.00"))
Else
itemx.SubItems(3) = 0
itemx.SubItems(4) = 0
End If
If IsNull(![Cate]) = False Then itemx.SubItems(5) = ![Cate] '如库存表stock单位字段非空,在ListView1中第五个子项为库存表stock单位
.MoveNext
Loop
End With
......
注:rsDatatmp、rsDataStock为记录集。
Public PubID As LongSub ListColumns()lvDetails.FullRowSelect = True
lvDetails.View = lvwReport
lvDetails.GridLines = True
lvDetails.ColumnHeaders.Clear
lvDetails.ListItems.ClearWith lvDetails.ColumnHeaders ' Create column headers.
.Add , , "Publisher#", 1000
.Add , , "Publisher Name", 4400
.Add , , "Company Name", 3500
.Add , , "Address", 2000
.Add , , "City", 1500
.Add , , "Comments", 4500End WithEnd SubSub LoadDetails()
On Error GoTo ErrorOpenDim rs As ADODB.Recordset
Dim i As IntegerSet DBConn = New ADODB.Connection '
' setting up connection.
DBConn.Provider = "Microsoft.JET.OLEDB.4.0" '
'
DBConn.Open "C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB"Set rs = New ADODB.Recordsetrs.Open "Select pubid, Name, [Company Name], " & _
"Address, City, Comments From Publishers", DBConn, adOpenKeyset, adLockReadOnly ' Select fieldsDoFor i = 1 To rs.RecordCountWith lvDetails .ListItems.Add , , rs!PubID 'Create the first item in the column
If Not rs!Name = "" Then .ListItems(i).ListSubItems.Add , , rs!Name 'list subitems in the next column
If Not rs![Company Name] = "" Then .ListItems(i).ListSubItems.Add , , rs![Company Name]
If Not rs!address = "" Then .ListItems(i).ListSubItems.Add , , rs!address
If Not rs!City = "" Then .ListItems(i).ListSubItems.Add , , rs!City
If Not rs!Comments = "" Then .ListItems(i).ListSubItems.Add , , rs!Comments
End With rs.MoveNext
Next i
Loop While rs.EOF = False 'if End Of Record is true then close the recordset.
rs.Close
Set rs = Nothing
Exit SubErrorOpen:
MsgBox Err.Description, vbCritical
EndEnd Sub
Private Sub CmdRefresh_Click()
ListColumns
LoadDetails
End Sub
Private Sub Form_Load()
ListColumns 'Load Columheaders
LoadDetails 'Fill form
End SubPrivate Sub Form_Resize()
lvDetails.Width = FrmMain.Width - 150
lvDetails.Height = FrmMain.Height - 1200
End SubPrivate Sub Form_Unload(Cancel As Integer)
DBConn.Close
Set DBConn = Nothing
End SubPrivate Sub lvDetails_DblClick()Dim FrmEdit As New FrmPublishers
PubID = lvDetails.SelectedItem.TextFrmEdit.ShowEnd SubPublic rs As ADODB.RecordsetPrivate Sub CmdClose_Click()
On Error GoTo quitrs.Close
Set rs = Nothingquit:
Unload Me
End SubPrivate Sub CmdDel_Click()
On Error GoTo Error1response = MsgBox("Are you sure?", vbCritical + vbYesNo, "Delete Record")
If response = vbNo Then Exit Subrs.Delete
rs.Close
Set rs = Nothing
Unload Me
FrmMain.ListColumns
FrmMain.LoadDetailsExit SubError1:
MsgBox Err.Description, vbCriticalEnd SubPrivate Sub CmdSave_Click()On Error Resume Next If Len(Text1(1).Text) Then rs!Comments = "" & Text1(0).Text
If Len(Text1(2).Text) Then rs!Name = "" & Text1(2).Text
If Len(Text1(3).Text) Then rs![Company Name] = "" & Text1(3).Text
If Len(Text1(4).Text) Then rs!address = "" & Text1(4).Text
If Len(Text1(5).Text) Then rs!City = "" & Text1(5).Text
rs.Update
rs.Close
Set rs = Nothing
Unload Me
FrmMain.ListColumns
FrmMain.LoadDetails
End SubPrivate Sub Form_Load()For i = 0 To 5
Text1(i).Text = "" 'Clear text Boxes
Next i
Call Get_Publishers 'Load Profile
End Sub Private Sub Get_Publishers()
Dim StrQry As String
Dim i As Integer
StrQry = "Select pubid, Name, [Company Name], " & _
"Address, City, Comments From Publishers where pubid = " & FrmMain.PubIDSet rs = New ADODB.Recordset rs.Open StrQry, FrmMain.DBConn, adOpenKeyset, adLockOptimisticText1(0).Text = "" & rs!Comments
Text1(1).Text = "" & rs!PubID
Text1(2).Text = "" & rs!Name
Text1(3).Text = "" & rs![Company Name]
Text1(4).Text = "" & rs!address
Text1(5).Text = "" & rs!City
End SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End Sub