⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmoutupdate.frm

📁 这个是基于vb的物资信息管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            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 + -