Export nach Excel mit SQL

05/05/2009 - 20:19 von Johann Weiss | Report spam
Hallo, ich exportiere nach Excel mit folgendem Code:
(was auch funktioniert)
Private Sub export1_Click()
MakeSQL 'hier wird der SQL-String erstellt oder aufgerufen

Dim oExcel As Excel.Application, DB As DAO.Database, RS As DAO.Recordset, I
As Long
On Error Resume Next
Err.Clear
Set oExcel = GetObject(, "Excel.Application ")
If Err.Number <> 0 Then Set oExcel = CreateObject("Excel.Application")
On Error GoTo 0
With oExcel
.Visible = True
.Workbooks.Add
.ActiveSheet.Name = CStr(Me!Blatt1)
CurrentDb.QueryDefs!qry_suchen_ex.SQL = SQL
Set DB = CurrentDb
Set RS = DB.OpenRecordset("qry_suchen_ex", dbOpenSnapshot)
If Me!Spaltenk Then
For I = 0 To RS.Fields.Count - 1
.Cells(1, I + 1) = RS.Fields(I).Name
Next I
.Range("A2").Select
Else
.Range("A1").Select
End If
.Selection.CopyFromRecordset RS
.Columns("X:Z").Select
.Selection.Delete Shift:=xlToLeft
.Columns("C:F").Select
.Selection.Delete Shift:=xlToLeft
.Columns("D:E").Select
.Selection.Delete Shift:=xlToLeft

' Verschönerung

.Range("A1:Z1").Select
With .Selection.Font
.Bold = True
.Name = "Arial"
.Size = 8 End With
If MsgBox("Speichern?", vbYesNo + vbQuestion) = vbYes Then
.ActiveWorkbook.SaveAs Me!FName
Else
.ActiveWorkbook.Close SaveChanges:=False
End If
.Quit
End With
End Sub
Mit folgendem wird ja die Abfrage manipuliert

CurrentDb.QueryDefs!qry_suchen_ex.SQL = SQL

nun meine Frage, ist es möglich das ich in der Abfrage auch die Felder der
Tabelle vorgebe?
zB. meine Abfrage( Tabelle2(Feld1,Feld2, Feld5,Feld7, Feld12))

Gruss Hans
 

Lesen sie die antworten

#1 Peter Doering
05/05/2009 - 21:07 | Warnen spam
Hallo,

Johann Weiss wrote:

Hallo, ich exportiere nach Excel mit folgendem Code:
(was auch funktioniert)
Private Sub export1_Click()
MakeSQL 'hier wird der SQL-String erstellt oder aufgerufen



Und was genau wird hier gemacht?

Dim oExcel As Excel.Application, DB As DAO.Database, RS As DAO.Recordset, I
[...]
Mit folgendem wird ja die Abfrage manipuliert

CurrentDb.QueryDefs!qry_suchen_ex.SQL = SQL



Falls SQL ein Funktions- oder Variablenname ist: ganz schlecht, siehe
www.donkarl.com?FAQ1.5

Nenne es z.B. strSQL

nun meine Frage, ist es möglich das ich in der Abfrage auch die Felder der
Tabelle vorgebe?
zB. meine Abfrage( Tabelle2(Feld1,Feld2, Feld5,Feld7, Feld12))



Du solltest MakeSQL dazu bewegen, den passenden SQL-String zurueckzugeben.
Dann kannst du dir das Loeschen im Spreadsheet sparen.

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
3. SEK Sa/So 16./17.5.2009, Nürnberg http://www.donkarl.com/SEK/

Ähnliche fragen