LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

实现ListView可编辑功能,想学VBA的朋友千万别错过,InkEdit控件

admin
2025年1月28日 13:58 本文热度 141

内容提要 

  • ListView编辑功能

  • LIstView查询数据

  • InkEdit控件修改ListView数据

  • 根据ListView数据更新工作表数据

大家好,我是冷水泡茶。
前几天我们分享过一个关于ListView查询显示数据的案例:
VBA实用案例,数据查询,ListView显示、筛选数据,查询结果输出到工作表
有朋友在后台留言,希望能增加一个修改按钮:
确实,如果能修改ListView的数据,再更新到工作表,那就相当完美了。
ListView本身不可以编辑,这也是曾经困扰我很久的问题,我几乎搜遍了整个网络,终于皇天不负有心人,有大神在网上公布了一个非常好的解决方案,被我给找到了,主要是结合InkEdit控件和Windows窗口API函数来实现,把InkEdit控件覆盖到点击的ListView单元格上面,就像直接修改Excel工作表单元格一样,效果非常好。
在没找到这种方法之前,我尝试过用TextBox来输入内容,但效果不理想,TextBox不能覆盖到ListView的单元格上面。这种方式我们在「电子发票登记系统(Access版)」中使用过:
这种方法也能达到目的,但使用起来有点别扭。
其实,使用InkEdit控件的方法,我们也分享过一个案例:
Excel VBA 实用项目【收费管理系统】使用说明
在我的「Excel 实用收费项目【财务管理系统注册版】」中,也使用了InkEdit控件来编辑ListView。
不过,前面提及的案例都是更新Access数据库,没有更新Excel表的,今天就乘这个机会分享一波。

用户窗体

我们在用户窗体上添加几个控件:

1、InkEdit控件,这个控件类似于TextBox控件,但它有句柄(Handle)属性,可以通过API函数来控制它。

2、全选按钮,点击选中所有记录,按钮变成“全消”,再点击,取消所有勾选,按钮变回“全选”。

3、删除按钮,删除选中的记录。

4、是否修改复选框,勾选则显示删除按钮,同时ListView可编辑,不勾选则隐藏删除按钮,ListView不可编辑。复选框的值变化时,同步更新工作表Settings的值。

工作表

1、增加一张工作表Settings,用来保存一些设置选项,目前只有一个“修改状态”,取值On和Off,当为On时,在启动用户窗体是,是否修改复选框处于勾选状态,反之则不勾选:

2、工作表的CodeName修改了一下,方便直接引用:

基本实现过程

1、用户窗体启动时,我们把数据表shData装入数组,并添加到ListView,同时将月份、姓名添加到两个复合框的List,供下拉选择

2、当我们点击ListView的ListItem时,如果是否修改处于勾选状态,同时点击的单元格是设定为允许编辑的,则在其上显示InkEdit控件,我们在InkEdit中输入新的值(看上去就像在ListView中输入一样),按回车或方向键或鼠标点击其他单元格,则完成修改。如果连续按击Esc键两次,则取消修改。

3、修改内容会立即更新到工作表。

完整代码文本,详见另一条推文。

写在最后

1、我们实现了ListView的编辑功能,同时更新工作表,我们没有做“新增”功能,即在工作表中新增一条记录,主要是考虑直接在工作表中新增记录会更方便一些。如果是更新数据库,那么“新增”功能是必不可少的。

2、我们的编辑功能还是比较简陋,需要纯手工输入。还可以进一步优化,比如:

(1)日期采用「日期控件」来输入。

(2)姓名、性质、状态,可以使用下拉列表输入,可以在Setting表中添加相应的选项。

(3)金额,进行一些合规性校验,确保输入的是数字。

(4)如果有计算关系的字段,如数量*单价等于金额,我们可以通过数据、单价的变化来自动计算金额。

3、上述优化项目,由于时间关系,加之我们在以前的案例中也分享过,就不打算再搞了。感兴趣的朋友可以自己摸索,有问题可以留言讨论,如果自己搞不定,但是又急需使用这样的功能的,欢迎付费定制,价廉物美、童叟无欺

4、本案例实现ListView可编辑的方法,参考自EXCELHOME的一个贴子,我把网址放在这,感兴趣的朋友可以去看看,楼主解释得非常全面:

https://club.excelhome.net/thread-1423746-1-1.html

~~~~~~End~~~~~~


阅读原文:原文链接


该文章在 2025/2/5 17:01:29 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved