[데이터베이스 학습] 기계실 요금 시스템 (3) Excel 내보내기

3250 단어 데이터베이스

앞말


기관실 요금 시스템에서 외부와 상호작용하는 돌파구가 있는데 엑셀을 도출하는 것이 뚜렷한 예이다.엑셀은 기관실 요금 시스템의 데이터를 더욱 편리하게 내보내고 엑셀을 빌려 국민들에게 더욱 잘 서비스를 제공한다.

예를 들다


다음은 금액 조회를 받는 창을 예로 들어 Excel을 내보내는 기능의 실현에 중심을 두었다.
이 창에는 검색과 excel로 내보내는 버튼이 두 개밖에 없습니다.
조회가 실현하고자 하는 기능은 데이터베이스 테이블에 해당하는 데이터를 MSHFlexgrid에 표시하는 것이다.
참조 코드는 다음과 같습니다.
     
Private Sub cmdInquire_Click()
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc As ADODB.Recordset
    
    ' 
    If Not Testtxt(DTPicker1.Value) Then
        MsgBox " !", 0 + 48, " "
        DTPicker1.SetFocus
    End If
    
    If Not Testtxt(DTPicker2.Value) Then
        MsgBox " !", 0 + 48, " "
        DTPicker2.SetFocus
    End If
    
    
    ' 
    If DTPicker1.Value > DTPicker2.Value Then
        MsgBox " !", vbOKOnly + vbExclamation, " "
        Exit Sub
    End If
    
    
    'sql 
    txtSQL = "select * from ReCharge_Info where date between'" & Trim(DTPicker1.Value) & "' and '" & Trim(DTPicker2.Value) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    
    If mrc.EOF Then
        MsgBox " , !", 0 + 48, " "
        DTPicker1.SetFocus
'        DTPicker1.Value = ""
'        DTPicker2.Value = ""
        Exit Sub
    Else
        With myflexgrid
            .Rows = 1
        Do While Not mrc.EOF
            .Rows = .Rows + 1
            .TextMatrix(.Rows - 1, 0) = mrc.Fields(2)
            .TextMatrix(.Rows - 1, 1) = mrc.Fields(3)
            .TextMatrix(.Rows - 1, 2) = mrc.Fields(4)
            .TextMatrix(.Rows - 1, 3) = mrc.Fields(5)
            .TextMatrix(.Rows - 1, 4) = mrc.Fields(6)
            ' , null
            .TextMatrix(.Rows - 1, 5) = Format(mrc.Fields(7))
            mrc.MoveNext
        Loop
        End With
        mrc.Close
    End If
     
    
End Sub

excel로 내보내면 데이터베이스에 있는 테이블의 정보를 excel로 내보냅니다.
참조 코드는 다음과 같습니다.
     
Private Sub cmdExcel_Click()
    Dim mrc As ADODB.Recordset
    Dim txtSQL As String
    Dim MsgText As String
    Dim i As Integer
    Dim x1app1 As Excel.Application ' excel
    Dim x1book1 As Excel.Workbook ' 
    Dim x1sheet1 As Excel.Worksheet ' 

    Set x1app1 = CreateObject("excel.application")
    Set x1book1 = x1app1.Workbooks.Add
    Set x1sheet1 = x1book1.Worksheets(1) '
    
   
    txtSQL = "select cardno,addmoney,date,time,UserID,status from ReCharge_Info where date between'" & Trim(DTPicker1.Value) & "' and '" & Trim(DTPicker2.Value) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    
    '
    For i = 0 To mrc.Fields.Count - 1
    x1sheet1.Cells(1, i + 1) = mrc.Fields(i).Name
    Next i
    
    If Not mrc.EOF Then
        mrc.MoveFirst
        x1sheet1.Range("A2").CopyFromRecordset mrc
        mrc.Close
    End If
    Set mrc = Nothing
    x1app1.Visible = True
    Set x1app1 = Nothing
    
    
End Sub

작은 매듭


   
나는 VB를 통해 약간의 상호작용을 실현할 수 있다는 것이 매우 신기한 일이라고 생각한다.
VB는 하나의 점처럼 사방으로 흩어져 더 많은 교제를 형성한다.

좋은 웹페이지 즐겨찾기