| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 415 人关注过本帖
标题:求助一个关于 读取 ListView1 某列所有行数据之和。
只看楼主 加入收藏
事业男儿
Rank: 2
等 级:论坛游民
帖 子:283
专家分:14
注 册:2007-4-25
结帖率:80.3%
收藏
已结贴  问题点数:20 回复次数:6 
求助一个关于 读取 ListView1 某列所有行数据之和。
在网上找了一个通讯代码,想用于收人情记录,其中需要一列记录金额,然后用Text1合计界面所选 类型金额的合计,比如我选择同事的时候自动合计同事送的所有金额。我的想法就是用一个时间控件时刻监视ListView1显示金额,然后合计显示在Text1。还有这个添加记录的时候,所有为空都可以添加,同时不能区分重复名,还有一个修改功能也没有搞懂,点击一个成员出来,修改候点击修改按钮好像没有反应,只有点击添加才可以。另外他这个数据导出没有写代码出来,希望各位路过的老师帮个忙解决一下,再此谢过了。

[此贴子已经被作者于2020-7-19 13:44编辑过]

附件: 游客没有浏览附件的权限,请 登录注册
搜索更多相关主题的帖子: 某列 记录 读取 修改 金额 某列 修改 记录 读取 金额 
2020-07-19 13:29
cwa9958
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:6
帖 子:63
专家分:326
注 册:2006-6-25
收藏
得分:0 
这个程序的主要问题是出在 On Error Resume Next 这条语句上,运行中出现的错误没有提示。所以空记录也会添加,没有报错。
2020-07-20 10:53
事业男儿
Rank: 2
等 级:论坛游民
帖 子:283
专家分:14
注 册:2007-4-25
收藏
得分:0 
回复 2楼 cwa9958
谢谢版主: 请问ListView1列数据合计代码怎么写呢?谢谢

[此贴子已经被作者于2020-7-20 12:17编辑过]

2020-07-20 12:14
事业男儿
Rank: 2
等 级:论坛游民
帖 子:283
专家分:14
注 册:2007-4-25
收藏
得分:0 
添加记录 加了判断  
 If Text1.Text = "" Or Text5.Text = "" Then
        MsgBox "姓名和所属类别不能为空!", vbInformation, "修改记录"
        Exit Sub '为空则退出
    End If
解决了,但是ListView1列的数据合计不知道怎么搞,请各位老师指点一下。
2020-07-20 12:59
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:116
帖 子:1009
专家分:5434
注 册:2016-5-10
收藏
得分:0 
程序代码:
Dim HJ As Long   '声明一个长整型数据变量

For i = 1 To RST.RecordCount
Set LV1 = ListView1.ListItems.Add()
    LV1.Text = RST.Fields("姓名")             '第一列要用text属性。
    LV1.SubItems(1) = RST.Fields("手机号码")      '这是第2列。
    LV1.SubItems(2) = RST.Fields("数量")
    LV1.SubItems(3) = RST.Fields("所属类别")
    HJ = HJ + RST.Fields("数量")     '累计数量
    RST.MoveNext
    Next
CNN.Close

Text6.Text = HJ    '在文本框显示数量的合计

仅仅是累计数量的关键代码,供参考

请不要选我做版主
2020-07-20 13:04
cwa9958
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:6
帖 子:63
专家分:326
注 册:2006-6-25
收藏
得分:20 
修改了程序。
导出没有写,是不是要导出为excel文件?
增加记录里添加了重复姓名确认。



程序代码:
 

 Private Sub Command1_Click()  '添加记录

' On Error Resume Next
If Text1 = "" Then
    MsgBox "姓名不能为空!", vbOKOnly, "提示"
    Text1.SetFocus
    Exit Sub
  Else
    Call OpenCNN
    SQL = "select * from 通讯录 where 姓名='" & Text1 & "'"
    RST.Open SQL, CNN, 1, 3
    If Not RST.EOF Then
        MsgBox "姓名 " & Text1 & " 重复,请重新输入!", vbOKOnly, "提示"
        RST.Close
        CNN.Close
        Text1.SetFocus
        Exit Sub
      Else
      
        RST.AddNew
        RST.Fields("姓名") = Text1.Text
        RST.Fields("拼音简写") = Text2.Text
        RST.Fields("手机号码") = Text3.Text
        RST.Fields("数量") = Text4.Text
        RST.Fields("所属类别") = Combo2.Text
        RST.Update
        RST.Close
        CNN.Close
        MsgBox Text1 & " 的数据添加成功!", vbOKOnly, "注意"
    End If

 
End If
' Combo1.AddItem Text5.Text   '给下拉列表框自动添加项目  http://club.
 

 

 '清空文本框中的数据
 For i = 1 To 5
' Me.Controls("Text" & i).Text = ""  '为什么要清空?
 Next i

 

 
  Call 全部显示数据
  
  Text1.SetFocus
End Sub


程序代码:
Private Sub Command2_Click()  ' 修改记录

    If Text1.Text = "" Then
        MsgBox "姓名和所属类别不能为空!", vbInformation, "修改记录"
        Text1.SetFocus
        Exit Sub '为空则退出
    End If
'    On Error Resume Next
    Call OpenCNN

 SQL = "select * from 通讯录 where 姓名='" & Text1 & "'"

 

 RST.Open SQL, CNN, 1, 3

 If Not RST.EOF Then
    RST.Fields("姓名") = Text1.Text    '注意:姓名不能改!
    RST.Fields("拼音简写") = Text2.Text
    RST.Fields("手机号码") = Text3.Text
    RST.Fields("数量") = Text4.Text
    RST.Fields("所属类别") = Combo2.Text
    RST.Update
    MsgBox Text1 & "的数据修改成功!", vbOKOnly, "注意"
  Else
    MsgBox "姓名 " & Text1 & " 不存在!姓名不能修改!", vbOKOnly, "注意"
    Text1.SetFocus
    
End If
RST.Close
CNN.Close

 Call 全部显示数据
End Sub


程序代码:
Private Sub Command3_Click()
' 删除记录
'On Error Resume Next
    yn = MsgBox("删除数据后不能恢复!" & vbCrLf & "确定要删除吗?", vbYesNo, "注意")
    If yn = vbYes Then
        Call OpenCNN
        SQL = "delete from 通讯录 where 姓名='" & Text1.Text & "'"     '删除记录语句"
'        RST.Open SQL, CNN, 1, 3
        CNN.Execute (SQL) '执行删除语句
'        Set RST = Nothing
    '     RST.Update
        CNN.Close
        MsgBox "数据删除成功!", vbOKOnly, "注意"
     End If

 

 '刷新listview1显示列表
 Call 全部显示数据   '显示数据(SQL)
    
End Sub


程序代码:
 Private Sub 全部显示数据()
'--------------------------------------把通讯录装载---------------
    Dim LV1 As ListItem
    Dim Sum As Long
    
    ListView1.ListItems.Clear
    Call OpenCNN
    
    SQL = "select * from 通讯录 "
    RST.Open SQL, CNN, 1, 3
    'On Error Resume Next
    For i = 1 To RST.RecordCount
        Set LV1 = ListView1.ListItems.Add()
        LV1.Text = RST.Fields("姓名")             '第一列要用text属性。
        LV1.SubItems(1) = RST.Fields("手机号码")      '这是第2列。
        LV1.SubItems(2) = RST.Fields("数量")
        LV1.SubItems(3) = RST.Fields("所属类别")
        Sum = Sum + Val(RST.Fields("数量"))
        RST.MoveNext
        
    Next
    RST.Close
    Text6 = Sum
    
    CNN.Close
End Sub


[此贴子已经被作者于2020-7-20 13:31编辑过]

附件: 游客没有浏览附件的权限,请 登录注册
2020-07-20 13:16
事业男儿
Rank: 2
等 级:论坛游民
帖 子:283
专家分:14
注 册:2007-4-25
收藏
得分:0 
谢谢!cwa9958版主 以及其他热心的老师
2020-07-20 21:57
快速回复:求助一个关于 读取 ListView1 某列所有行数据之和。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065153 second(s), 8 queries.
Copyright©2004-2020, BCCN.NET, All Rights Reserved