物流运输管理系统 第2页
4.3 新增运单管理表单
新建FRMTRAFFICADD表单
用来增加物流系统的新接待业务
在新增运单管理模块中,用户输入车号、车类型、品名、发货日期、发站、到站、发货人、收货人、货物类型、重量、运输费用等各个信息,自动在表单下面出现合计信息。
新增运单窗体的控件及属性取值如下:
控件 属性 属性取值
Frame Name Frame1
Caption 运单费用
Labe3 Name Labe3
Caption 品名
Text Name txtItem
commandbutton Name cmdAdd
Caption 新增
commandbutton Name cmdExit
Caption 取消
代码如下:
Private Sub Form_Load()
/***************设置窗体的宽高************************/
Me.Top = 0
Me.Left = 0
Me.Width = MainForm.Width * 0.8
Me.Height = MainForm.Height * 0.7
'取得最大ID
Dim inum As Integer
Dim strsql As String
Dim DB As New clsDataBase
Dim rs As New ADODB.Recordset
strsql = "SELECT MAX(ID) AS MAXID FROM TRAFFIC"
Set rs = sys.DB.OpenRecordSet(strsql)// 从数库中的TRAFFIC表中取出//最大的ID值,并且rs为返回值
If Not IsNull(rs(0)) Then //ID最大值在第一列
ID = rs(0) + 1 //将最大值加1,便是现在的最大值
Else
ID = 0
End If
txtId.Text = ID
'初始化车类型
cmbTrainType.AddItem ("高边")
cmbTrainType.ItemData(0) = 0
cmbTrainType.AddItem ("蓬车")
cmbTrainType.ItemData(1) = 1
cmbTrainType.ListIndex = 0
'初始化货物类型
cmbProductType.AddItem ("包装")
cmbProductType.ItemData(0) = 0
cmbProductType.AddItem ("散装")
cmbProductType.ItemData(1) = 1
cmbProductType.ListIndex = 0
'初始化品名
strsql = "SELECT * FROM PRODUCT" //strsql为一张表
Set rs = sys.DB.OpenRecordSet(strsql) //rs放一张表,此时rs指//向第一列
If Not (rs.BOF) Or (rs.EOF) Then //如果当前的rs所指的列在第一//列和最后一列之间的话
inum = 0
Do While Not rs.EOF //当rs所指的值不是取后一条数据时
cmbProductName.AddItem (rs("NAME"))//把当前列名为NAME的值添加到cmbProductName里
cmbProductName.ItemData(inum) = rs("ID") //把当前列的ID赋给cmbProductName.ItemData(inum)
rs.MoveNext //让rs指向下一条
inum = inum + 1
Loop //循环 当rs.EOF为TRUE时,说明到最后一行了,跳出循环
End If
If cmbProductName.ListIndex <> -1 Then //判断cmbProductName
//是否为空
cmbProductName.ListIndex = 0
Else
cmbProductName.ListIndex = -1
End If
/********************下面的与上面这段基本是一样的***************/
'初始化发站
strsql = "SELECT * FROM STATION ORDER BY NAME"
Set rs = sys.DB.OpenRecordSet(strsql)
If Not (rs.BOF) Or (rs.EOF) Then
inum = 0
Do While Not rs.EOF
cmbSendStation.AddItem (rs("NAME"))
cmbSendStation.ItemData(inum) = rs("ID")
rs.MoveNext
inum = inum + 1
Loop
End If
If cmbSendStation.ListIndex <> -1 Then
cmbSendStation.ListIndex = 0
Else
cmbSendStation.ListIndex = -1
End If
'初始化到站
strsql = "SELECT * FROM STATION ORDER BY NAME DESC"
Set rs = sys.DB.OpenRecordSet(strsql)
If Not (rs.BOF) Or (rs.EOF) Then
inum = 0
Do While Not rs.EOF
cmbReceiveStation.AddItem (rs("NAME"))
cmbReceiveStation.ItemData(inum) = rs("ID")
rs.MoveNext
inum = inum + 1
Loop
End If
If cmbReceiveStation.ListIndex <> -1 Then
cmbReceiveStation.ListIndex = 0
Else
cmbReceiveStation.ListIndex = -1
'初始化发货人
strsql = "SELECT * FROM CLIENT ORDER BY NAME"
Set rs = sys.DB.OpenRecordSet(strsql)
If Not (rs.BOF) Or (rs.EOF) Then
inum = 0
Do While Not rs.EOF
cmbSender.AddItem (rs("NAME"))
cmbSender.ItemData(inum) = rs("ID")
rs.MoveNext
inum = inum + 1
Loop
End If
If cmbSender.ListIndex <> -1 Then
cmbSender.ListIndex = 0
Else
cmbSender.ListIndex = -1
End If
'初始化收货人
strsql = "SELECT * FROM CLIENT ORDER BY NAME DESC"
Set rs = sys.DB.OpenRecordSet(strsql)
If Not (rs.BOF) Or (rs.EOF) Then
inum = 0
Do While Not rs.EOF
cmbReceiver.AddItem (rs("NAME"))
cmbReceiver.ItemData(inum) = rs("ID")
rs.MoveNext
inum = inum + 1
Loop
End If
If cmbReceiver.ListIndex <> -1 Then
cmbReceiver.ListIndex = 0
Else
cmbReceiver.ListIndex = -1
End If
dtpDateNum.Value = Date
End Sub
'合计
Private Sub MakeTotal()
txtTotal.Text = sys.TextToNum(txtBasicCarriage.Text) + sys.TextToNum(txtLocalCarriage.Text) + sys.TextToNum(txtServeCharge.Text) - sys.TextToNum(txtFavourabile.Text) + sys.TextToNum(txtLoadCharge.Text) + sys.TextToNum(txtShortCarriage.Text) + sys.TextToNum(txtStorageCharge.Text) + sys.TextToNum(txtClearCharge.Text)
If sys.TextToNum(txtWeight.Text) <> 0 Then
txtAvg.Text = FormatNumber(sys.TextToNum(txtTotal.Text / txtWeight.Text), 2) //把sys.TextToNum(txtTotal.Text / txtWeight.Text)
//格式化为小数点后两位小数点的数
Else
txtAvg.Text = 0
End If
End Sub
'检查表单数据
Private Function CheckForm() As Boolean
CheckForm = False
If txtCarNum.Text = "" Then
MsgBox "车号不能为空!"
txtCarNum.SetFocus
ElseIf cmbProductName.Text = "" Then
MsgBox "品名不能为空!"
cmbProductName.SetFocus
ElseIf cmbSendStation.Text = "" Then
MsgBox "发站不能为空!"
cmbSendStation.SetFocus
ElseIf cmbReceiveStation.Text = "" Then
MsgBox "到站不能为空!"
cmbReceiveStation.SetFocus
ElseIf txtWeight.Text = "" Then
MsgBox "重量不能为空!"
txtWeight.SetFocus
ElseIf txtBasicCarriage.Text = "" Then
MsgBox "国铁运费不能为空!"
txtBasicCarriage.SetFocus
ElseIf txtServeCharge.Text = "" Then
MsgBox "服务费不能为空!"
txtServeCharge.SetFocus
Else
CheckForm = True
End If
End Function
Private Sub Form_Unload(Cancel As Integer)
If frmTraffic.Visible = True Then
Call frmTraffic.query //调用frmTraffic模块中的函数query
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页