istimlList
CommandButton。Command1
将ImageList控件中充填一个名为“item”的图象后与ListView控件关联。
在$#@60;$#@60;工程$#@62;$#@62;菜单命令条中进入“引用”对话框,选择“MicrosoftDAOObjectLibrary”
在Form的通用模块(Modle)中定义以下变量。
PrivateTypeRECT用来定义一个区域的坐标。
LeftAsLong
TopAsLong
Right AsLong
BottomAsLong
EndType
--
Windows API函数的声明。
PrivateDeclareFunctionInvalidateRectLib"user32"
(ByVal hwndAsLong,lpRectAsRECT,ByValbEraseAsLong)AsLong
PrivateDeclare FunctionValidateRectLib"user32"
(ByValhwndAsLong,lpRect AsRECT)AsLong
PrivateDeclareFunctionGetClientRectLib"user32"
(ByVal hwndAsLong,lpRectAsRECT)AsLong
DimmbSearchCancelAsBoolean
用来定义
查询中断的标志。
True表示中止查询;False表示正在
查询。
将该Form的KeyPreview属性设为True,以控制窗体接收键盘事件。
然后在Form 的KeyPress事件中写下列代码:
IfKeyAscii=vbKeyEscapeThen
mbSearchCancel=True
当用户按Escape 键时,置mbSearchCancel变量为True。
EndIf
表示结束
查询。
在Command Button的Click事件中调用填充子
程序:CallFillListView。
子
程序的代码 为:
PrivateSubFillListView()
DimitmXAsListItem定义一 个ListView的显示项目。
DimsSQLAsString
查询字串变量。
Dim rcAsRECTListView的显示区域。
DimwrkJetAsWorkspace数据库工作空间。
Dim dbFISCALAsDatabase数据库对象。
DimRSAsRecordset数据结果集。
On ErrorGoToErrFillListView
Screen.MousePointer=vbHourglass
lvw.ListItems.Clear: 清除ListView的内容。
定义ListView的列头的名称。
With lvw.ColumnHeaders
.Add,,"凭证编号",800
.Add,," 凭证日期",1000
.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="&quo