.Add,,"凭证字号",1000
.Add,," 凭证类别",800
.Add,,"首行摘要",1440
.Add,," 借方金额合计",1000,lvwColumnRight
EndWith
- --
产生查询语句。
sSQL="selectvoucher_id,voucher_number,voucher_date,
voucher_type_shortname,"
sSQL=sSQL&"voucher_type_name,voucher_memo,voucher_amount fromVOUCHER"
sSQL=sSQL&"orderbyvoucher_number"
---
打开一个数据库结果集。
SetwrkJet=CreateWorkspace("NewJetWorkspace", "admin","",
dbUseJet)
SetdbFISCAL=wrkJet.OpenDatabase("FISCAL.mdb")
Set RS=.dbFISCAL.OpensSQL,dbOpenForwardOnly
获得listview 的显示区域。
CallGetClientRect(lvw.hwnd,rc)
DoWhileNotRS.EOF()
DoEvents
If mbSearchCancelThen
中断退出
RS.Close:SetRS=Nothing关闭、清 除结果集。
mbSearchCancel=False
Screen.MousePointer=vbDefault
--
刷新ListView的内容,显示已经查出的记录数。
CallInvalidateRect(lvw.hwnd, rc,True)
ExitSub
EndIf
---
增加一个显示 项目ListItem。
Withlvw.ListItems
SetitmX=.Add(,,""& RS!voucher_number,"item","item")
凭证编号
itmX.SubItems(1) =Format$(""&RS!voucher_date,"yyyy/mm/dd")
凭证日期
itmX.SubItems(2)=""&RS!voucher_type_shortname &"-"—
凭证字号
&""&RS!voucher_number
itmX.SubItems(3)="" &RS!voucher_type_name
凭证类别
itmX.SubItems(4)=""&RS!voucher_memo
首行摘要
itmX.SubItems(5)=Format$(""&RS!voucher_amount, "#,###.00")
借方合计金额
itmX.Tag=""& RS!voucher_id
EndWith
--
避免显示区域的闪动现象。
Call ValidateRect(lvw.hwnd,rc)
RS.MoveNext
Loop
- 刷新ListView的内容。显示所有查出的记录数。
CallInvalidateRect(lvw.hwnd,rc, True)
-
关闭、清除结果集。
RS.Close:SetRS=Nothing
creen.MousePointer =vbDefault
ExitSub
ErrFillListView:
Screen.MousePointer= vbDefault
MsgBoxErr&":"&Error,vbInformation,Me.Caption
Exit Sub
EndSub
编写完毕后按F5执行该程序,用鼠标点击CommandButton,将 开始查询并填写凭证的内容到ListView中去。
关于ListView本文只是描述了它 如何填充大量结果集的方法,它还有很多特性(property)和方法(method),利用它们可以达到 更完美的显示效果,有兴趣的读者可以进一步研究。不管是开发什么样的应用程序,只有坚持 面向用户、方便用户的原则,这样的软件才具有强大的生命力。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




