Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Acces 2003 VBA Abfrageergebnis als .csv speichern

Mitglied: roberth

roberth (Level 1) - Jetzt verbinden

11.12.2007, aktualisiert 13:22 Uhr, 7994 Aufrufe, 2 Kommentare

Hallo,

habe hier ein kleines aber nerviges Problemchen. Ich muss zwingend ein Abfrageergebnis aus Access 2003 als Excel CSV speichern.
Dazu hab ich schon diverse freie Codeschnipsel probiert, hier wäre die perfekte Lösung allerdings speichert er das File nicht als CSV sondern als Excel Tabelle.

Kann und mag mir jemand helfen ?

Gruß,
Roberth


Hier mal der Code:

unction OLEExcelExport(ExcelFullDatNam As String, ExcelTabNam As String, _
ExcelOffenLassen As Boolean, _
ParamArray Werteliste()) As Boolean
'
' Ab Access 97
'
' Standard Excel-Export kann nur neue Tabellen erzeugen und komplette Abfragen
' exportieren
'
' Deshalb eigene Funktion:
' - Exportiert eine Datenzeile (bestehende) (offene) Exceltabelle
' - Daten werden an die letzte freie Zeile angehängt
' - Datei, Tabelle können bei Bedarf erzeugt werden
' - ist Excelanwendung kann offen gehalten werden
' ParamArray: übergeben werden entweder einzelne Werte oder ein Wertefeld
Const xlUp = -4162 ' so spart man den Verweis auf MS Excel
Dim WorkBookNam As String
Dim TabExist As Boolean, ExcelIsOpen As Boolean, WorkbookIsOpen As Boolean
Dim xlApp As Object ' Excel.Application
Dim xlBook As Object 'Excel.Workbook
Dim xlSheet As Object ' Excel.Worksheet
Dim ErsteFreieZeile As Long, i As Integer, AktSpalte As Integer
Dim j As Integer

On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If xlApp Is Nothing Then
Set xlApp = CreateObject("Excel.Application")
Else
ExcelIsOpen = True
End If
On Error GoTo 0
' 1. Exceldatei evtl. öffnen/anlegen
' evtl ".xls" anhängen
If Len(ExcelFullDatNam) < 5 Then ExcelFullDatNam = ExcelFullDatNam & ".csv"
If Mid(ExcelFullDatNam, Len(ExcelFullDatNam) - 3, 4) <> ".csv" Then _
ExcelFullDatNam = ExcelFullDatNam & ".csv"
' -> alle .xls in .csv getauscht
If Len(Dir(ExcelFullDatNam)) > 0 Then
WorkBookNam = NurDatNam(ExcelFullDatNam)
For Each xlBook In xlApp.Workbooks
If xlBook.name = WorkBookNam Then WorkbookIsOpen = True
Next
If Not WorkbookIsOpen Then
Set xlBook = xlApp.Workbooks.Open(ExcelFullDatNam)
Else
Set xlBook = xlApp.Workbooks(WorkBookNam)
End If
Else
Set xlBook = xlApp.Workbooks.Add
xlBook.SaveAs ExcelFullDatNam
End If
' 2. Tabellenblatt zuweisen/anlegen
For Each xlSheet In xlBook.Worksheets
If xlSheet.name = ExcelTabNam Then TabExist = True
Next
If TabExist Then
Set xlSheet = xlBook.Worksheets(ExcelTabNam)
Else
Set xlSheet = xlBook.Worksheets.Add
xlSheet.name = ExcelTabNam
End If
With xlSheet
' erste freie Zeile (Spalte A leer) ermitteln
.Activate ' falls Exceldatei geöffnet war
ErsteFreieZeile = .Range("A65536").End(xlUp).row + 1
If ErsteFreieZeile = 2 Then
If .Cells(1, 1) = "" Then ErsteFreieZeile = 1
End If
For i = 0 To UBound(Werteliste)
If IsArray(Werteliste(i)) Then
For j = 0 To UBound(Werteliste(i))
AktSpalte = AktSpalte + 1
.Cells(ErsteFreieZeile, AktSpalte) = Werteliste(i)(j)
Next j
Else
AktSpalte = AktSpalte + 1
.Cells(ErsteFreieZeile, AktSpalte) = Werteliste(i)
End If
Next i
End With
If ExcelOffenLassen = True Then
xlApp.Visible = True
Else
xlBook.Save
xlBook.Close
' falls Excel geöffnet wurde jetzt schließen
If Not ExcelIsOpen Then xlApp.Application.Quit

End If

xlApp.ActiveWorkbook.Save
xlApp.ActiveWindow.Close
xlApp.Application.Quit


Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
OLEExcelExport = True
End Function
Mitglied: Schi73
11.12.2007 um 12:52 Uhr
Hallo Roberth

Wieso erstellst du dir nicht ein Makro? Dort einfach die Aktion TransferText nutzen, die Argumente sollten selbsterklärend sein. Und wenn du es unbedingt in VBA haben willst, kannst du es ja hinterher umwandeln.

Gruß Schi
Bitte warten ..
Mitglied: roberth
11.12.2007 um 13:22 Uhr
danke für die antwort
gibt es denn keine Möglichkeit das in den bestehenden Code einzubetten, ohne docmd.transfertext ? Denn eigentlich funktioniert j alles so wies soll, bis auf das ich halt gerne eine csv datei hätte anstatt ein xls...
Das müsste doch möglich sein ?

Gruß,
rob
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CSV nach CSV durchsuchen und speichern
Frage von jochengBatch & Shell6 Kommentare

Hallo Leute ich fuchtel wieder an einem CSV Problem. Ich habe eine CSV mit Werten die ich nach einer ...

VB for Applications
Speichern als csv
Frage von 123660VB for Applications

Hallo Zusammen, ich habe folgendes problem. ich möchte mein Code anpassen dass er dann Pfad festlegt ohne abfragen. Leider ...

VB for Applications
Csv in xml umwandeln mit VBA
Frage von 130771VB for Applications8 Kommentare

Hallo zusammen, ich bin neu in der Commuity und auch neu im Bereich der Programmierung mit VBA. Ich habe ...

Windows Server
Alle User im AD als CSV speichern
Frage von opc123Windows Server6 Kommentare

Hallo, wie kann ich alle User im AD in eine CSV speichern, aber ohne das die im AD gelöscht ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 1 TagBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 4 TagenHumor (lol)9 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 4 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 5 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
gelöst Frage von vanTastE-Mail32 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Server verliert Dateien und Ordner
gelöst Frage von routeserverWindows Server16 Kommentare

Hallo Freunde, ich habe hier ein Problem, das mich an meine Grenzen treibt und ich würde gerne wissen, ob ...

Windows Tools
User Self Service und Client Management
Frage von OrkansonWindows Tools14 Kommentare

Hallo zusammen, ich hab ein paar verschiedene Fragen: 1. Was benutzt ihr um Software im Unternehmen zu verteilen? 2. ...

Windows Server
Domäne beitreten nicht möglich, unter VMWare windows Server 2016 Core
Frage von AmanuelWindows Server13 Kommentare

Ich habe auf meinem Mac unter VMWare Windows Server 2016 Core und Windows Server 2016 Desktopversion installiert. Beide Systeme ...