Access的BOM开发(2)基础信息

本文档详细介绍了如何使用Access进行产品信息管理功能的开发,包括创建产品信息表、产品明细窗体和编辑窗体,以及实现增、删、改的基本操作。通过代码示例展示了如何在主窗体中触发这些操作,提供了实现简单BOM系统的基础。
摘要由CSDN通过智能技术生成

哈喽,哈喽,大家好,今天我们接着来做BOM。

上一节课,我们已经把BOM是讲了一下,同时我们还做了两张表,一个是产品信息,一个是BOM表,今天我们就要来上手开发了,今天的我们的任务是来开发一下产品信息功能模块。

功能非常的简单的,就是增、删、改,之前我在视频里有讲解过,因为,我们这次是要做一个简单的BOM系统,所以这一步也是不可缺少的。之前的视频讲的比较简单,刚好借此机会我们再来讲解一下(详细的功能说明我还是在后期的视频教程中来讲解)。

01

为了让我们做的东西更加的像系统,首先,我们先来做一个主窗体,如下图:左边放三个按钮,右边我们放上一个子窗体控件。

然后,我们再做三个窗体

1、产品明细窗体,用来显示产品信息。窗体为数据表窗体。保存名为frmProduct_List

窗体运行后

2、添加一个编辑窗体,如下图,其中ID的文本框的可见设置成否,名称保存为frmProduct_Edit

窗体运行后

3、添加一个产品信息的主窗体,如下图,子窗体就是我们上面添加的那个子窗体,窗体名称保存为frmProduct

窗体运行后

02

接下去,我们来添加一下代码,我们先来添加frmProduct的代码,这个是产品信息的主窗体,四个按钮的代码如下:

'新增
Private Sub btnAdd_Click()

    DoCmd.OpenForm "frmProduct_Edit", acNormal, , , acFormAdd, acDialog
    Me.frmProduct_List.Requery
End Sub

'关闭
Private Sub btnClose_Click()
   On Error Resume Next
   Form_frmMain.frmChild.SourceObject = ""
End Sub
'删除
Private Sub btnDelete_Click()
    If MsgBox("你确定要删除此物料信息?", vbExclamation + vbOKCancel + vbDefaultButton2, "删除提示") = vbCancel Then Exit Sub
    CurrentDb.Execute "delete from tblProduct where ID=" & Me.frmProduct_List!ID
    Me.frmProduct_List.Requery
End Sub
'编辑
Private Sub btnEdit_Click()
    DoCmd.OpenForm "frmProduct_Edit", acNormal, , , acFormEdit, acDialog, Me.frmProduct_List!ID
    Me.frmProduct_List.Requery
End Sub

然后,我们添加一下frmProduct_Edit窗体的代码,基础上就是编辑、加载与关闭的代码:

Private Sub btnCancel_Click()

    DoCmd.Close acForm, Me.Name
End Sub

Private Sub btnSave_Click()
    On Error GoTo ErrorMsg
    Dim rst As Object 'ADODB.Recordset
    Dim strSQL As String
    Dim cnn As Object  'ADODB.Connection

    If IsNull(Me.ProductCode) Then
        MsgBox "物料代码不能为空,请重新输入。", vbExclamation
        Exit Sub
    End If
    If DCount("*", "tblProduct", "ProductCode='" & Me.ProductCode & "' and ID<>" & Nz(Me.ID, 0)) > 0 Then
        MsgBox "物料代码存在重复,请重新输入。", vbExclamation
        Exit Sub
    End If

    Set cnn = CurrentProject.Connection
    Set rst = CreateObject("ADODB.Recordset")  'New ADODB.Recordset
    strSQL = "select * from tblProduct where ID=" & Nz(Me.ID, 0)
    rst.Open strSQL, cnn, 2, 3 ' adOpenDynamic, adLockOptimistic
    If rst.EOF Then
        rst.AddNew
    End If
    rst!ProductCode = Me.ProductCode
    rst!ProductName = Me.ProductName
    rst!ProductModel = Me.ProductModel
    rst!ProductSpec = Me.ProductSpec
    rst!Unit = Me.Unit
    rst!IsEnabled = Me.IsEnabled
    rst!Remark = Me.Remark
    rst.Update
    rst.Close
    MsgBox "保存成功。", vbInformation
    If Me.DataEntry = False Then DoCmd.Close acForm, Me.Name

ExitErr:
    Set cnn = Nothing
    Set rst = Nothing
    Exit Sub
ErrorMsg:
    MsgBox Err.Description, vbCritical
    Resume ExitErr
End Sub

Private Sub Form_Load()
    On Error GoTo ErrorMsg
    Dim rst As Object ' ADODB.Recordset
    Dim strSQL As String
    Dim cnn As Object ' ADODB.Connection
    If Me.DataEntry Then Exit Sub

    Set cnn = CurrentProject.Connection
    Set rst = CreateObject("ADODB.Recordset") 'New ADODB.Recordset
    strSQL = "select * from tblProduct where ID=" & Nz(Me.OpenArgs, 0)
    rst.Open strSQL, cnn
    Me!ID = rst!ID
    Me!ProductCode = rst!ProductCode
    Me!ProductName = rst!ProductName
    Me!ProductModel = rst!ProductModel
    Me!ProductSpec = rst!ProductSpec
    Me!Unit = rst!Unit
    Me!IsEnabled = rst!IsEnabled
    Me!Remark = rst!Remark

    rst.Close
ExitErr:
    Set cnn = Nothing
    Set rst = Nothing
    Exit Sub
ErrorMsg:
    MsgBox Err.Description, vbCritical
    Resume ExitErr
End Sub 

最最最后就是添加一下主窗体frmMain窗体的代码,就是产品信息按钮的单击事件:

Private Sub btnProduct_Click()
    Me.frmChild.SourceObject = "frmProduct"
End Sub

03

最后,一步就是运行测试了,这一步的演示在后期的视频中给大家演示。

那到这里的话,产品信息的功能就做完了,这个呢就是属于系统的基础信息,这个是系统最基本的数据,所以,增、删、改的功能是不可能缺少的。

后面,还有一个BOM基础数据的增、删、改的功能,表我们已经建好了,那功能就留给大家自己来操作一下吧。

大家记得给我点赞哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Access开发易登软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值