需要解决的问题:
原本计划只针对设备专用备件进行入库登记,实际操作中,发现部门采购的所有物品都需要进行收货及入库登记。原来开发的模块无法实现新的需求。
解决方案:

  1. 在后台数据库文件中新增一张通用备件库存表。 通过复制专用备件库存表的数据结构来实现。
  2. 在出入库登记视窗内增加一个通用备件查询的子窗体(第三子窗体),此子窗体的尺寸、位置以及窗体是否可见属性设置成第二子窗体一样。
  3. 在出入库登记视窗内增加两只复选框控件,一只的标签是专用备件(名称ChkZhuanyong),另外一只的标签是通用备件(名称ChkTongyong)。两只复选框为互锁的逻辑。当第二子窗体没有成为当前显示时,复选框ChkZhuanyong被选中则子窗体区域显示第一子窗体,复选框ChkTongyong被选中则子窗体区域显示第三子窗体。
  4. 当第二子窗体为当前显示时,每更新一次按采购单号进行的查询,两只复选框都会被置成False。
  5. 每次点击入库或出库操作时,系统提示需要选择正确的备件类型(专用或通用),以保证出入库操作时不能访问到正确的后台数据表。
Private Sub ChkTongyong_Click()
Me.ChkZhuanyong = False
If Me.查询_采购单及采购明细_子窗体.Visible = True ThenMe.查询_K_通用备件列表_子窗体.Visible = False
ElseMe.查询_K_通用备件列表_子窗体.Visible = True
End If
End SubPrivate Sub ChkZhuanyong_Click()
Me.查询_K_通用备件列表_子窗体.Visible = False
Me.ChkTongyong = False
End SubPrivate Sub CmdRuku_Click()
On Error GoTo Err_CmdRuku_ClickDim Rs1 As ADODB.RecordsetDim Rs2 As ADODB.RecordsetSet Rs1 = New ADODB.RecordsetSet Rs2 = New ADODB.RecordsetDim strTemp As StringDim strSQL As StringDim rsCnt As IntegerIf Me.品名 = "" ThenMsgBox "执行入库前,请在品名文本框输入内容"Me.品名.SetFocusExit SubEnd IfIf Me.用途 = "" ThenMsgBox "执行入库前,请在用途文本框输入内容"Me.用途.SetFocusExit SubEnd IfIf Me.数量 = "" ThenMsgBox "执行入库前,请在数量文本框输入内容"Me.数量.SetFocusExit SubEnd IfIf Me.费用中心 = "" ThenMsgBox "执行入库前,请在费用中心文本框选择内容"Me.费用中心.SetFocusExit SubEnd IfIf Me.单价 = "" ThenMsgBox "执行入库前,请在单价文本框输入内容"Me.单价.SetFocusExit SubEnd IfIf Me.重要性等级 = "" ThenMsgBox "执行入库前,请在重要性等级文本框选择内容"Me.重要性等级.SetFocusExit SubEnd IfIf Me.安全库存量 = "" ThenMsgBox "执行入库前,请在安全库存量文本框输入内容"Me.安全库存量.SetFocusExit SubEnd IfIf Me.日期 = "" ThenMsgBox "执行入库前,请在出入库日期文本框输入内容"Me.日期.SetFocusExit SubEnd IfIf Me.ChkTongyong = False And Me.ChkZhuanyong = False ThenMsgBox "收货入库前请选择是专用备件还是通用备件", vbInformation, "重要提示"Me.ChkZhuanyong.SetFocusExit SubEnd IfIf MsgBox("请确认备件品名、规格和数量信息,并确认要执行入库吗?", vbInformation + vbYesNo, "重要提示") = vbNo Then Exit Sub'如果是从采购单列表中选择品名进行入库,则判断该采购单中被选中备件的收货日期字段是否有内容If blFromPR = True And Me.查询_采购单及采购明细_子窗体.Visible = True ThenIf strArray(5) <> "" ThenIf MsgBox("此备件已经于" & strArray(5) & "入库一次,还要再次入库吗?", vbInformation + vbYesNo, "重要提示") = vbNo ThenExit SubEnd IfEnd IfEnd IfIf Me.ChkTongyong = True ThenstrTemp = "Select * From K_通用备件列表"   '勾选了通用备件的时候才把入库的备件登记到通用备件列表中ElsestrTemp = "Select * From K_专用备件清单"   '勾选了专用备件的时候才把入库的备件登记到专用备件清单中End IfRs1.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimisticIf Rs1.RecordCount = 0 ThenRs1.AddNewRs1("品名") = Me.品名Rs1("规格") = Me.规格Rs1("品牌") = Me.品牌Rs1("数量") = Me.数量Rs1("单价") = Me.单价Rs1("总价") = Rs1("数量") * Rs1("单价")Rs1("用途") = Me.用途Rs1("费用中心") = Me.费用中心Rs1("重要性等级") = Me.重要性等级Rs1("安全库存量") = Me.安全库存量Rs1("最后入库日期") = Me.日期Rs1.UpdateElseRs1.MoveFirstcunzai = FalseFor i = 0 To Rs1.RecordCount - 1If Rs1("品名") = Me.品名 And Rs1("规格") = Me.规格 Thencunzai = TrueRs1("数量") = Rs1("数量") + Me.数量Rs1("单价") = Me.单价Rs1("总价") = Rs1("数量") * Rs1("单价")Rs1("最后入库日期") = Me.日期Rs1.Updatei = Rs1.RecordCountElseRs1.MoveNextEnd IfNextIf cunzai = False ThenRs1.AddNewRs1("品名") = Me.品名Rs1("规格") = Me.规格Rs1("品牌") = Me.品牌Rs1("数量") = Me.数量Rs1("单价") = Me.单价Rs1("总价") = Rs1("数量") * Rs1("单价")Rs1("用途") = Me.用途Rs1("费用中心") = Me.费用中心Rs1("重要性等级") = Me.重要性等级Rs1("安全库存量") = Me.安全库存量Rs1("最后入库日期") = Me.日期Rs1.UpdateEnd IfEnd If'登记到备件入库登记表内strTemp = "Select * From K_备件入库登记"Rs2.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimisticRs2.AddNewRs2("备件ID") = Rs1("备件ID")Rs2("品名") = Rs1("品名")Rs2("规格") = Rs1("规格")Rs2("品牌") = Rs1("品牌")Rs2("用途") = Rs1("用途")Rs2("费用中心") = Rs1("费用中心")Rs2("入库数量") = Me.数量Rs2("单价") = Rs1("单价")Rs2("入库日期") = Me.日期Rs2("记录者") = Me.记录者Rs2.Update'更新采购单列表中收货人和收货日期字段内容Dim Rs3 As ADODB.RecordsetSet Rs3 = New ADODB.RecordsetDim Xing As StringDim Ming As StringXing = Left(Me.记录者, 1)Ming = Mid(Me.记录者, 2)If blFromPR = True ThenstrTemp = "Select * From K_采购单列表"Rs3.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimisticRs3.MoveFirstIf strArray(0) = "" ThenMsgBox "没有从采购单列表中选中备件", vbInformation, "提示"Exit SubEnd IfFor i = 0 To Rs3.RecordCount - 1If Rs3("采购ID") = strArray(8) Then
'            Rs3("收货人ID") = DLookup("[员工ID]", "K_员工列表", "[员工名]= '" & Ming & "'")Rs3("收货人ID") = DLookup("[员工ID]", "K_员工列表", "[员工名]= '" & Ming & "'" & "And [员工姓]='" & Xing & "'")Rs3("收货日期") = Me.日期i = Rs3.RecordCountElseRs3.MoveNextEnd IfNextRs3.UpdateEnd IfRs1.CloseRs2.CloseRs3.CloseSet Rs1 = NothingSet Rs2 = NothingSet Rs3 = NothingMsgBox "收货入库操作已经完成!", vbInformation, "提示"
If Me.查询_采购单及采购明细_子窗体.Visible = True ThenstrSQL = "Select * From 查询_采购单及采购明细 Where 采购单号= '" & Me.TxtPRtitle & "' "Me.查询_采购单及采购明细_子窗体.Form.RecordSource = strSQLElseCall CmdQuery_ClickEnd IfExit_CmdRuku_Click:Exit Sub
Err_CmdRuku_Click:MsgBox Err.DescriptionResume Exit_CmdRuku_Click
End Sub

ACCESS备件管理数据库分类出入库改进相关推荐

  1. ACCESS备件库管理数据库

    制作一个备件管理数据库,设计要达到的功能: 入库: ①单个备件入库.按待入库件的名称和规格,查询备件库内是否存在该备件,如果存在,则点击入库后,备件库中该型备件数量增加一个入库的数量:如果不存在,则添 ...

  2. 仓库管理软件哪个好?一键解决仓库出入库、管理库存,选这些软件

    仓库管理软件哪个好? 仓库管理企业进销存的重要组成部分之一,现代物流中不可缺少的重要环节,对于企业管理的重要性不言而喻. 到底该如何选择仓库管理软件?让进销存老研究员帮你搞定 选择一个好的软件,首先明 ...

  3. Python仓库管理系统源代码,库存管理系统源码,基于flask,内含数据库文件,已实现出入库、库存预警,库存搜索等功能

    Python仓库管理系统源代码,库存管理系统源码,基于flask,内含数据库文件,已实现出入库.库存预警,库存搜索等功能 已实现三大功能:库存管理(出库.入库.低库存预警.物品搜索),预算统计,出入库 ...

  4. 《工厂订单出入库信息管理系统》完整案例详解(含演示网址账号)(GoVue源码MysqlRedis数据库)

    近期开发了一套工厂订单及出入库信息管理系统,现在系统已经正式上线,我也抽出时间对之前的工作了进行了二次整理,在总结的过程中继续完善. 系统演示网址:出入库系统   演示账号:admin 密码:1234 ...

  5. 《工厂订单出入库信息管理系统》模块1 -- 订单管理

    一.前言 工厂订单及出入库业务的趋势是客户要求越来越高,客户需要快捷.方便.简单.一站式的出入库手续.因此,货物出入库管理信息系统要简化出入库手续,减轻人员作业量,提高工作效率,助力企业数字信息化转型 ...

  6. mysql图书管理数据库的三个关系模式_数据库 考虑如下关于图书馆的关系模式,用关系代数写出查询(数据库系统概念第六版6.14)...

    贝尔梅尔娜美 2019.03.15 采纳率:60%    等级:39 已帮助:91565人 数据库系统的基本概念 数据:实际上就是描述事物的符号记录. 数据的特点:有一定的结构,有型与值之分,如整型. ...

  7. 有备无患——数据中心基础设施备品备件管理

    随着云技术.互联网+等理念的不断发展,数据中心行业再次迎来了大规模发展的契机.大量的新技术和新模式推动着数据中心基础设施架构和体系的高歌猛进,而基础设施运营的实力提升则相对缓慢. 数据中心基础设施备品 ...

  8. ylbtech-Bill(发票管理)-数据库设计

    ylbtech-dbs:ylbtech-Bill(发票管理)-数据库设计 -- ============================================= -- DatabaseNam ...

  9. 怎么做好备件管理?备件管理系统都包括哪些功能模块?

    数字化转型成为大趋势,在全球供应链面临挑战的背景下,备件仓储.备件管理的数字化升级对企业.对行业有着至关重要的意义.如何借助售后服务系统,加强整个备件管理链条清晰程度,沉淀管理数据,通过数据挖掘明确备 ...

最新文章

  1. 基于引擎的matlab+vc混合编程的配置
  2. vba 指定列后插入列_如何用【VBA】快速批量提取多个工作表名称?
  3. 使用 baget 搭建 nuget 私有服务
  4. EntityFramework Core 3.x上下文构造函数可以注入实例呢?
  5. pdo连接mysql数据库(简洁明了)
  6. pycharm配置python环境变量_求教大家 pycharm 中,环境变量 path 的问题!
  7. 看到程序员坐在电脑前,如何判断程序员正在做什么?只需看这些
  8. Emmet语法——HTML和CSS快速生成代码/VS code如何快速格式化代码
  9. DOS及BIOS中断调用实验
  10. 没有与这些操作数匹配的运算符_【5min+】 这些C#的运算符您都认识吗?
  11. 使用代理软件SocksCap-v2.38H玩网络游戏
  12. SylixOS中AHCI驱动框架分析
  13. 对近来安庆天气特征的总结(夏季)
  14. 零基础学前端难吗?前端好学吗?
  15. 最近流行的PlanB,全民副业的时代开启了?
  16. [Poi 2012] bzoj2794 Cloakroom [dp]
  17. CrowdHuman密集行人数据集转换代码(可任意选择某些类别的框)
  18. 如何退出Dos——附DOS命令大全
  19. ROS2机器人笔记20-11-22
  20. 算法学习笔记【1】:KMP 算法

热门文章

  1. c语言人民币小写转换成大写,C语言实现人民币小写转大写
  2. 妻子决定你未来的事业高度
  3. 科研成果 | 信道模型 | 原理及随机数仿真 | 均匀、正态、双高斯、瑞利、莱斯、对数正态、nakagami、Suzuki分布的随机数仿真(matlab)
  4. 纯文科生学计算机编程难度大不大
  5. krpano资源下载及还原全景图
  6. windwos powershell
  7. php神盾解密,浅谈PHP神盾的解密过程
  8. Python 数据扩充(亮度、翻转、噪声)
  9. Android控件 SeekBar
  10. JavaScript-function函数