📄 frmoutupdate.frm
字号:
Text7.Text = MSFlexGrid1.TextMatrix(i, 6)
Text7.Text = ""
MSFlexGrid1.TextMatrix(i, 6) = Text7.Text
Text7.Text = MSFlexGrid1.TextMatrix(i, 7)
Text7.Text = ""
MSFlexGrid1.TextMatrix(i, 7) = Text7.Text
For j = i To (MSFlexGrid1.Rows - 2)
MSFlexGrid1.TextMatrix(j, 0) = MSFlexGrid1.TextMatrix(j + 1, 0)
MSFlexGrid1.TextMatrix(j, 1) = MSFlexGrid1.TextMatrix(j + 1, 1)
MSFlexGrid1.TextMatrix(j, 2) = MSFlexGrid1.TextMatrix(j + 1, 2)
MSFlexGrid1.TextMatrix(j, 3) = MSFlexGrid1.TextMatrix(j + 1, 3)
MSFlexGrid1.TextMatrix(j, 4) = MSFlexGrid1.TextMatrix(j + 1, 4)
MSFlexGrid1.TextMatrix(j, 5) = MSFlexGrid1.TextMatrix(j + 1, 5)
MSFlexGrid1.TextMatrix(j, 6) = MSFlexGrid1.TextMatrix(j + 1, 6)
MSFlexGrid1.TextMatrix(j, 7) = MSFlexGrid1.TextMatrix(j + 1, 7)
Next j
MSFlexGrid1.Rows = MSFlexGrid1.Rows - 1
If MSFlexGrid1.Rows = 1 Then
cmdDelRecord.Enabled = False
End If
End If
End If
End Sub
Private Sub cmdEdit_Click()
Dim i As Integer
Dim mrc1 As Recordset, mrc2 As Recordset, mrc As Recordset
Dim SQLstring As String, str As String
Dim Num As Integer
Dim price As Single
If Text2.Text = "" Then
MsgBox "发票号码不能为空,请填写!", vbOKOnly + vbExclamation, "警告"
Text2.SetFocus
Exit Sub
End If
If Text4.Text = "" Then
MsgBox "出库日期不能为空,请填写!", vbOKOnly + vbExclamation, "警告"
Text4.SetFocus
Exit Sub
Else
If IsDate(Text4.Text) Then
Text4 = Format(Text4, "yyyy-mm-dd")
Else
MsgBox "出库时间格式应为:yyyy-mm-dd", vbOKOnly + vbExclamation, "警告"
Text4.Text = ""
Text4.SetFocus
Exit Sub
End If
End If
Set mrc1 = Mydb.OpenRecordset("select * from outlib where 出库单号码='" & Trim(Text1) & "'")
Set mrc2 = Mydb.OpenRecordset("select * from outlibdetail where 出库单号码='" & Trim(Text1) & "'")
mrc1.Delete
While mrc2.EOF = False
str = mrc2.Fields("材料编码")
Num = mrc2.Fields("数量")
price = mrc2.Fields("金额")
SQLstring = "update msurplus set 数量=数量+" + CStr(Num) + ",金额=金额+" + CStr(price) + " where 材料编码='" & str & "'"
Mydb.Execute (SQLstring)
mrc2.Delete
mrc2.MoveNext
Wend
If MSFlexGrid1.Rows > 1 Then
mrc1.AddNew
mrc1.Fields("出库单号码") = Text1.Text
mrc1.Fields("发票号码") = Text2.Text
mrc1.Fields("出库类型") = Combo1.Text
If Text3.Text = "" Then
mrc1.Fields("工程号") = Null
Else
mrc1.Fields("工程号") = Text3.Text
End If
mrc1.Fields("出库日期") = Text4.Text
If Text5.Text = "" Then
mrc1.Fields("经办人") = Null
Else
mrc1.Fields("经办人") = Text5.Text
End If
If Text6.Text = "" Then
mrc1.Fields("保管人") = Null
Else
mrc1.Fields("保管人") = Text6.Text
End If
mrc1.Update
For i = 1 To (MSFlexGrid1.Rows - 1)
mrc2.AddNew
mrc2.Fields("出库单号码") = Text1.Text
mrc2.Fields("材料编码") = MSFlexGrid1.TextMatrix(i, 0)
mrc2.Fields("数量") = Val(MSFlexGrid1.TextMatrix(i, 4))
mrc2.Fields("单价") = Val(MSFlexGrid1.TextMatrix(i, 5))
mrc2.Fields("金额") = Val(MSFlexGrid1.TextMatrix(i, 6))
If MSFlexGrid1.TextMatrix(i, 7) = "" Then
mrc2.Fields("备注") = Null
Else
mrc2.Fields("备注") = MSFlexGrid1.TextMatrix(i, 7)
End If
mrc2.Update
str = MSFlexGrid1.TextMatrix(i, 0)
Num = MSFlexGrid1.TextMatrix(i, 4)
price = MSFlexGrid1.TextMatrix(i, 6)
SQLstring = "update msurplus set 数量=数量-" + CStr(Num) + ",金额=金额-" + CStr(price) + " where 材料编码='" & str & "'"
Mydb.Execute (SQLstring)
Next i
mrc1.Close
mrc2.Close
Unload Me
Project.StatusBar1.Panels(2).Text = "就绪"
Exit Sub
Else
MsgBox "出库单中必须至少包含一项材料明细。" & vbCrLf & "此出库单中未填写材料信息,请填写。", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
End Sub
Private Sub cmdFind_Click()
Dim mrc1 As Recordset, mrc2 As Recordset
OutPaperId = ""
Project.StatusBar1.Panels(2).Text = "查找出库信息"
OutFind.Show 1
If OutPaperId <> "" Then
Text1.Text = OutPaperId
Set mrc1 = Mydb.OpenRecordset("select * from outlib where 出库单号码='" & Trim(Text1) & "'")
Set mrc2 = Mydb.OpenRecordset("select * from goods,outlibdetail where 出库单号码='" & Trim(Text1) & "' and goodsid=材料编码")
Text2.Text = mrc1.Fields("发票号码")
Combo1.Text = mrc1.Fields("出库类型")
If IsNull(mrc1.Fields("工程号")) Then
Text3.Text = ""
Else
Text3.Text = mrc1.Fields("工程号")
End If
Text4.Text = mrc1.Fields("出库日期")
If IsNull(mrc1.Fields("经办人")) Then
Text5.Text = ""
Else
Text5.Text = mrc1.Fields("经办人")
End If
If IsNull(mrc1.Fields("保管人")) Then
Text6.Text = ""
Else
Text6.Text = mrc1.Fields("保管人")
End If
While mrc2.EOF = False
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Row = MSFlexGrid1.Rows - 1
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = mrc2.Fields("goodsid")
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = mrc2.Fields("goodsname")
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = mrc2.Fields("type")
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = mrc2.Fields("unit")
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = mrc2.Fields("数量")
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = mrc2.Fields("单价")
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = mrc2.Fields("金额")
MSFlexGrid1.Col = 7
If IsNull(mrc2.Fields("备注")) Then
MSFlexGrid1.Text = ""
Else
MSFlexGrid1.Text = mrc2.Fields("备注")
End If
mrc2.MoveNext
Wend
mrc1.Close
mrc2.Close
cmdEdit.Enabled = True
cmdDel.Enabled = True
cmdAddRecord.Enabled = True
cmdDelRecord.Enabled = True
Text1.Enabled = False
Else
cmdEdit.Enabled = False
cmdDel.Enabled = False
cmdAddRecord.Enabled = False
cmdDelRecord.Enabled = False
End If
End Sub
Private Sub cmdInfo_Click()
MsgBox "编辑出库单必须先定位一个出库记录,系统需" & vbCrLf & "要定位库中的一个记录。如果您想改变出库" & vbCrLf & "单,请按查找按钮,从弹出的窗口列表中选定" & vbCrLf & "一个出库记录,然后执行“修改”或“删除”操作。" & vbCrLf & "在这张表中,您也可以设置条件来查找。", vbOKOnly + vbInformation, "详细信息"
End Sub
Private Sub combo1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text3.SetFocus
End If
End Sub
Private Sub Form_Activate()
Project.StatusBar1.Panels(2).Text = "编辑出库单"
End Sub
Private Sub Form_Load()
MSFlexGrid1.Cols = 8
MSFlexGrid1.Rows = 1
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = "材料编码"
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = "材料名称"
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "规格型号"
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = "计量单位"
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = "数量"
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = "单价"
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = "金额"
MSFlexGrid1.Col = 7
MSFlexGrid1.Text = "备注"
Text7.Visible = False
Combo1.AddItem "修理"
Combo1.AddItem "销售"
Combo1.AddItem "改造"
Combo1.AddItem "北拨"
Combo1.AddItem "南拨"
Combo1.ListIndex = 0
cmdEdit.Enabled = False
cmdDel.Enabled = False
cmdAddRecord.Enabled = False
cmdDelRecord.Enabled = False
Set Myws = DBEngine.Workspaces(0)
Set Mydb = Myws.OpenDatabase(App.Path + "\store.mdb")
Set Myrs1 = Mydb.OpenRecordset("select * from outlib")
Set Myrs2 = Mydb.OpenRecordset("select * from outlibdetail")
End Sub
Private Sub MSFlexGrid1_Click()
Dim c As Integer
Dim r As Integer
With MSFlexGrid1
c = .Col
r = .Row
Text7.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(c)
Text7.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(r)
If .Appearance = 1 Then
Text7.Left = Text7.Left + 2 * Screen.TwipsPerPixelX
Text7.Top = Text7.Top + 2 * Screen.TwipsPerPixelY
End If
Text7.Width = .ColWidth(c)
Text7.Height = .RowHeight(r)
Text7.Text = .Text
End With
Text7.Visible = True
Text7.SetFocus
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Combo1.SetFocus
End If
End Sub
Private Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text4.SetFocus
End If
End Sub
Private Sub Text4_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text5.SetFocus
End If
End Sub
Private Sub Text5_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text6.SetFocus
End If
End Sub
Private Sub Text6_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
cmdEdit.SetFocus
End If
End Sub
Private Sub MSFlexGrid1_Scroll()
Text7.Visible = False
End Sub
Private Sub Text7_Change()
MSFlexGrid1.Text = Text7.Text
End Sub
Private Sub Text7_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
Text7.Visible = False
End If
End Sub
Private Sub Text7_LostFocus()
Text7.Visible = False
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -