Cemalizim | 19 Temmuz 2008 16:50 | Access'ten Excel'e Veri Aktarımı ALINTIDIR! PHP- Kodu: Option Explicit Private strExcelFile As String Private strWorksheet As String Private strDB As String Private strTable As String Private objDB As Database Private strField As String Private strSearch As String Private DB As Database Private WildCard As String Private textString As String Private UsedBrowse As Boolean Private Sub ExportOneTable() 'EXPORTS TABLE IN ACCESS DATABASE TO EXCEL 'REFERENCE TO DAO IS REQUIRED Set objDB = OpenDatabase(strDB) 'If excel file already exists, you can delete it here ' If Dir(strExcelFile) <> "" Then Kill strExcelFile objDB.Execute _ "SELECT * INTO [Excel 8.0;DATABASE=" & strExcelFile & _ "].[" & strWorksheet & "] FROM " & "[" & strTable & "]" & _ "WHERE [" & strTable & "." & strField & "]like '" & WildCard & strSearch & WildCard & "';" objDB.Close Set objDB = Nothing End Sub Function FieldType(intType As Integer) As String Select Case intType Case dbBoolean FieldType = "Boolean" Case dbByte FieldType = "Byte" Case dbInteger FieldType = "Integer" Case dbLong FieldType = "Long" Case dbCurrency FieldType = "Currency" Case dbSingle FieldType = "Single" Case dbDouble FieldType = "Double" Case dbDate FieldType = "Date" Case dbText FieldType = "Text" Case dbLongBinary FieldType = "LongBinary" Case dbMemo FieldType = "Memo" Case dbGUID FieldType = "GUID" End Select End Function Private Sub GetDB() CommonDialog1.DialogTitle = "Browse for Database File" CommonDialog1.Filter = "Database File (*.mdb)|*.mdb" CommonDialog1.DefaultExt = ".mdb" CommonDialog1.DialogTitle = "Browse for Database File" CommonDialog1.ShowOpen Text1.Text = CommonDialog1.FileName UsedBrowse = True End Sub Private Sub FillList1() Dim DBName As String Dim X As Integer On Error GoTo ExitSub If Right(Text1.Text & textString, 4) = ".mdb" Then Set DB = OpenDatabase(Text1.Text & textString) 'Extract tables from DataBase and add to combobox... Screen.MousePointer = 11 List1.Clear For X = 0 To DB.TableDefs.Count - 1 'Ignore system tables... If InStr(UCase(DB.TableDefs(X).Name), "MSYS") = 0 Then List1.AddItem DB.TableDefs(X).Name End If Next X If List1.ListCount > 0 Then List1.ListIndex = 0 Screen.MousePointer = 0 End If ExitSub: End Sub Private Sub cmdBrowse_Click() GetDB FillList1 End Sub Private Sub cmdCancel_Click() End End Sub Private Sub cmdClear_Click() Text1.Text = "" List1.Clear List2.Clear lblFieldType = "" txtSearch = "" txtWorkSheetName = "" End Sub Private Sub cmdOK_Click() If Text1.Text <> "" Then CommonDialog1.DialogTitle = "Save to Excel File" CommonDialog1.FileName = "" CommonDialog1.DefaultExt = ".xls" CommonDialog1.Filter = "Excel File (*.xls)|*.xls" CommonDialog1.ShowSave strExcelFile = CommonDialog1.FileName strWorksheet = txtWorkSheetName If strWorksheet = "" Then strWorksheet = "WorkSheet1" End If strDB = Text1.Text strTable = List1.Text strField = List2.Text strSearch = txtSearch If chkExact = 1 Then WildCard = "" Else WildCard = "*" End If ExportOneTable End If CommonDialog1.Filter = "Database File(*.mdb)|*.mdb" CommonDialog1.DefaultExt = ".mdb" CommonDialog1.DialogTitle = "Browse for Database File" End Sub Private Sub Form_Unload(Cancel As Integer) On Error Resume Next DB.Close Set DB = Nothing End Sub Private Sub List1_Click() List1.SetFocus UpdateFields End Sub Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer) UpdateFields End Sub Private Sub UpdateFields() Dim X As Integer Dim RstTemp Screen.MousePointer = 11 List2.Clear Set RstTemp = DB.OpenRecordset(List1.Text) For X = 0 To RstTemp.Fields.Count - 1 List2.AddItem RstTemp.Fields(X).Name Next X If List2.ListCount > 0 Then List2.ListIndex = 0 Screen.MousePointer = 0 RstTemp.Close Set RstTemp = Nothing End Sub Private Sub List2_Click() Dim RstTemp As Recordset Set RstTemp = DB.OpenRecordset(List1.Text) lblFieldType = FieldType(RstTemp.Fields(List2.ListIndex).Type) RstTemp.Close Set RstTemp = Nothing End Sub Private Sub Text1_DblClick() Text1.SelLength = Len(Text1.Text) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) List1.Clear List2.Clear lblFieldType = "" textString = Chr(KeyAscii) FillList1 textString = "" End Sub Private Sub Text1_LostFocus() FillList1 End Sub
|