frmqstock.frm

来自「超市的管理系统」· FRM 代码 · 共 1,099 行 · 第 1/3 页

FRM
1,099
字号

Dim rct2 As New ADODB.Recordset                     '声明连接到库存表的记录集

Dim rct3 As New ADODB.Recordset                     '声明连接到员工权限表的记录集

Dim intindex As Integer                             '声明查询结果计数变量
    
Dim temp() As String                                '声明进货单序号数组变量

Dim DT() As String                                  '声明销售单日期数组变量

Private Sub CmdAdd_Click()

    frmStockMOD.Show
    
    frmStockMOD.Caption = "添加进货记录"                        '修改窗体名称
    
    With frmStockMOD
    
    .TxtID.Text = ""                                            '窗体运行时,所有文本框为空
    
    .TxtName.Text = ""
    
    .TxtAmount.Text = ""
    
    .TxtCompany.Text = ""
    
    .TxtCompany.Enabled = False                                 '设置厂商编号为只读
    
    .TxtID.Enabled = True
    
    .TxtID.SetFocus
    
    End With

End Sub

Private Sub CmdClear_Click()

    rct.MoveFirst

    rct1.MoveFirst
    
    Dim str1 As String
    
    Dim str2 As String
    
        If MSFlexGrid1.TextMatrix(1, 0) <> "" Then
    
            If MsgBox("确实要清空该销售数据表吗?操作结果将被保存到数据库!", vbInformation + vbOKCancel, "操作警告!!") = vbOK Then
                        
                str1 = "delete from stock where stockinvoiceid=" & "'" & TxtID.Text & "'"
                
                QueryXFInfo (str1)
                
                str2 = "delete from stockinvoice where stockinvoiceid=" & "'" & TxtID.Text & "'"
                
                QueryXFInfo (str2)
                
                temp(HSC1.Value) = ""                                   '将当前销售单序号数组变量设置为空
                
                TxtID.Text = ""
            
                MSFlexGrid1.Clear
            
                Dim X As Integer                                        '清空当前表格中记录
            
                For X = MSFlexGrid1.Rows - 1 To 2 Step -1
            
                    MSFlexGrid1.RemoveItem (X)
            
                Next X
            
                Call flexView
                
                CmdAdd.Enabled = False                                      '清空后添加按纽和修改按纽不可用
            
                CmdModify.Enabled = False
                
                MsgBox "清空完毕并保存到数据库!", vbInformation + vbOKOnly, "操作提示!"
                
            Else
            
               Exit Sub
                
            End If
            
        Else
        
             MsgBox "无记录可以清空!", vbInformation + vbOKOnly, "删除提示!"
             
        End If

End Sub

Private Sub CmdDel_Click()

    Dim str1 As String
    
    Dim str2 As String
    
    Dim str3 As String

    Dim id As Integer
    
    rct1.MoveFirst
    
    rct.MoveFirst
    
    deltotal = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5))
    
        If MSFlexGrid1.Rows > 3 Then                                                       '判断表格中是否存在有效记录

            If MSFlexGrid1.Row > 0 And MSFlexGrid1.Row < MSFlexGrid1.Rows - 2 Then          '判断是否选中有效记录
            
                If MsgBox("确定要删除该记录吗?", vbInformation + vbOKCancel, "操作警告!") = vbOK Then
                
                str1 = "delete from stock  where stockid=" & "'" & MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5) & "'"
                        
                QueryXFInfo (str1)
                    
                    '依次将表格中所删记录后面的所有记录覆盖前一个记录,然后删除最后一个记录。
                    
                    For id = MSFlexGrid1.Row To MSFlexGrid1.Rows - 3
    
                        MSFlexGrid1.TextMatrix(id, 1) = MSFlexGrid1.TextMatrix(id + 1, 1)
    
                        MSFlexGrid1.TextMatrix(id, 2) = MSFlexGrid1.TextMatrix(id + 1, 2)
    
                        MSFlexGrid1.TextMatrix(id, 3) = MSFlexGrid1.TextMatrix(id + 1, 3)
    
                        MSFlexGrid1.TextMatrix(id, 4) = MSFlexGrid1.TextMatrix(id + 1, 4)
    
                        MSFlexGrid1.TextMatrix(id, 5) = MSFlexGrid1.TextMatrix(id + 1, 5)
    
                    Next id
    
                        MSFlexGrid1.RemoveItem (MSFlexGrid1.Rows - 3)
    
                        MSFlexGrid1.Row = MSFlexGrid1.Rows - 1
    
                        MSFlexGrid1.Text = "进货日期为:" & DT(HSC1.Value)
                        
                        MsgBox "已删除所选记录!", vbInformation + vbOKOnly, "删除成功!"
                     
                    If MSFlexGrid1.Rows = 3 Then
                    
                        '如果删除的是表格中最后一条记录,则把该销售单从销售单表中删除

                        str2 = "delete from stockinvoice where stockinvoiceid=" & "'" & TxtID.Text & "'"

                        QueryXFInfo (str2)
                    
                        TxtID.Text = ""
                    
                        MSFlexGrid1.RemoveItem (MSFlexGrid1.Rows - 1)
                    
                        MsgBox "该进货单的所有记录都已删除!", vbInformation, "删除提示!"
                        
                    End If
    
                Else
                
                    Exit Sub
                    
                End If

            Else

                MsgBox "无法删除,请点击要删除的记录!", vbInformation + vbOKOnly, "删除提示!"

                Exit Sub

            End If

        Else

            MsgBox "无记录可以删除!", vbInformation + vbOKOnly, "删除提示!"

        End If


End Sub

Private Sub CmdExit_Click()

    Unload Me

End Sub

Private Sub CmdINT_Click()

    If IsEmpty(rct) = False Then                            '判断查询表中是否有记录
                
        Exit Sub

    End If

    HSC1.Value = 0

    '初始化时,将数组变量的值清空

    ReDim temp(intindex)
    
    ReDim DT(intindex)
    
    intindex = 0
    
    CmdQuery.Enabled = True
    
    MSFlexGrid1.Clear

    Dim X As Integer

    For X = MSFlexGrid1.Rows - 1 To 2 Step -1

        MSFlexGrid1.RemoveItem (X)

    Next X

    Call flexView
    
    HSC1.Enabled = False
    
    TxtID.Text = ""
    
    DTP1.Value = Date
    
    DTP2.Value = Date
    
    CmdClear.Enabled = False
    
    CmdDel.Enabled = False
    
    CmdModify.Enabled = False
    
    rct.MoveFirst
    
    rct1.MoveFirst

End Sub




Private Sub CmdModify_Click()

   If MSFlexGrid1.Row > 0 And MSFlexGrid1.Row < MSFlexGrid1.Rows - 2 Then       '判断是否选中有效记录
        
        frmStockMOD.Show
        
    Else
    
        MsgBox "请选择要修改的记录!", vbInformation + vbOKOnly, "修改提示!"
        
        Exit Sub
        
    End If

End Sub

Private Sub CmdQuery_Click()

    If IsEmpty(rct) = False Then                                        '判断查询表中是否有记录

        Exit Sub

    End If

    intindex = 0

    If OpID.Value = True Then
    
        If TxtID.Text <> "" Then
    
            rct1.MoveFirst
        
            Do While Not rct1.EOF
            
                If rct1.Fields.Item(0).Value Like "*" & TxtID.Text & "*" Then
                
                    ReDim Preserve temp(intindex)                                       '将销售单序号值赋给temp数组变量
                
                    temp(intindex) = rct1.Fields.Item(0).Value
                    
                    ReDim Preserve DT(intindex)                                         '将销售单日期值赋给total数组变量
                
                    DT(intindex) = rct1.Fields.Item(1).Value
                    
                    intindex = intindex + 1
                    
                    rct1.MoveNext
                    
                Else
                
                    rct1.MoveNext
                    
                End If
                
            Loop
            
                If intindex = 0 Then
            
                    MsgBox "无符合查询条件的进货记录表,请重新查询!", vbInformation + vbOKOnly, "查询提示!"
                    
                    Call CmdINT_Click
                    
                    Exit Sub
                    
                Else
                
                    MsgBox "共有" & intindex & "张符合查询条件的进货记录表!", vbInformation + vbOKOnly, "查询提示!"
                    
                
                End If
                
            If intindex = 1 Then
            
               If viewRS(temp(0), DT(0)) = True Then
               
               End If
               
            Else
            
                HSC1.Enabled = True
            
                HSC1.Min = 0
                
                HSC1.Max = intindex - 1
                    
                If viewRS(temp(0), DT(0)) = True Then
                        
                End If
                    
            End If
            
        Else
        
            MsgBox "进货单序号不能为空,请重输!", vbInformation + vbOKOnly, "查询提示!"
            
            Exit Sub
            
        End If
        
        
    Else
        
        If OpDT.Value = True Then
        
            rct1.MoveFirst
                
            Do While Not rct1.EOF
                
                If rct1.Fields.Item(1).Value >= DTP1.Value And rct1.Fields.Item(1).Value <= DTP2.Value Then
                
                    ReDim Preserve temp(intindex)
                
                    temp(intindex) = rct1.Fields.Item(0).Value
                    
                    ReDim Preserve DT(intindex)
                
                    DT(intindex) = rct1.Fields.Item(1).Value
                    
                    intindex = intindex + 1
                    
                    rct1.MoveNext
                    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?