一键输出简单列表的功能按钮开发
来源:互联网 发布:java工程师自我评价 编辑:程序博客网 时间:2024/06/11 00:01
最近生产和我说,配舱系统实在是太烦了,
他和我说了一下他的工作方式,
首先是打开系统,
第二步打开筛选器,
第三步抄下今天所有未确认的订单到自己的本子上,
然后跑到车间去一票一票确认,
生产表示浪费时间的主要有两点:
①本来由总经办来截图给生产,生产来回复是否能够按时完成,然后王陈去系统里一票一票确认,这也就意味着,原本只需要动动嘴巴,做做决策,现在既要做决策,又要做文员的工作(一票一票的点);
②订单明细太长,生产只需要订单号就可以了,有时候为了找一票订单需要花费很长时间,例如生产二部一票订单有12个柜的,这个时候就比较麻烦;
解决:
①第一个问题,其实爱莫能助的,为什么会有以前的这种模式——把所有的文员工作放到总经办,那是因为暂时没有办法去统一协调每个部门的工作,我们不可能让
②第二个问题其实是可以解决的,就是要把窗体里筛选出来的订单,压缩一下,只取出里面的订单号,确认结果和最终的延期时间么。这个很简单的。
接下来的工作
一、思路——所谓思路就是用最短的语言,用人能听懂的话:
首先要从窗体中取出数据源,然后用一定的技术(这里你要我怎么说呢?既然要说人话,那我说DAO和EXCEL VBA你又要懵逼了)把数据源压缩成订单号列表,放到Access里面去,最后把数据放到Excel里面去。
那么
①数据源取出来是什么东西?
答:有可能是一个Select字符串,
例如:“SELECT A,B,C FROM TABLEX”
也有可能是一个表格或者查询的名称,
例如:“采购查询”
那么,这两种情况?这个怎么处理?看代码吧!
②数据源拿到了,接下来要用到那些知识?
第一个是VBA代码操作查询的知识(包括怎样创建、怎样删除、怎样检查Application里是否有同名查询);
第二个是DAO或者是ADO的数据记录集的知识;
第三个是Excel VBA的知识,特别是Excel的对象。
Private Function createQry() Dim strSQLQr As String Dim db As DAO.Database Dim qr As DAO.QueryDef strSQLQr = Form_frm采购订单查询.Form.RecordSource If strSQLQr = "采购订单查询" Then strSQLQr = "select * from " & strSQLQr End If Set db = CurrentDb '-----检查是否存在同名查询 Dim I As Integer db.QueryDefs.Refresh For I = 0 To db.QueryDefs.Count - 1 If "Qry_PeicangList" = db.QueryDefs(I).Name Then '如果查询名:Query_temp存在 db.QueryDefs.Delete "Qry_PeicangList" Exit For End If Next I Set qr = db.CreateQueryDef("Qry_PeicangList", strSQLQr) db.Close: Set db = Nothing Application.RefreshDatabaseWindow MsgBox "创建成功!"End Function
补充:
但是在实际过程中我发现一个BUG,打开记录集的时候,如果FROM 后面的表格是查询,那么就算查询里面有数据,可能记录集也是空的,尤其是查询语句中包含Like语句时。
所以我在想,如果把数据放到一个中间表中,那么记录集是肯定不会空的,之前也经常看见朱总这么操作,只要最后把表格删掉就好了。
表格定义的文章看这里:“ CreateField方法简记”
'-----------检查是否存在同名表格,如果存在就删除-------------- For i = 0 To DB.TableDefs.Count - 1 If "tblPaigui" = CurrentDb.TableDefs(i).Name Then '如果查询名:Query_temp存在 CurrentDb.TableDefs.Delete "tblPaigui" Exit For End If Next i '-----------创建表格-------------- Set tb = DB.CreateTableDef("tblPaigui") With tb .Fields.Append .CreateField("采购订单号", dbText) .Fields.Append .CreateField("采购日期", dbDate) End With '将表添加到对象集合中 DB.TableDefs.Append tb Application.RefreshDatabaseWindow Set tb = Nothing DB.Close: Set DB = Nothing
最后用我getTblExcel函数,将数据输出到Excel表格中。
2017年6月7日上午10点半
俞智峰
- 一键输出简单列表的功能按钮开发
- wuzhicms刷新按钮的功能开发
- iOS开发UI篇章使用UItableview完成一个简单的QQ好友列表(一)
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- UITableView 使用方法(一) - 创建简单的列表
- UITableView 使用方法(一) - 创建简单的列表
- UITableView 使用方法(一) - 创建简单的列表
- 简单的JS实现按钮触发倒计时功能
- 使用NSTimer计时器实现简单的按钮倒计时功能
- 坐标与按钮结合的一些简单功能2
- 一句简单输出星期的代码
- 一句简单输出星期的代码
- IOS开发之使用Speex格式实现简单的语音聊天功能(一)
- IOS开发之使用Speex格式实现简单的语音聊天功能(一)
- cxf+spring开发(一)--- 实现webservice简单输出实例
- 制定简单的Apple客户端服务器设计功能列表
- CTF安卓逆向练习第二弹
- expected `;' before ‘iter’ 标签: iterator编译器compilerubuntuosgcc 2010-12-08 20:13 1927人阅读 评论(0) 收藏 举报
- 面向对象活动图
- 程序状态字
- 易错点小结——queue
- 一键输出简单列表的功能按钮开发
- 命名实体识别理论来源与参考
- Kotlin中的集合介绍
- Ubuntu开机登录密码出现invalid password
- 测试通用测试用例
- Swing组件项目开发知识笔记
- codevs 1033 蚯蚓的游戏问题 费用流+拆点
- Kotlin基础教程-嵌套类
- react native Back 按钮封装