ACCESS备件库管理数据库

制作一个备件管理数据库,设计要达到的功能:

  1. 入库: ①单个备件入库。按待入库件的名称和规格,查询备件库内是否存在该备件,如果存在,则点击入库后,备件库中该型备件数量增加一个入库的数量;如果不存在,则添加新的备件信息行。入库操作的同时,记录这次入库操作的相关信息到入库登记表内,以备核查。②按采购申请单批量入库,按采购单号调出采购申请单中的一批备件,逐一选中并执行像单个入库一样的入库操作。
    2.出库。出库只能一个一个地执行。按备件名称和规格,在库中查找到要出库件,然后点击出库按钮,出库后库内数量自动减去出库量,同时把出库信息登记到出库信息记录表内。出库数量大于库存量,会报错提示库存量不足。出库后,若库存量小于安全库存量,则把该备件信息登记到待采购登记表里。工程师登录系统时,自动弹出对话框,询问是否处理待采购事宜。
  2. 工程师登录系统时,若有待采购提醒,并选择受理,系统自动打开待采购事宜受理窗体,查看自己责任区域的待采购项,然后双击选中的备件,则该备件自动添加到采购申请窗体里的购物车内,以方便处理采购申请。
  3. 系统登录时,按职务不同,自动选择有权限打开的窗体。
  4. 为避免出入库操作出现误操作,执行出入库操作的前后,都设置系统提醒。

    在这里插入图片描述
    在这里插入图片描述
Private Sub CmdChuku_Click()
On erro GoTo Err_CmdChuku_Click
  Dim Rs1 As ADODB.Recordset
  Dim Rs2 As ADODB.Recordset
  Dim Rs3 As ADODB.Recordset
  Set Rs1 = New ADODB.Recordset
  Set Rs2 = New ADODB.Recordset
  Set Rs3 = New ADODB.Recordset
  Dim strTemp 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 MsgBox("请确认备件品名、规格和数量信息,并确认要执行出库吗?", vbInformation + vbYesNo, "重要提示") = vbNo Then Exit Sub
  
  strTemp = "Select * From K_专用备件清单"
  Rs1.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  Rs1.MoveFirst
  cunzai = False
  For i = 0 To Rs1.RecordCount - 1
    If Rs1("品名") = Me.品名 And Rs1("规格") = Me.规格 Then
        cunzai = True
        If Rs1("数量") < Me.数量 Then
            MsgBox "实际库存量为" & Rs1("数量") & ",不满足你填写的出库数量", vbCritical, "请确认出库数量"
            Me.数量.SetFocus
            Exit Sub
        End If
        Rs1("数量") = Rs1("数量") - Me.数量
        Rs1("最后出库日期") = Me.日期
        Rs1.Update
        If Rs1("数量") < Rs1("安全库存量") Then
            MsgBox "本次出库后,备件库存量已经不足,请提醒工程师进行采购", vbCritical, "重要提醒"
            '打开代采购登记表,登录库存不足的备件的型号、规格、品牌、费用中心、用途等信息
            strTemp = "Select * From K_专用备件等待采购登记表"
            Rs3.Open strTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
            Rs3.AddNew
            Rs3("备件ID") = Rs1("备件ID")
            Rs3("品名") = Rs1("品名")
            Rs3("规格") = Rs1("规格")
            Rs3("品牌") = Rs1("品牌")
            Rs3("用途") = Rs1("用途")
            Rs3("费用中心") = Rs1("费用中心")
            Rs3("登记日期") = Me.日期
            Rs3("记录者") = Me.记录者
            Rs3("是否受理") = False
            Rs3.Update
            Rs3.Close
            Set Rs3 = Nothing
        End If
        i = Rs1.RecordCount
    Else
        Rs1.MoveNext
    End If
  Next
  If cunzai = False Then
    MsgBox "备件库中没有你选择的备件,请核对备件品名和规格", vbInformation, "提醒!"
    Exit Sub
  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("总价") = Rs2("出库数量") * Rs2("单价")
    Rs2("出库日期") = Me.日期
    Rs2("记录者") = Me.记录者
    Rs2.Update
  Rs1.Close
  Rs2.Close
  Set Rs1 = Nothing
  Set Rs2 = Nothing
  
   MsgBox "出库操作已经完成!", vbInformation, "提示"
Exit_CmdChuku_Click:
    Exit Sub
Err_CmdChuku_Click:
    MsgBox Err.Description
    Resume Exit_CmdChuku_Click
End Sub
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值