![]() |
||
![]() |
Daten per Knopfdruck in Excel übertragenWie kann ich in einem Formular von Access 97 per Button Daten aus Feldern in die Zellen einer Arbeitsmappe von Excel 97 übertragen? Diese Aufgabe realisieren Sie am besten mit einem DDE-Protokoll (Dynamic Data Exchange). Dabei findet ein DDE-Dialog zwischen geöffneten Anwendungen statt. Sie müssen daher Excel starten und die entsprechende Arbeitsmappe öffnen, bevor Sie Daten aus Access an die Tabellenkalkulation senden können.
Mit dem Befehl »DDEInitiate« initialisieren Sie den DDE-Dialog. Dabei bauen Sie einen so genannten DDE-Kanal zwischen einem Client und einem Server auf. In diesem Fall heißt der Client Access, Excel wird zum Server. Bei den beiden Parametern der Anweisung handelt es sich um Zeichenketten. Der erste Parameter benennt die Anwendung, die der Server sein soll. Der zweite Parameter definiert das zu nutzende »Thema«, wobei es sich normalerweise um den Namen einer vom Server geöffneten Datei handelt. Nachdem die Funktion dieses Beispiels Daten in die »Tabelle1« der Excel-Arbeitsmappe SERVER.XLS schreiben soll, übergeben Sie im zweiten Parameter die Zeichenkette »[Server.xls]Tabelle1«. Verläuft »DDEInitiate« erfolgreich, so gibt die Funktion die Kanalnummer »vChannel« zurück, mit deren Hilfe Sie später den soeben aufgebauten DDE-Kanal direkt ansprechen. Nun übertragen Sie mit »DDEPoke« Daten in Zellen der Excel-Tabelle. Hierbei identifiziert der erste Parameter den DDE-Kanal. Sowohl beim zweiten als auch beim dritten Parameter handelt es sich wieder um Zeichenketten. Der zweite Parameter benennt die anzusprechende Excel-Zelle, der dritte enthält die Daten. Wenn Sie Zahlen übertragen, müssen Sie diese als String übergeben. Mit dem Befehl »DDETerminate« schließen Sie den DDE-Kanal. Die Beispiel-dateien für diesen Tipp finden Sie unter dem CHIP-Code DDEXCHNG. www.chip.de/forum/office97 |
![]() |