ACCESS备件管理数据库分类出入库改进

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

  1. 在后台数据库文件中新增一张通用备件库存表。 通过复制专用备件库存表的数据结构来实现。
  2. 在出入库登记视窗内增加一个通用备件查询的子窗体(第三子窗体),此子窗体的尺寸、位置以及窗体是否可见属性设置成第二子窗体一样。
  3. 在出入库登记视窗内增加两只复选框控件,一只的标签是专用备件(名称ChkZhuanyong),另外一只的标签是通用备件(名称ChkTongyong)。两只复选框为互锁的逻辑。当第二子窗体没有成为当前显示时,复选框ChkZhuanyong被选中则子窗体区域显示第一子窗体,复选框ChkTongyong被选中则子窗体区域显示第三子窗体。
  4. 当第二子窗体为当前显示时,每更新一次按采购单号进行的查询,两只复选框都会被置成False。
  5. 每次点击入库或出库操作时,系统提示需要选择正确的备件类型(专用或通用),以保证出入库操作时不能访问到正确的后台数据表。
    在这里插入图片描述
Private Sub ChkTongyong_Click()
Me.ChkZhuanyong = False
If Me.查询_采购单及采购明细_子窗体.Visible = True Then
    Me.查询_K_通用备件列表_子窗体.Visible = False
Else
    Me.查询_K_通用备件列表_子窗体.Visible = True
End If
End Sub

Private Sub ChkZhuanyong_Click()
Me.查询_K_通用备件列表_子窗体.Visible = False
Me.ChkTongyong = False
End Sub

Private Sub CmdRuku_Click()
On Error GoTo Err_CmdRuku_Click
  Dim Rs1 As ADODB.Recordset
  Dim Rs2 As ADODB.Recordset
  Set Rs1 = New ADODB.Recordset
  Set Rs2 = New ADODB.Recordset
  Dim strTemp As String
  Dim strSQL As String
  Dim rsCnt As Integer
 
  If Me.品名 = "" Then
        MsgBox "执行入库前,请在品名文本框输入内容"
        Me.品名.SetFocus
        Exit Sub
  End If
  If Me.用途 = "" Then
        MsgBox "执行入库前,请在用途文本框输入内容"
        Me.用途.SetFocus
        Exit Sub
  End If
  If Me.数量 = "" Then
        MsgBox "执行入库前,请在数量文本框输入内容"
        Me.数量.SetFocus
        Exit Sub
  End If
  If Me.费用中心 = "" Then
        MsgBox "执行入库前,请在费用中心文本框选择内容"
        Me.费用中心.SetFocus
        Exit Sub
  End If
  If Me.单价 = "" Then
        MsgBox "执行入库前,请在单价文本框输入内容"
        Me.单价.SetFocus
        Exit Sub
  End If
  If Me.重要性等级 = "" Then
        MsgBox "执行入库前,请在重要性等级文本框选择内容"
        Me.重要性等级.SetFocus
        Exit Sub
  End If
  If Me.安全库存量 = "" Then
        MsgBox "执行入库前,请在安全库存量文本框输入内容"
        Me.安全库存量.SetFocus
        Exit Sub
  End If
  If Me.日期 = "" Then
        MsgBox "执行入库前,请在出入库日期文本框输入内容"
        Me.日期.SetFocus
        Exit Sub
  End If
  If Me.ChkTongyong = False And Me.ChkZhuanyong = False Then
        MsgBox "收货入库前请选择是专用备件还是通用备件", vbInformation, "重要提示"
        Me.ChkZhuanyong.SetFocus
        Exit Sub
  End If

  
  
  If MsgBox("请确认备件品名、规格和数量信息,并确认要执行入库吗?", vbInformation + vbYesNo, "重要提示") = vbNo Then Exit Sub
  
  '如果是从采购单列表中选择品名进行入库,则判断该采购单中被选中备件的收货日期字段是否有内容
  If blFromPR = True And Me.查询_采购单及采购明细_子窗体.Visible = True Then
    If strArray(5) <> "" Then
        If MsgBox("此备件已经于" & strArray(5) & "入库一次,还要再次入库吗?", vbInformation + vbYesNo, "重要提示") = vbNo Then
            Exit Sub
        End If
    End If
  End If
  
  If Me.ChkTongyong = True Then
    strTemp = "Select * From K_通用备件列表"   '勾选了通用备件的时候才把入库的备件登记到通用备件列表中
  Else
    strTemp = "Select * From K_专用备件清单"   '勾选了专用备件的时候才把入库的备件登记到专用备件清单中
  End If
    Rs1.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    If Rs1.RecordCount = 0 Then
        Rs1.AddNew
        Rs1("品名") = Me.品名
        Rs1("规格") = Me.规格
        Rs1("品牌") = Me.品牌
        Rs1("数量") = Me.数量
        Rs1("单价") = Me.单价
        Rs1("总价") = Rs1("数量") * Rs1("单价")
        Rs1("用途") = Me.用途
        Rs1("费用中心") = Me.费用中心
        Rs1("重要性等级") = Me.重要性等级
        Rs1("安全库存量") = Me.安全库存量
        Rs1("最后入库日期") = Me.日期
        Rs1.Update
    Else
        Rs1.MoveFirst
        cunzai = False
        For i = 0 To Rs1.RecordCount - 1
            If Rs1("品名") = Me.品名 And Rs1("规格") = Me.规格 Then
                cunzai = True
                Rs1("数量") = Rs1("数量") + Me.数量
                Rs1("单价") = Me.单价
                Rs1("总价") = Rs1("数量") * Rs1("单价")
                Rs1("最后入库日期") = Me.日期
                Rs1.Update
                i = Rs1.RecordCount
            Else
                Rs1.MoveNext
            End If
        Next
        If cunzai = False Then
            Rs1.AddNew
            Rs1("品名") = Me.品名
            Rs1("规格") = Me.规格
            Rs1("品牌") = Me.品牌
            Rs1("数量") = Me.数量
            Rs1("单价") = Me.单价
            Rs1("总价") = Rs1("数量") * Rs1("单价")
            Rs1("用途") = Me.用途
            Rs1("费用中心") = Me.费用中心
            Rs1("重要性等级") = Me.重要性等级
            Rs1("安全库存量") = Me.安全库存量
            Rs1("最后入库日期") = Me.日期
            Rs1.Update
        End If
    End If
  
  '登记到备件入库登记表内
    strTemp = "Select * From K_备件入库登记"
    Rs2.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Rs2.AddNew
    Rs2("备件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.Recordset
  Set Rs3 = New ADODB.Recordset
  Dim Xing As String
  Dim Ming As String
  Xing = Left(Me.记录者, 1)
  Ming = Mid(Me.记录者, 2)
  
  If blFromPR = True Then
    strTemp = "Select * From K_采购单列表"
    Rs3.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Rs3.MoveFirst
    If strArray(0) = "" Then
        MsgBox "没有从采购单列表中选中备件", vbInformation, "提示"
        Exit Sub
    End If
    For i = 0 To Rs3.RecordCount - 1
        If Rs3("采购ID") = strArray(8) Then
'            Rs3("收货人ID") = DLookup("[员工ID]", "K_员工列表", "[员工名]= '" & Ming & "'")
            Rs3("收货人ID") = DLookup("[员工ID]", "K_员工列表", "[员工名]= '" & Ming & "'" & "And [员工姓]='" & Xing & "'")
            Rs3("收货日期") = Me.日期
            i = Rs3.RecordCount
        Else
            Rs3.MoveNext
        End If
    Next
    Rs3.Update
  End If
  
  Rs1.Close
  Rs2.Close
  Rs3.Close
  Set Rs1 = Nothing
  Set Rs2 = Nothing
  Set Rs3 = Nothing
  
  MsgBox "收货入库操作已经完成!", vbInformation, "提示"
If Me.查询_采购单及采购明细_子窗体.Visible = True Then
        strSQL = "Select * From 查询_采购单及采购明细 Where 采购单号= '" & Me.TxtPRtitle & "' "
        Me.查询_采购单及采购明细_子窗体.Form.RecordSource = strSQL
  Else
        Call CmdQuery_Click
  End If

Exit_CmdRuku_Click:
    Exit Sub
Err_CmdRuku_Click:
    MsgBox Err.Description
    Resume Exit_CmdRuku_Click
End Sub

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CKBOOD was revised in the early morning of December 17, 2020. CKBOOD was revised in the early morning of December 17, 2020. Access仓库管理系统课程设计报告(1)全文共17页,当前为第1页。Access仓库管理系统课程设计报告 Access仓库管理系统课程设计报告(1)全文共17页,当前为第1页。 课 程 设 计 报 告 (数据库技术及应用) 题目: 仓库管理系统 系 别: 专 业: 姓 名: 学 号: 指导教师: 河南城建学院 目录 一 开发概述…………………………………………...……..3 1.1仓库管理系统. ……………………………...………3 1.2仓库管理系统研究背景与意义…………………….…3 二 功能概述………………………………………………..….3 Access仓库管理系统课程设计报告(1)全文共17页,当前为第2页。2.1系统目标…………………………………………………….…3 Access仓库管理系统课程设计报告(1)全文共17页,当前为第2页。 2.2功能需求………………………………………………………3 2.3 系统功能模块设计…………………………………..3 三 概要设计……………………………………………………4 3.1 数据库需求分析…………………………………….…4 3.2 数据库逻辑结构设计………………………………………5 四 详细设计………………………………………………..…8 4.1 建立表………………………………………………8 4.2 建立表间联系………………………………………13 4.3 窗体设计……………………………………….……14 4.4 创建查询…………………………….………………20 4.5 报表设计……………………………………..………24 五 效果及存在的问题………………………….……………...27 六 课程设计总结……………………………………….………27 七 参考文献 ………………………………………………….27 Access仓库管理系统课程设计报告(1)全文共17页,当前为第3页。一开发概述 Access仓库管理系统课程设计报告(1)全文共17页,当前为第3页。 仓库管理是一项繁琐复杂的工作,每天要处理大量的单据数据。为及时结清每笔业务,盘点库存和货物流动情况,保证企业生产用料以及货物安全,库管人员要花费大量人力物力和时间作数据记录统计工作。 本系统正是根据仓库管理的专业特点而开发的,用现代电子技术提高库管工作的质量和效率。适用于小型企业库管以及储运业务,界面直观,操作简便,运用鼠标,在窗口的不同部位供使用者录入和查询统计。 基于课程学习,应对简单的商品在途、入库、在库、出库管理。 开发软件:本系统以Office软件系列中Microsoft Access 2003为开发平台,适用于Microsoft Access 2003及其以上版本装载的计算机。 二 功能概述 2.1系统目标 通过一个仓库管理系统,使仓库的管理工作系统化、规范化、自动化,使得资金使用合理,物资设备的储备最佳。 2.2功能需求 (1)仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。 (2)仓库管理各种信息的查询、修改和维护。 Access仓库管理系统课程设计报告(1)全文共17页,当前为第4页。(3)设备采购报表的生成。 Access仓库管理系统课程设计报告(1)全文共17页,当前为第4页。 (4)在库存管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监控。 (5)企业各个部门的物资需求的管理。 (6)操作日志的管理。 2.3 系统功能模块设计 在系统功能分析的基础上,得到下图的系统功能模块: 仓库管理系统设备入库设备出库设备还库设备需求设备采购修改库存保存日志 仓库管理系统 设备入库 设备出库 设备还库 设备需求 设备采购 修改库存 保存日志 系统功能模块 三 概要设计 Access仓库管理系统课程设计报告(1)全文共17页,当前为第5页。3.1 数据库需求分析 Access仓库管理系统课程设计报告(1)全文共17页,当前为第5页。 在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的数据关系图。仓库现有库存企业总体生产计划设备出库设备还库设备采购设备入库汇总处理各部门需求 仓库现有库存 企业总体生产计划 设备出库 设备还库 设备采购 设备入库 汇总处理 各部门需求 数据流程图 针对本实例,通过对企业仓库管理的内容和数据关系分析,设计的数据项和数据结构如下: (1)设备信息:包括设备号、设备名称、供应商、供应商电话、采购员、剩余数量、设
Access 是一种微软开发的关系型数据库管理系统,它可以用来创建和管理数据库。下面是一个简单的 Access 数据库管理系统教程: 1. 打开 Access 软件,选择“新建空白数据库”。 2. 在弹出的对话框中输入数据库名称,选择保存位置,然后点击“创建”。 3. 在左侧导航栏中选择“表格”,然后点击“新建”。 4. 在新建表格对话框中,输入表格名称,然后在下方添加需要的字段,包括字段名称、数据类型和长度等信息。如果需要添加主键,可以在字段列表中选中主键字段,然后点击“主键”按钮。 5. 点击“保存”按钮,保存表格结构。 6. 在左侧导航栏中选择“表格”,然后双击刚才创建的表格,开始输入数据。 7. 在表格中输入数据,可以使用“Tab”键在不同字段之间切换,当输入完毕后,点击“保存”按钮。 8. 在左侧导航栏中选择“查询”,然后点击“新建”。 9. 在新建查询对话框中,选择需要查询的表格或查询,然后在下方添加需要查询的字段。 10. 点击“运行”按钮,查询结果会在下方显示出来。 11. 在左侧导航栏中选择“表单”,然后点击“新建”。 12. 在新建表单对话框中,选择需要显示的表格或查询,然后在下方添加需要显示的字段。 13. 点击“运行”按钮,表单会在屏幕上显示出来。 14. 在左侧导航栏中选择“报表”,然后点击“新建”。 15. 在新建报表对话框中,选择需要显示的表格或查询,然后在下方添加需要显示的字段。 16. 点击“运行”按钮,报表会在屏幕上显示出来。 以上就是一个简单的 Access 数据库管理系统教程,你可以根据自己的需求和实际情况进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值