浙江海洋学院毕业论文
MsgBox \产品编号“\”已经存在,请重新输入\ txtId.SetFocus txtId.SelStart = 0
txtId.SelLength = Len(txtId) Exit Sub End If End If With MyPro .ProId = TmpId
.ProName = MakeStr(txtName) .ProMark = MakeStr(txtMark) .ProStyle = MakeStr(txtStyle) .ProUnit = MakeStr(txtUnit) If Modify = False Then .Insert Else
.Update (OriId) End If End With ClickOK = True Unload Me End Sub
程序首先对用户输入的数据进行分析,确保数据的有效性。然后判断输入的产品编号是否已经存在数据库中,如果已经存在,则不能添加。
3.2产品信息管理窗体,名称为Frmproductman。窗体布局如下:
在窗体中,使用了ADO Data控件和DATAGrid1控件来显示产品信息。
9
浙江海洋学院毕业论文
(1)refresh_pro过程的功能是更新ADO Data 控件的记录源,从而刷新Datagrid1表格中显示的产品数据。 rivate Sub Refresh_Pro() Adodc1.ConnectionString = conn
Adodc1.RecordSource = \ProId As 产品编号, ProName As 产品名称,\_+ \As 产品商标, ProStyle As 产品型号, ProUnit As 计量单位\ProId\
Adodc1.Refresh End Sub
(2)当装入窗体时触发From_load事件: Private Sub Form_Load() Refresh_Pro End Sub
(3)cmd_Add_click过程: Private Sub Cmd_Add_Click() FrmProductEdit.Modify = False FrmProductEdit.txtId = \ FrmProductEdit.txtName = \ FrmProductEdit.txtMark = \ FrmProductEdit.txtStyle = \ FrmProductEdit.txtUnit = \ FrmProductEdit.Show 1 Refresh_Pro End Sub
(4)cmd_modi_click过程: private Sub Cmd_Modi_Click() Dim TmpProId As Integer
If Adodc1.Recordset.BOF = True Then MsgBox \请选择记录\ Exit Sub End If '保存光标位置
p = Adodc1.Recordset.AbsolutePosition '读取当前记录的各列数据
FrmProductEdit.OriId = Trim(Adodc1.Recordset.Fields(0)) FrmProductEdit.txtId = Trim(Adodc1.Recordset.Fields(0)) FrmProductEdit.txtName = Trim(Adodc1.Recordset.Fields(1)) FrmProductEdit.txtMark = Trim(Adodc1.Recordset.Fields(2)) FrmProductEdit.txtStyle = Trim(Adodc1.Recordset.Fields(3)) FrmProductEdit.txtUnit = Trim(Adodc1.Recordset.Fields(4))
10
浙江海洋学院毕业论文
FrmProductEdit.Modify = True FrmProductEdit.Show 1 Refresh_Pro'恢复光标位置 Adodc1.Recordset.Move 0 Adodc1.Recordset.Move p - 1 End Sub
程序将使用ADodc1.recordset.fields(n)从当前记录中获取n+1列数值,并将其赋值到frmproductedit窗体的对就控件中。 (5)Cmd_del_click过程: Private Sub Cmd_Del_Click() Dim TmpProId As String
If Adodc1.Recordset.BOF = True Then MsgBox \请选择记录\ Exit Sub End If
p = Adodc1.Recordset.AbsolutePosition
TmpProId = Trim(Adodc1.Recordset.Fields(0))'确认删除 If MsgBox(\是否删除当前行?\确认\ Call MyPro.Delete(TmpProId) Refresh_Pro If p - 1 > 0 Then Adodc1.Recordset.Move 0 Adodc1.Recordset.Move p - 1 End If End If End Sub
4、合同管理模块设计。合同管理模块是本系统的核心部分。
4.1合同信息编辑窗体,名称为FrmContractEdit,窗体布局如下:
11
浙江海洋学院毕业论文
在窗体中使用DTPicker输入日期数据。
(1)refresh_pro过程的作用是显示合同产品信息。代码如下: Private Sub Refresh_Pro() Adodc1.ConnectionString = conn
Adodc1.RecordSource = \产品编号, UnitPrice As 产品单价, Quantity As 产品数量,\_+ \As 交货日期, Memo As 备注信息\_+ \FROM ConProduct WHERE ContractId='\
Adodc1.Refresh End Sub
(2)Cmd_save_click过程: Private Sub Cmd_Save_Click() Dim TmpId As String If Trim(txtId) = \ MsgBox \请输入合同编号\ Exit Sub End If
If Trim(txtClient) = \ MsgBox \请输入客户单位\ Exit Sub End If
TmpId = MakeStr(txtId) '判断产品编号是否已经存在
If Modify = False Or OriId <> Trim(txtId) Then If MyContract.In_DB(TmpId) = True Then
MsgBox \合同编号“\”已经存在,请重新输入\ txtId.SetFocus txtId.SelStart = 0
txtId.SelLength = Len(txtId) Exit Sub End If End If
With MyContract .ContractId = TmpId
.Client = MakeStr(txtClient) '规范日期格式 .SignDate = Format(DTSignDate.Value, \ .EmpName = MakeStr(txtEmpName) .DeliveryWay = MakeStr(txtDeliveryWay)
.DeliveryDate = Format(DTDeliveryDate.Value, \ .SettleWay = ComboSettle.ListIndex + 1
12
相关推荐: