Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

DDE Datenimport über Formular

Begonnen von patrick1988, Februar 25, 2015, 11:23:30

⏪ vorheriges - nächstes ⏩

patrick1988

Guten Tag,
ich bin neu hier also erstmal hallo alle zusammen  :).

Ich habe folgendes Problem:

Ich habe bisher daten von einem DDE Server in excel aktualisieren lassen und über ein makro die daten in einer anderen tabelle auflisten lassen. Der Befehl für die DDE Daten in excel ist wie folgt: =PR|WERT!TABELLE1

Jetzt ist es leider so dass an einem tag so um die 100.000 Zeilen zusammenkommen.

Nun meine Frage an euch:

Ist es möglich Daten von einem DDE Server in einem Formular in ACCESS auszugeben um sie dann automatisch in einer Tabelle zu listen? Ich habe versucht im Formulartextfeld bei Standartwert den DDE Befehl (=PR|WERT!TABELLE1) einzugeben aber er hat ein Problem mit dem Zeichen "|" doch dieses ist in der Formel notwendig und in excel auch kein Problem.

Ich hoffe ihr habt gute Tipps für mich  :)

Grüße

MaggieMay

Hi,

was bedeutet das |-Zeichen, bzw. was für ein Befehl ist "PR|Wert" und wo kann man das nachlesen?

Generell würde ich sagen, dass die DDE-Verbindung ebensogut aus Access heraus hergestellt werden können sollte. Dazu müsste man aber wohl genaueres über diesen DDE-Server wissen.
Freundliche Grüße
MaggieMay

patrick1988

Das kann ich dir leider aucht nicht so genau erklären. Der DDE Server Läuft über ein Programm auf meinem PC und der der Befehl =PR|WERT!TABELLE1 ist der vom programm vorgegebene DDE connection string für excel.

=PR|WERT!TABELLE1
PR = Das Programm
WERT = ein bestimmter wert aus Tabelle1 vom programm
Tabelle = eine Tabelle vom Programm

mehr weis ich leider nicht. Wie geht es denn generell in access einen kontakt mit einem DDE Server herszustellen?

MaggieMay

Es gibt dazu diverse VBA-Befehle in Access wie bspw. DDEInitiate und DDETerminate, aber welche Parameter da angegeben werden müssen, hängt von der eingesetzten Software ab.
Freundliche Grüße
MaggieMay

patrick1988

ich habe es nun im standartwert so versucht:

DDEInitiate("PR, WERT, TABELLE1")

aber es kommt der Fehler: Der von ihnen eingegebene _Ausdruck enthält eine Funktion, für die die falsche Anzahl an Argumenten angegeben ist.

Wäre es auch möglich es so zu machen:

In meiner excel tabelle in A1 ändert sich ständig der wert durch den dde server. Nun soll der wert aus A1 in einer access tabelle gelistet werden und wenn sich A1 ändert den neuen Wert in der Access tabelle in die nächste zeile listen.

MaggieMay

Herumprobieren ist hier wohl keine Lösung. Als allererstes solltest du dir die Verwendung der Befehle in der Access-Hilfe ansehen. Und dann wirst du dir Informationen zu deinem "DDE Server" besorgen müssen.

Wie sieht das denn in der Excel-Datei aus, da gibt es doch sicher VBA-Code?
Freundliche Grüße
MaggieMay

patrick1988

In Excel ist es Realtiv einfach und ohne VBA:

In A1 Steht nur ( =PR|WERT!TABELLE1 ) und dort aktualisiert es mir ständig den Wert aus dem Programm.





MaggieMay

Das kann ich mir ehrlich gesagt nicht vorstellen, irgendwie muss die Verbindung doch hergestellt werden. Und irgendwas muss für die ständige Aktualisierung sorgen.
Freundliche Grüße
MaggieMay

patrick1988

Glaub mir :-) ich kann eine neue excel datei erstellen das hier rein kopieren ( =PR|WERT!TABELLE1 ) enter drücken und die werte aktualisieren sich :P


MaggieMay

Wenn ich das tue hagelt es Fehlermeldungen.  ;D
Freundliche Grüße
MaggieMay

patrick1988

Das geht auch nur wenn ich das Programm mit dem DDE Client offen habe ;D

MaggieMay

Aha, du startest es also manuell. Aber das nützt alles nichts, du musst eine Dokumentation vom Hersteller haben, wie das eingesetzt werden kann, welche Schnittstellen es gibt, etc.
Freundliche Grüße
MaggieMay

patrick1988

Hmm ich google mich schon zu tode aber ich werd schon noch was dazu finden. Aber trotzdem Danke für deine Unterstützung :-)

patrick1988

So das steht in der dokumentation:

Export of Quotes

Source data serving as a basis for the entire analytical work of the terminal user are those about security price changes. This information is provided by the brokerage company. Price data allow to draw symbol charts, research in financial markets, use various trading tactics, and make trade decisions. Quotes represent files with records in format of "SYMBOL, BID, ASK, DATE" (security symbol, bid price, ask price, date and time) and income in the terminal automatically as soon as connection to the server has been established.

The terminal allows to export the current quotes to other programs in the real-time mode through "DDE" (Dynamic Data Exchange) protocol. This is a protocol of operational systems of MS Windows used for dynamic data exchange among various applications. Quotes are given through DDE only at incoming of new ticks (ADVISE mode), but not immediately on request (REQUEST mode) where the latest price is shown. N/A is shown on the first REQUEST, and after the new price has been income, quotes will appear.

To activate the export of quotes from the terminal through DDE, one has to enable the "Enable DDE server" option in the terminal settings.

Attention: History Data cannot be exported through DDE protocol. The current quotes are exported only when the client terminal is online.


DDE request formats and their possible results by the example of "DDE-sample.xls" file:

   BID   request:    = MT4|BID!USDCHF         result:  1.5773
   ASK   request:    = MT4|ASK!USDCHF         result:  1.5778
   HIGH  request:    = MT4|HIGH!USDCHF        result:  1.5801
   LOW   request:    = MT4|LOW!USDCHF         result:  1.5741
   TIME  request:    = MT4|TIME!USDCHF        result:  21.05.02 9:52
   QUOTE request:    = MT4|QUOTE!USDCHF       result:  21.05.02 9:52 1.5773 1.5778 1.5776

Attention: For data to be shown properly in MS Excel, one has to enable "Tools — Options... — Translation — Translation formula entry" menu option of MS Excel.


MaggieMay

Das hilft nicht wirklich weiter, denn über eine Kooperation mit Access steht da nichts...
Freundliche Grüße
MaggieMay