📄 frmpurchaseorderupdate.frm
字号:
Height = 315
Left = 5760
TabIndex = 26
Top = 3000
Width = 1095
_ExtentX = 1931
_ExtentY = 556
BorderStyle = 1
End
Begin ClassSystem.InputNumber txtPrice
Height = 315
Left = 3840
TabIndex = 27
Top = 3000
Width = 1335
_ExtentX = 2355
_ExtentY = 556
BorderStyle = 1
End
Begin OWC10.PivotTable PivotTable1
Height = 2895
Left = 120
OleObjectBlob = "frmPurchaseOrderUpdate.frx":0000
TabIndex = 28
Top = 3480
Width = 9690
End
Begin VB.Label Label11
AutoSize = -1 'True
Caption = "数量"
Height = 195
Left = 5280
TabIndex = 31
Top = 3120
Width = 360
End
Begin VB.Label Label10
AutoSize = -1 'True
Caption = "单价"
Height = 195
Left = 3360
TabIndex = 30
Top = 3120
Width = 360
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "商品"
Height = 195
Left = 120
TabIndex = 29
Top = 3120
Width = 360
End
End
Attribute VB_Name = "frmPurchaseOrderUpdate"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim rsItem As Recordset
Private Sub cmdApply_Click()
If SaveData() Then
MsgBox "OK"
Else
End If
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdDel_Click()
'On Error GoTo errhwnd
If rsItem.RecordCount = 0 Then Exit Sub
With rsItem
.Delete adAffectCurrent
.Update
End With
GoTo errExit
errhwnd:
MsgBox "new Error!"
rsItem.CancelUpdate
GoTo errExit
errExit:
If rsItem.RecordCount > 0 Then
rsItem.MoveLast
End If
End Sub
Private Sub cmdModify_Click()
'On Error GoTo errhwnd
If rsItem.RecordCount = 0 Then Exit Sub
With rsItem
.Fields("ItemID").value = cbCommodity.Item("ID", cbCommodity.ListIndex)
.Fields("ItemCode").value = cbCommodity.Item("Code", cbCommodity.ListIndex)
.Fields("ItemName").value = cbCommodity.Item("Item", cbCommodity.ListIndex)
.Fields("ItemPrice").value = txtPrice.Text
.Fields("ItemQty").value = txtQty.Text
.Fields("ItemAmount").value = CDbl(txtPrice.Text) * CDbl(txtQty.Text)
.Update
End With
GoTo errExit
errhwnd:
MsgBox "new Error!"
rsItem.CancelUpdate
GoTo errExit
errExit:
End Sub
Private Sub cmdNew_Click()
'On Error GoTo errhwnd
With rsItem
.AddNew
.Fields("ItemID").value = cbCommodity.Item("ID", cbCommodity.ListIndex)
.Fields("ItemCode").value = cbCommodity.Item("Code", cbCommodity.ListIndex)
.Fields("ItemName").value = cbCommodity.Item("Item", cbCommodity.ListIndex)
.Fields("ItemPrice").value = txtPrice.Text
.Fields("ItemQty").value = txtQty.Text
.Fields("ItemAmount").value = CDbl(txtPrice.Text) * CDbl(txtQty.Text)
.Update
End With
Me.PivotTable1.Refresh
GoTo errExit
errhwnd:
MsgBox "new Error!"
rsItem.CancelUpdate
GoTo errExit
errExit:
End Sub
Private Sub cmdOK_Click()
If SaveData() Then
Unload Me
Else
End If
End Sub
Private Function SaveData() As Boolean
Dim objOrder As New clsOrder
Dim sSQL As String
SaveData = False
If rsItem.RecordCount = 0 Then Exit Function
If Not rsItem.BOF Then rsItem.MoveFirst
objOrder.m_OrderNo = txtOrderNo.Text
sSQL = objOrder.Delete()
Do While Not rsItem.EOF
Set objOrder = New clsOrder
With objOrder
.m_ID = newGUID
.m_Address = txtAddress.Text
.m_OrderStatus = "待审批"
.m_CommodityID = rsItem.Fields("ItemID").value
.m_CustomerID = cbCustomer.Item("ID", cbCustomer.ListIndex)
.m_WarehouseID = cbWarehouse.Item("ID", cbWarehouse.ListIndex)
.m_Tel = txtTel.Text
.m_Contactee = txtContactee.Text
.m_Email = Me.txtEmail.Text
.m_Fax = Me.txtFax.Text
.m_Fee = Me.txtFee.Text
.m_OrderNo = Me.txtOrderNo.Text
.m_OrderType = "采购订单"
.m_PAmount = rsItem.Fields("ItemAmount").value
.m_PQty = rsItem.Fields("ItemQty").value
.m_Price = rsItem.Fields("ItemPrice").value
sSQL = sSQL + .Insert()
End With
rsItem.MoveNext
Loop
If objOrder.BatchSubmit(sSQL) Then
SaveData = True
Call frmPurchaseOrder.RefreshData
End If
End Function
Private Sub Form_Load()
'center the form
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
Dim objCustomer As New clsCustomer
Dim objWarehouse As New clsWarehouse
Dim objCommodity As New clsCommodity
cbWarehouse.RelativeList objWarehouse.GetList("ID,No,Name", , "No"), "No,Name"
cbWarehouse.ListIndex = 0
cbCustomer.RelativeList objCustomer.GetList("ID,No,Name", "", "No"), "No,Name"
cbCustomer.ListIndex = 0
cbCommodity.RelativeList objCommodity.GetList("ID,Code,Item", , "Code"), "Code,Item"
cbCommodity.ListIndex = 0
Dim objOrder As New clsOrder
Dim rsTemp As ADODB.Recordset
Dim i As Integer
Set rsTemp = objOrder.GetList(, "OrderNo=" + CheckString(frmPurchaseOrder.ExcelGrid1.DataRecordset.Fields("OrderNo").value))
Set rsItem = New ADODB.Recordset
rsItem.CursorLocation = adUseClient
rsItem.Fields.Append "ItemID", adGUID, 16, adFldKeyColumn
rsItem.Fields.Append "ItemCode", adVarChar, 50
rsItem.Fields.Append "ItemName", adVarChar, 50
rsItem.Fields.Append "ItemPrice", adVarChar, 15
rsItem.Fields.Append "ItemQty", adVarChar, 15
rsItem.Fields.Append "ItemAmount", adVarChar, 15
rsItem.Open , , 3, 3
For i = 0 To rsTemp.RecordCount - 1
If i = 0 Then
txtAddress.Text = rsTemp.Fields("Address").value
cbCustomer.SelectItem "ID", rsTemp.Fields("CustomerID").value
cbWarehouse.SelectItem "ID", rsTemp.Fields("WarehouseID").value
txtTel.Text = rsTemp.Fields("Tel").value
txtContactee.Text = rsTemp.Fields("Contactee").value
Me.txtEmail.Text = rsTemp.Fields("Email").value
Me.txtFax.Text = rsTemp.Fields("Fax").value
Me.txtFee.Text = rsTemp.Fields("Fee").value
Me.txtOrderNo.Text = rsTemp.Fields("OrderNo").value
End If
cbCommodity.SelectItem "ID", rsTemp.Fields("CommodityID").value
With rsItem
.AddNew
.Fields("ItemID").value = rsTemp.Fields("CommodityID").value
.Fields("ItemCode").value = cbCommodity.Item("Code", cbCommodity.ListIndex)
.Fields("ItemName").value = cbCommodity.Item("Item", cbCommodity.ListIndex)
.Fields("ItemPrice").value = rsTemp.Fields("Price").value
.Fields("ItemQty").value = rsTemp.Fields("PQty").value
.Fields("ItemAmount").value = rsTemp.Fields("PAmount").value
.Update
End With
rsTemp.MoveNext
Next i
txtOrderNo.Enabled = False
cbCustomer.Enabled = False
PivotTable1.DataSource = rsItem
PivotTable1.ActiveView.DataAxis.InsertFieldSet PivotTable1.ActiveView.FieldSets("ItemCode")
PivotTable1.ActiveView.DataAxis.FieldSets.Item(0).Fields.Item(0).Caption = "产品编号"
PivotTable1.ActiveView.DataAxis.InsertFieldSet PivotTable1.ActiveView.FieldSets("ItemName")
PivotTable1.ActiveView.DataAxis.FieldSets.Item(0).Fields.Item(0).Caption = "产品名称"
PivotTable1.ActiveView.DataAxis.InsertFieldSet PivotTable1.ActiveView.FieldSets("ItemPrice")
PivotTable1.ActiveView.DataAxis.FieldSets.Item(1).Fields.Item(0).Caption = "价格"
PivotTable1.ActiveView.DataAxis.InsertFieldSet PivotTable1.ActiveView.FieldSets("ItemQty")
PivotTable1.ActiveView.DataAxis.FieldSets.Item(2).Fields.Item(0).Caption = "数量"
PivotTable1.ActiveView.DataAxis.InsertFieldSet PivotTable1.ActiveView.FieldSets("ItemAmount")
PivotTable1.ActiveView.DataAxis.FieldSets.Item(3).Fields.Item(0).Caption = "金额"
End Sub
Private Sub PivotTable1_Click()
If rsItem.RecordCount = 0 Then Exit Sub
cbCommodity.SelectItem "ID", rsItem.Fields("ItemID").value
txtPrice.Text = rsItem.Fields("ItemPrice").value
txtQty.Text = rsItem.Fields("ItemQty").value
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -