急,一个辣手问题啊!头疼死了

smydamozhilong 2009-09-02 08:37:35
我写了2个函数
一初始化控件
Dim lvwItem As ListItem
Set lvwItem = listview.ListItems.Add(, , "默认打印机")
lvwItem.SubItems(1) = "0"
lvwItem.SubItems(2) = "0"
lvwItem.SubItems(3) = "0"


二 刷新列表



szSQL = "SELECT NPRINTERID,SUM(NLINENUM) AS SUM_NLINENUM,SUM(NPRINTNUM) AS SUM_NPRINTNUM,SUM(NLINENUM-NPRINTNUM) AS SUM_NNOPRINTNUM FROM PRINTINDEX WHERE NPRINTERID >0 GROUP BY NPRINTERID"
cRecordSet.COpen szSQL, cDBConn, adOpenStatic, adLockReadOnly
Do Until cRecordSet.IsEof
szPrintName = "默认打印机"
listview.FindItem(szPrintName).SubItems(1) = cRecordSet.GetFieldValue("SUM_NLINENUM")
listview.FindItem(szPrintName).SubItems(2) = cRecordSet.GetFieldValue("SUM_NPRINTNUM")
listview.FindItem(szPrintName).SubItems(3) = cRecordSet.GetFieldValue("SUM_NNOPRINTNUM")
cRecordSet.MoveNext
Loop
listview.Refresh



我执行到第二个函数时报错 说with变量为定义

咋回事啊?








...全文
127 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2009-09-02
  • 打赏
  • 举报
回复
.....................路过.
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
搞定了
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
listview.FindItem

这个怎么用啊?
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jhone99 的回复:]
listview 这个名称好像不妥,改成 listview1 试试

listview 控件 名称是否有修改?部件加载是否还在?
[/Quote]

部件加载还在
jhone99 2009-09-02
  • 打赏
  • 举报
回复
listview 这个名称好像不妥,改成 listview1 试试

listview 控件 名称是否有修改?部件加载是否还在?
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jhone99 的回复:]
出错位置在哪里?
[/Quote]
出错位置在


szPrintName = "daddad"

' szPrintName = arrPrinter(cRecordSet.GetFieldValue("NPRINTERID")).PrinterName
listview.FindItem(szPrintName).SubItems(1) = cRecordSet.GetFieldValue("SUM_NLINENUM")
listview.FindItem(szPrintName).SubItems(2) = cRecordSet.GetFieldValue("SUM_NPRINTNUM")
listview.FindItem(szPrintName).SubItems(3) = cRecordSet.GetFieldValue("SUM_NNOPRINTNUM")


当我执行到第二列 listview.FindItem(szPrintName).SubItems(1) = cRecordSet.GetFieldValue("SUM_NLINENUM")
时报错
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jhone99 的回复:]
有引用未做
[/Quote]
啥意思啊?




''功能:刷新窗口计数显示
Public Function RefreshDisplay(listview As listview)
Dim cRecordSet As New CSealDB.CSealRecordset
Dim cRsSet As New CSealDB.CSealRecordset
Dim lvwItem As ListItem
Dim szSQL As String
Dim szPrintName As String

szSQL = "SELECT NPRINTERID,SUM(NLINENUM) AS SUM_NLINENUM,SUM(NPRINTNUM) AS SUM_NPRINTNUM,SUM(NLINENUM-NPRINTNUM) AS SUM_NNOPRINTNUM FROM PRINTINDEX WHERE NPRINTERID >0 GROUP BY NPRINTERID"
cRecordSet.COpen szSQL, cDBConn, adOpenStatic, adLockReadOnly
Do Until cRecordSet.IsEof
szPrintName = arrPrinter(cRecordSet.GetFieldValue("NPRINTERID")).PrinterName
listview.FindItem(szPrintName).SubItems(1) = cRecordSet.GetFieldValue("SUM_NLINENUM")
listview.FindItem(szPrintName).SubItems(2) = cRecordSet.GetFieldValue("SUM_NPRINTNUM")
listview.FindItem(szPrintName).SubItems(3) = cRecordSet.GetFieldValue("SUM_NNOPRINTNUM")
cRecordSet.MoveNext
Loop
listview.Refresh
End Function
''功能:刷新窗口计数显示
Public Function InitDisplay(listview As listview)
Dim cRecordSet As New CSealDB.CSealRecordset
Dim cRsSet As New CSealDB.CSealRecordset
Dim lvwItem As ListItem
Dim i As Integer
For i = 1 To UBound(arrPrinter)
Set lvwItem = listview.ListItems.Add(, , arrPrinter(i).PrinterName)
lvwItem.SubItems(1) = "0"
lvwItem.SubItems(2) = "0"
lvwItem.SubItems(3) = "0"
Next
RefreshDisplay listview
End Function


这是我的这两个函数
jhone99 2009-09-02
  • 打赏
  • 举报
回复
出错位置在哪里?
jhone99 2009-09-02
  • 打赏
  • 举报
回复
有引用未做
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
现在不是4列嘛,我想让第一列显示的内容不变,而后面的3列显示的数字动态的变化,
我就是想实现这个
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhengmenghua 的回复:]
前后控件名不同是怎么回事?
[/Quote]因为这是两个函数,我定义的变量名不一样而已
smydamozhilong 2009-09-02
  • 打赏
  • 举报
回复
cRecordSet.COpen szSQL, cDBConn, adOpenStatic, adLockReadOnly
改成
cRecordSet.Open szSQL, cDBConn, adOpenStatic, adLockReadOnly


cRecordSet.COpen不用改成cRecordSet.Open 因为cRecordSet是我们自己开发的一个连接组建,他的方法就是COpen 没有open
jhone99 2009-09-02
  • 打赏
  • 举报
回复
发了15个帖子,一个没结,结贴是对帮你的人的尊重

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


szSQL = "SELECT NPRINTERID,SUM(NLINENUM) AS SUM_NLINENUM,SUM(NPRINTNUM) AS SUM_NPRINTNUM,SUM(NLINENUM-NPRINTNUM) AS SUM_NNOPRINTNUM FROM PRINTINDEX WHERE NPRINTERID >0 GROUP BY NPRINTERID"
cRecordSet.Open szSQL, cDBConn, adOpenStatic, adLockReadOnly
Do Until cRecordSet.IsEof
szPrintName = "默认打印机"
listview.FindItem(szPrintName).SubItems(1) = cRecordSet.GetFieldValue("SUM_NLINENUM")
listview.FindItem(szPrintName).SubItems(2) = cRecordSet.GetFieldValue("SUM_NPRINTNUM")
listview.FindItem(szPrintName).SubItems(3) = cRecordSet.GetFieldValue("SUM_NNOPRINTNUM")
cRecordSet.MoveNext
Loop
listview.Refresh

**************************************************************
cRecordSet.COpen szSQL, cDBConn, adOpenStatic, adLockReadOnly
改成
cRecordSet.Open szSQL, cDBConn, adOpenStatic, adLockReadOnly


¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥


引用是否做了?
zhengmenghua 2009-09-02
  • 打赏
  • 举报
回复
前后控件名不同是怎么回事?
jhone99 2009-09-02
  • 打赏
  • 举报
回复
结帖率:0.00%

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧