hdr-gilgalad
Goto Top

Tabelle aus Access nach Excel exportieren

Nur mit SQL-Abfrage

Hi,

ich soll für die Firma in Access eine SQL-Abfrage schreiben, die bestimmte Datensätze einer Datenbank in eine Excel-Tabelle exportiert. Dies soll alleine mit SQL geschehen und möglichst ohne VB bzw. VBA. Die Abfrage zur Auswahl der Datensätze habe ich ja schon hinbekommen aber an dem Export hänge ich zu Zeit.

Was ich jetzt schon in der angesprochenen Abfrage stehen habe ist folgendes,

SELECT Namen.Nachname, Namen.Vorname, Namen.Email
FROM Namen
WHERE Geloescht = False

Vielleicht noch zur Info diese Excel oder CSV-Datei soll anschließend in MS Outlook, als Verteilerliste eingelesen werden.

Bitte helft mir dabei weiter, ist wirklich dringend. Brauche das bis morgen. Danke

Content-Key: 11634

Url: https://administrator.de/contentid/11634

Printed on: April 19, 2024 at 06:04 o'clock

Mitglied: 8644
8644 Jun 08, 2005 at 13:33:03 (UTC)
Goto Top
Hi,

vielleicht habe ich dich ja auch falsch verstanden -
aber wenn du eine fertige Abfrage hast, kannst du die doch direkt nach Excel exportieren.

Psycho
Member: HdR-Gilgalad
HdR-Gilgalad Jun 08, 2005 at 14:17:21 (UTC)
Goto Top
Dann könnte ich die Datensätze ja auch direkt nach Excel kopieren. Das soll aber alles automatisiert ablaufen. Man klickt auf eine Schaltfläche in einem Access-Formular und die Datensätze werden automatisch selektiert und nach Excel exportiert.

So wie ich das sehe geht das alles nicht ohne VB. Gibt es vielleicht ne Möglichkeit, dass mit Visual Basic umzusetzen. Also wohl eher mit VBA. Habt ihr da eine Idee, wie ich das am günstigsten und unkompliziertesten machen kann?
Mitglied: 11078
11078 Jun 08, 2005 at 15:02:40 (UTC)
Goto Top
Hallo,

bin kein VBA-Mensch, aber ich habe folgendes ausprobiert (auf Access 2002). Vielleicht ist es ja die Lösung:


1. Erstelle in Access eine Abfrage, die genau das von Dir erarbeitete SQL-Statement umsetzt.
2. Dann legst Du in deinem Formular einen Button an. Falls der Assistent dann erscheint, klicke ihn weg.
3. Mit der rechten Maustaste auf den Button und "Ereignis" auswählen
4. Die Art des Ereignis ist "Makro-Generator"
5. Nun öffnet sich der Makro-Generator
6. Im Feld "Aktion" kannst Du nun nacheinander abzuarbeitende Aktionen (stehen dann in der Reihenfolge untereinander) zum Abarbeiten auswählen. Diese werden dann abgearbeitet wenn der Button gedrückt wird.
7. Wähle als Aktion "AusgabeIn" aus. Du musst hier jetzt einige Angaben machen:
- Unter "Objekttyp" wählst Du "Abfrage" aus
- Unter "Objektname" den Namen der oben erstellten Abfrage, die das von Dir gewünschte SQL-Statement umsetzt
- "Ausgabeformat" und "Ausgabedatei" regelt, in welchem Format es ausgegeben werden soll (Excel, HTML, TXT und mehr möglich) und Du kannst Speicherpfad und Dateiname angeben.

8. Als zweite Aktion kannst Du jetzt noch "AusführenAnwendung" nehmen und als Befehlszeile "C:\Pfad\zu\Excel eben_exportierte_datei.xls"
Dann wird die Datei direkt nach dem Knopfdruck auch in Excel geöffnet.


Wenn Du etwas anderes willst, lässt es sich sicherlich auf auf ähnlichem wege zusammenschrauben. Einfach ausprobieren. Hängt in Deinem Fall schwer davon ab, ob Outlook einen Kommandozeilen-Switch für den Import von externen Daten in eine Verteilerliste hat - nur dann ließe sich auch dieser Schritt automatisieren.


Hope it helps!


Gruß,
TIM
Member: HdR-Gilgalad
HdR-Gilgalad Jun 08, 2005 at 15:42:59 (UTC)
Goto Top
Werde das morgen mal in der Firma ausprobieren.

Vielen Dank für die Hilfe.
Member: HdR-Gilgalad
HdR-Gilgalad Jun 09, 2005 at 06:42:29 (UTC)
Goto Top
Danke für die Hilfe, das hat super geklappt. Das einzige Problem was ich jetzt noch habe ist folgendes:

Die Datei soll ja in den Outlook-Kontakte-Ordner eingelesen werden. Die Dateien müßten zu diesem Zweck allerdings vernünftig formatiert sein. Entweder in einer Textdatei und nur durch Komma getrennt oder über ein Makro, das man beim Start der Exceldatei ausführen kann in entsprechender Weise umgewandelt wird.

Bitte helft mir nochmal, denn Makros sind irgendwie nicht so richtig mein Ding...
Mitglied: 11078
11078 Jun 09, 2005 at 10:36:42 (UTC)
Goto Top
Hallo,


Die Dateien müßten zu diesem Zweck allerdings vernünftig formatiert sein. Entweder in einer Textdatei und nur durch Komma getrennt


Also ich denke, wir haben hier zwei Problemkreise:

1. Formatierung der Ausgabe

Wie die Ausgabe von der reinen Anordnung formatiert ist, hängt natürlich von Deiner SQL-Abfrage ab.

 Select KUNDEN.name, KUNDEN.email FROM KUNDEN;

ergibt von der Reihenfolge der Ausgane in Excel-Datei oder was auch immer

 Herr Müller,mueller@firma1.de
 Herr Maier,maier@firma2.de

Aus Erfahrung: Wenn man kommaseparierte Dateien in ein Mailprogramm importiert, kommt es ganz genau darauf an, in welcher Reihenfolge die Infos kommen: Manches Programm will die Einträge so:

  // Ein Eintrag pro Zeile 

 Name, Adresse, Telefon, Email, Firma

Ein anderes Mailprogramm will es vielleicht ganz anders. Das solltest Du schon vor der Erstellung der SQL-Abfrage klären!


2. Import nach Outlook

Ich habe Outlook eben mal installiert, habe aber nicht einmal die Möglichkeit gefunden, Verteilerlisten zu im- oder zu exportieren. Man kann anscheinend nur Verteilerlisten aus dem Adressbuch zusammenklicken. Die Möglichkeit, eine bestehende Verteilerliste in eine Excel-Datei, etc. zu exportieren wäre sehr spannend, weil man dann sofort sehen könnte, in welcher Reihenfolge Outllok die Informationen will.

Wenn Outlook nur csv-Dateien importieren kann, dann kannst Du in Excel ganz einfach ein Makro erstellen:

- Die aus Access exportierte xls-Datei öffnen
- "Extras" > "Makro" > "Aufzeichnen"
- Unter "Makro Speichern in" würde ich eher "Persönliche Makro-Arbeitsmappe" nehmen, da das Makro dann unabhängig von der xls-Datei gespeichert wird. Wenn Du es in der xls-Datei speichern würdest, wäre es weg, wenn auch die Datei gelöscht oder überschrieben wird.
- Nach dem Aufzeichnen speicherst Du die Arbeitsmappe als csv-Datei und stoppst die Aufnahme. Per makro kann diese Aktion dann auf Knopfdruck wiederholt werden.

Wie man ein Makro automatisch startet, weiß ich nicht, aber Google ist hierbei Dein Freund (oder natürlich dieses Forum).


Ich bezweifel aber insgesamt, dass man diese ganze Aktion (die sich dann über drei Programme, Outlook inklusive, verteilt) wirklich mit einem Knopfdruck automatisieren kann!


Gruß,
TIM