PDA

View Full Version : Daten in Excel aktualisieren



Matthias.Hayn
10-07-03, 11:30
Hallo zusammen,

wie kann ich mit Makros oder VB die Datenübertragung in Excel aufrufen. Als Anfänger habe ich es als erstes mit dem Aufzeichnen eine Makros versucht, dort wird die Datenübertragung aber nicht gespeichert.


Wer hat Informationen, Beispiele oder einen Tip für mich, wo ich nachlesen kann?

Gruss

Matthias:confused:

kuetemaj
23-07-03, 23:18
Hallo Matthias,

den Filetransfer (*.tto / *.dtf) selbst kannst Du meines Wissens nicht im Makro speichern, aber den Filetransfer über das Makro starten reicht doch sicher auch aus?

Sieht bei mir etwa so aus:

- Filetransfer als *.tto oder *.dtf speichern
- VB-Editor in Excel starten (Alt + F11)

1) VB-Code für "Diese Arbeitsmappe"
Private Sub Workbook_Open()
Call Start_AS400_Transfer
End Sub

2) VB-Code für File-Transfer
- einfach per Copy/Paste in ein neues Modul übertragen
- den Pfad für die "rtopcb.exe" musst Du ggf. anpassen
(wird von Client Access mitgebracht)

Sub Start_AS400_Transfer
Status = Shell("C:\programme\ibm\client access\rtopcb.exe D:\TRANSFER\Transfer.tto", 1)
End Sub

-- ENDE --

Das ganze speichern und mit F8 "Einzelschritt" testen, dann siehst Du auch wo evtl. was klemmt.
Den Code in "Diese Arbeitsmappe" kannst Du natürlich um weitere Call-Module erweitern, die die Excel-Daten aufbereiten und im Netz speichern o.ä. . Das Modul steuert den ganzen Ablauf.

Viel Spass beim Testen

Gruss Jens

Fuerchau
24-07-03, 09:04
Es gibt einen einfacheren und sehr viel komfortableren Weg:

Über "Daten->Externe Daten->Neue Abfrage erstellen..." kannst du direkt eine SQL-Abfrage per MS-Query erstellen.
Hierzu richtest du ggf. eine neue ODBC-Quelle ein und kannst dann sogar sehr schön graphisch unterstützt einen Query sogar über mehrere Tabellen (Join) erstellen.
Wenn du den Query erst über MS-Query bearbeitest (noch nicht an Excel übergeben), kannst du sogar dynamische Parameter vergeben.
In der Zeile "Kriterien" wählst du ein Feld aus und bestimmst in der Bedingung z.B. "=[WertName]".
Du kannst die Abfrage dann sogar aus MS-Query testen, ob das Ergebnis ok ist.
Wenn du SQL gut kennst, kannst du auch den SQL direkt eingeben. Parameter werden dann mit "?" definiert.

Wenn du dann den Query an Excel übergibst, wird erst mal jeder Parameter mit einem Dialog abgefragt und anschließend die Daten in Excel ausgegeben.

Über die Symbolleiste "Externe Daten" kannst du dann jederzeit

[list=1]
Das Query wieder bearbeiten
Den Parametern Excelzellen zuordnen
Die Daten aktualisieren
[/list=1]

Wenn du dann über die Eigenschaften der Abfrage auch noch bestimmst, dass beim Öffnen der Mappe die Daten aktualisiert werden sollen, hast du jederzeit und sofort den aktuellen Datenbestand.

Matthias.Hayn
24-07-03, 09:19
Werde beide Varianten mal ausprobieren, Danke für die Hinweise.

Gruss

Matthias

Fuerchau
01-08-03, 15:00
@Matthias

Für welche Lösung hast du dich denn nun entschieden ?

Matthias.Hayn
04-08-03, 10:00
Hallo Fuerchau,

ich bin noch nicht dazu gekommen, zu testen.
Werde das aber diese Woche durchziehen
und dann das Ergebnis mitteilen.

Gruss

Matthias

Matthias.Hayn
05-08-03, 16:21
Habe jetzt die Möglichkeiten getestet und mich für die Variante MS-QUERY entschieden. Die bietet die meisten Möglichkeiten.

Danke für alle Antworten, besonders an Fuerchau!

Matthias

havok1983
08-03-05, 15:19
Hy,
das ist zwar schon ein etwas älterer Beitrag, schildert jedoch genau mein Problem.
Ich habe eine SQL-Datenbank und will die Daten nach gewissen Kriterien in verschiedene
Excel Dateien gliedern.
Ein Query zu erstellen schaffe ich bereits, aber ich kann keine Parameter vergeben.
Ich will z.B. in Tabellenblatt 1 im Feld A1 den Wert angeben für das Kriterium where name= ????A1????
wie muss ich diesen Parameter festlegen? wo muss ich das wie eingeben?

Besten Dank für eure Hilfe

HaVoK