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

📄 frmqstock.frm

📁 超市的管理系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:

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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -