用户定义类型未定义 求解

作者在 2015-04-18 11:19:38 发布以下内容
Option Explicit
Public txtSQL As String
Dim mrc As ADODB.Recordset
Dim MsgText As String








Private Sub Form_Load()
    ShowTitle
    ShowData
    flagLedit = True
End Sub


Private Sub Form_Resize()
    If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then
        '边界处理
        If Me.ScaleHeight < 10 * lblTitle.Height Then
            
            Exit Sub
        End If
        If Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 Then
            
            Exit Sub
        End If
        '控制控件的位置
                
        lblTitle.Top = lblTitle.Height
        lblTitle.Left = (Me.Width - lblTitle.Width) / 2
        
        msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2
        msgList.Width = Me.ScaleWidth - 200
        msgList.Left = Me.ScaleLeft + 100
        msgList.Height = Me.ScaleHeight - msgList.Top - 200
    End If
End Sub




Public Sub FormClose()
    Unload Me
End Sub


Public Sub RecordRefresh()
    '设置msSql
    msSql = msSelect & msTableName & msOrderBy
    sOrder0 = "+ {yeid}"
    sOrder1 = ""
    
    ShowData
End Sub




Public Sub RecordFind()
    mbFlag = True
    frmMaterList2.Show 1
    If Trim(frmMaterList2.sQSql & " ") <> "" Then
        msSql = "select * from " & msTableName & " where" & frmMaterList2.sQSql & msOrderBy
        ShowData
    End If
    mbFlag = False
    Unload frmMaterList2
End Sub


'详细显示记录
Public Sub RecordView()
    
    
End Sub




'显示Grid的内容


Private Sub ShowData()
  
    Dim j As Integer
    Dim i As Integer


  
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        With msgList
        .Rows = 1
        
        Do While Not mrc.EOF
            .Rows = .Rows + 1
            For i = 1 To mrc.Fields.Count
                Select Case mrc.Fields(i - 1).Type
                    Case adDBDate
                        .TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & "", "yyyy-mm-dd")
                    Case Else
                        .TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & ""
                End Select
            Next i
            mrc.MoveNext
        Loop
        
        
        
        End With
        mrc.Close
    
    
    
    
    
End Sub




'显示Grid表头
Private Sub ShowTitle()
    Dim i As Integer
    
    With msgList
        .Cols = 10


        .TextMatrix(0, 1) = "物资编号"
        .TextMatrix(0, 2) = "物资名称"
        .TextMatrix(0, 3) = "规格型号"
        .TextMatrix(0, 4) = "类别"
        .TextMatrix(0, 5) = "计量单位"
        .TextMatrix(0, 6) = "数量"
        .TextMatrix(0, 7) = "金额"
        .TextMatrix(0, 8) = "仓库"
        .TextMatrix(0, 9) = "备注"
        
        '固定表头
        .FixedRows = 1
                
        '设置各列的对齐方式
        For i = 0 To 5
            .ColAlignment(i) = 0
        Next i
            .ColAlignment(6) = 7
            .ColAlignment(7) = 7
        For i = 8 To 9
            .ColAlignment(i) = 0
        Next i
        
        '表头项居中
        .FillStyle = flexFillRepeat
        .Col = 0
        .Row = 0
        .RowSel = 1
        .ColSel = .Cols - 1
        .CellAlignment = 4
        
        '设置单元大小
        .ColWidth(0) = 300
        .ColWidth(1) = 1000
        .ColWidth(2) = 2000
        .ColWidth(3) = 2000
        .ColWidth(4) = 1000
        .ColWidth(5) = 1000
        .ColWidth(6) = 1000
        .ColWidth(7) = 1000
        .ColWidth(8) = 1000
        .ColWidth(9) = 1000
        .Row = 1
    End With
End Sub








Private Sub msgList_DblClick()
    
    
    If flagLedit Then
        If msgList.Rows > 1 Then
            frmMaterList1.txtSQL = "select * from msurplus where yeid='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "' and yebase='" & Trim(msgList.TextMatrix(msgList.Row, 8)) & "'"
            frmMaterList1.Show 1
        End If
    End If
End Sub


Private Sub msgList_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    '右键弹出
    If Button = 2 And Shift = 0 Then
        PopupMenu fMainForm.menuSurplus
    End If
    
End Sub




默认分类 | 阅读 1226 次
文章评论,共0条
游客请输入验证码
浏览1224次
文章分类
文章归档
最新评论