zhou 发表于:2010-06-24 23:58:19
Private Sub 提交_Click()
On Error GoTo Err_提交_Click
'i用于“成品入库单”表中记录的计数
Dim i As Integer
'j用于“库存资料”表中记录的计数
Dim j As Integer
'布尔变量Bpand用于判断库存表中是否有该商品记录
Dim Bpand As Boolean
'变量txtsql用于保存SQL查询文本
Dim txtsql As String
'定义变量rs1保存“成品入库单”表中的记录
Dim rs1 As ADODB.Recordset
'定义变量rs2保存“成品入库单明细”表中的记录
Dim rs2 As ADODB.Recordset
'定义变量rs3保存“库存资料”表中的记录
Dim rs3 As ADODB.Recordset
'分配记录集
Set rs1 = New ADODB.Recordset
Set rs2 = New ADODB.Recordset
Set rs3 = New ADODB.Recordset
'分别运行查询
txtsql = "select*from成品入库单"
rs1.Open txtsql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
txtsql = "select*from成品入库单明细"
rs2.Open txtsql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
txtsql = "select*from库存资料"
rs3.Open txtsql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'如果成品入库单为空,则退出该过程
If rs1.RecordCount <= 0 Then
Exit Sub
End If
rs1.MoveFirst
'逐条对成品入库单中的记录执行相同操作
For i = 1 To rs1.RecordCount
'如果库存资料表中的记录数小于1,就添加新记录
If rs3.RecordCount < 1 Then
rs3.AddNew
rs3("款号") = rs1("款号")
rs3("颜色") = rs1("颜色")
rs3("单位") = rs1("单位")
rs3("S") = rs1("S")
rs3("M") = rs1("M")
rs3("L") = rs1("L")
rs3("XL") = rs1("XL")
rs3("XXL") = rs1("XXL")
rs3("3XL") = rs1("3XL")
rs3("4XL") = rs1("4XL")
rs3("5XL") = rs1("5XL")
rs3("6XL") = rs1("6XL")
rs3("数量") = rs1("数量")
rs3("单价") = rs1("单价")
rs3("金额") = rs3("数量") * rs3("单价")
rs3("仓库") = rs1("仓库")
rs3.Update
'如果库存资料表中的记录数大于1,则逐条比较库存资料表中的记录,找到款号相同的
'记录进行更新
Else
rs3.MoveFirst
For j = 1 To rs3.RecordCount
Bpand = False
If rs3("款号") = rs1("款号") Then
rs3("数量") = rs3("数量") + rs1("数量")
rs3("单价") = rs1("单价")
rs3("金额") = rs3("数量") * rs3("单价")
rs3.Update
Bpand = True
Exit For
Else
rs3.MoveNext
End If
Next j
End If
'如果库存资料表中没有相关商品,则添加该商品
If Bpand = False Then
rs3.AddNew
rs3("款号") = rs1("款号")
rs3("颜色") = rs1("颜色")
rs3("单位") = rs1("单位")
rs3("S") = rs1("S")
rs3("M") = rs1("M")
rs3("L") = rs1("L")
rs3("XL") = rs1("XL")
rs3("XXL") = rs1("XXL")
rs3("3XL") = rs1("3XL")
rs3("4XL") = rs1("4XL")
rs3("5XL") = rs1("5XL")
rs3("6XL") = rs1("6XL")
rs3("数量") = rs1("数量")
rs3("单价") = rs1("单价")
rs3("金额") = rs3("数量") * rs3("单价")
rs3("仓库") = rs1("仓库")
rs3.Update
End If
'把“成品入库单”表中的该条记录添加到“成品入库单明细”表中
rs2.AddNew
rs2("入库部门") = Me.入库部门
rs2("日期") = Me.日期
rs2("入库人员") = Me.入库人员
rs2("制单人员") = Me.制单人员
rs2("款号") = rs1("款号")
rs2("颜色") = rs1("颜色")
rs2("单位") = rs1("单位")
rs2("S") = rs1("S")
rs2("M") = rs1("M")
rs2("L") = rs1("L")
rs2("XL") = rs1("XL")
rs2("XXL") = rs1("XXL")
rs2("3XL") = rs1("3XL")
rs2("4XL") = rs1("4XL")
rs2("5XL") = rs1("5XL")
rs2("6XL") = rs1("6XL")
rs2("数量") = rs1("数量")
rs2("单价") = rs1("单价")
rs2("金额") = rs1("金额")
rs2("仓库") = rs1("仓库")
rs2.Update
'删除“成品入库单”表中的该条记录,并移动指针到下一条记录
rs1.Delete 1
Me.成品入库单查询_子窗体.Requery
rs1.MoveNext
Next i
'清空记录集
Set rs1 = Nothing
Set rs2 = Nothing
Set rs3 = Nothing
Me.成品入库单查询_子窗体.Requery
MsgBox "提交成功"
'退出过程
Exit_提交_Click:
Set rs1 = Nothing
Set rs2 = Nothing
Set rs3 = Nothing
Exit Sub
'出错处理
Err_提交_Click:
MsgBox Err.Description
Resume Exit_提交_Click
End Sub
感谢1楼回答我的问题,我是个新手,日期格式是“短日期”,数据类型是“日期/时间”应该是文本框控件
总记录:2篇 页次:1/1 9 1 :