Thomas: Zelländerung in Excel direkt nach mysql?

Hallo,
ist es möglich, dass sich Änderungen in Excel Zellen/Zeilen direkt in eine mysql-Datenbank-Tabelle schreiben lassen?

Bsp:
----------------------------------------------------------------
BidSize | BidPrice | AskPrice | AskSize | LastPrice | LastSize |
----------------------------------------------------------------
4354355 | 65666655 | 45564433 | 8886878 | 7787878888| 777522222|
----------------------------------------------------------------

Die Zahlen ändern sich dynamisch mit VBA durch Dynamic Data Exchange (DDE).
Es geht also nicht um einen Import à la CSV etc., sondern eben, ja wie soll ich sagen "realtime" von Excel direkt nach mysql schreiben. Geht das, dass sich die ständig ändernden Werte direkt in eine mysql-Datenbank-Tabelle schreiben lassen?

Merci
Thomas

  1. Sorry hab vergessen,
    die Datenbankverbindung über MyODBC steht zwischen Excel und Mysql.

    Merci
    Thomas

  2. Hallo Thomas,

    ist es möglich, dass sich Änderungen in Excel Zellen/Zeilen direkt in eine mysql-Datenbank-Tabelle schreiben lassen?

    es gibt das SheetChange- und das Change-Ereignis. Die müsstest Du nutzen können.

    Die Zahlen ändern sich dynamisch mit VBA durch Dynamic Data Exchange (DDE).

    Rein interessehalber: warum ausgerechnet DDE? DDE war bereits in Microsoft Office 4.3 (Word 6.0, Excel 5.0) als ältere Technologie bezeichnet. Ich fand damals DDE kompliziert und anfällig und habe deswegen meine Finger davon gelassen.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz.

      es gibt das SheetChange- und das Change-Ereignis. Die müsstest Du nutzen können.

      Mit dem "Worksheet_Change" Ereignis klappt es ganz gut, wenn ich in einer Zelle "von Hand + Return" einen Wert ändere und diesen dann z.B. in eine andere Zeile kopieren lasse, aber nicht wenn sich die Werte durch diese DDE-verlinkung in den Zellen ändern. Ich bin auch dabei das in einem Excelforum zu besprechen, nur hat dann niemand mehr geantwortet. Ich bin zudem Neuling in diesen Dingen.
      Und nun kam dann eben die Frage auf - wenn eben schon mit "Worksheet_Change" etc. Probleme auftreten - ob es überhaupt theoretisch möglich ist diese Änderungen durch die DDE-verlinkung in den Zellen direkt in eine Mysql-Tabelle zu schreiben.

      Rein interessehalber: warum ausgerechnet DDE? DDE war bereits in Microsoft Office 4.3 (Word 6.0, Excel 5.0) als ältere Technologie bezeichnet. Ich fand damals DDE kompliziert und anfällig und habe deswegen meine Finger davon gelassen.

      Liegt an meiner mangelnden Kompetenz einerseits...
      Es gäbe da auch noch die Möglichkeiten:
      C++ to Socket
      Java to Socket
      VB to ActiveX
      und von privater Seite werden auch "Klassen Komponenten", wie man diese Dinge auch immer nennt für Delphi, Perl etc. angeboten.

      Hier ist die Seite, auf die sich meine Angelegenheit bezieht:
      http://www.interactivebrokers.com/en/software/highlights/apiHighlights.php?ib_entity=llc
      ---> DDE for Excel:
      Beginner
      Limited; uses obsolete technologies; lower performance.
      Windows only.   Small learning curve; rapid development time

      Nun, die "Small learning curve" für VBA-Excel ist mir schon ziemlich steil, was soll ich machen, außer ganz "unten" anzufangen? Ich habe mir vorgenommen, wenigstens ein Bsp mit Excel zu erreichen. Dann werd ich vielleicht jemand engagieren, um mir etwas technisch ordentliches zu basteln.

      Nochmal zurück zur Ausgangsfrage, würde es denn mit Access gehen?

      Danke+Gruß
      Thomas

      1. Hallo Thomas,

        Mit dem "Worksheet_Change" Ereignis klappt es ganz gut, wenn ich in einer Zelle "von Hand + Return" einen Wert ändere und diesen dann z.B. in eine andere Zeile kopieren lasse, aber nicht wenn sich die Werte durch diese DDE-verlinkung in den Zellen ändern.

        es gibt auch das Calculate-Ereignis. Zur Not könntest Du irgendeine beliebige Formel eintragen, die sich auf einen geänderten Inhalt bezieht, damit das Ereignis ausgelöst wird.

        Viele Grüße

        Jörg

      2. Hallo Thomas,

        es gibt das SheetChange- und das Change-Ereignis. Die müsstest Du nutzen können.
        Mit dem "Worksheet_Change" Ereignis klappt es ganz gut, wenn ich in einer Zelle "von Hand + Return" einen Wert ändere und diesen dann z.B. in eine andere Zeile kopieren lasse,

        hier könntest Du mir Jörgs Tipp ansetzen. Welche Excel-Version hast Du im Einsatz?

        aber nicht wenn sich die Werte durch diese DDE-verlinkung in den Zellen ändern. Ich bin auch dabei das in einem Excelforum zu besprechen, nur hat dann niemand mehr geantwortet. Ich bin zudem Neuling in diesen Dingen.

        Und es schadet meiner Meinung nach nicht, DDE links liegen zu lassen und andere Techniken zu verwenden, siehe die von Dir zitierte Quelle.

        ---> DDE for Excel:
        Beginner
        Limited; uses obsolete technologies; lower performance.

        "uses obsolete technologies", das galt bereits 1995. Fang' gar nicht damit an!

        Nochmal zurück zur Ausgangsfrage, würde es denn mit Access gehen?

        Darauf kann ich Dir keine Antwort geben. Warum? Ganz einfach, weil ich nicht weiß, was Du vorhast. Schildere lieber nicht einen Teilaspekt, sondern einen Überblick, z.B:

        Daten XYZ werden von Anwendung ABC erzeugt. Diese Daten möchte ich einerseits in  einem Excel-Arbeitsblatt haben, um sie bequem auswerten und grafisch darstellen zu lassen, andererseits sollen diese Daten dauerhaft in einer Datenbank gespeichert werden, mir steht MySQL Version x.y.z zur Verfügung.

        Bitte gib' auch an, wer diese Aktualisierungen auslöst. Bring Beispielcode, z.B. das, was Du in VBA geschrieben hat. Erst dann können wir Dir konkret helfen, eventuell auch andere Lösungsmöglichkeiten aufzeigen. Ich bleibe dabei: von DDE würde ich die Finger lassen.

        Freundliche Grüße

        Vinzenz