[GELÖST] VERWEIS() mit DDE() auf Externe Daten auf dem Server

Antwort erstellen


Um automatische Eingaben zu unterbinden, musst du die nachfolgende Aufgabe lösen.

BBCode ist eingeschaltet
[img] ist ausgeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [GELÖST] VERWEIS() mit DDE() auf Externe Daten auf dem Server

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Stephan » Di, 25.07.2017 09:41

Gibt es da einen Weg dies zu verhindern?
Nein. Zumindest kenne ich Keinen.


Gruß
Stephan

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von unic0rned » Di, 25.07.2017 09:16

Danke für die beiden Tipps.

Einer der beiden Wege wird auf jeden Fall für mich funktionieren.

Dazu eine kleine Frage die mich schon lange beschäftigt. Wenn ich einen DDE Link in Writer erstelle und diesen in Calc Verknüpfe funktioniert das gut. Solange ich Änderungen nur in der Mitte des Wortes vornehme bleibt das alles erhalten. Sobald ich aber zum Beispiel das erste oder letzte Zeichen lösche und danach eins davor füge, fällt dieses raus aus der DDE Verknüpfung. Gibt es da einen Weg dies zu verhindern?


@Stephan:

Ich habe nun rausgefunden, warum ich der Meinung war DDE würde manchmal macken haben ;)

Und zwar liegt es NATÜRLICH am Anwender der es nicht verstanden hat. Und zwar liegt in meinem sehr speziellen Fall ja noch ein "-" Bindestrich am Ende der Zahl vor. Dies ist also ein TEXT String und keine Zahl. DDE interpretiert das aber default mäßig als Zahl und macht aus "2404-" -> "-2404" und das findet er dann natürlich nicht mit SVERWEIS.

Es gibt aber bei DDE noch einen MODE Parameter. Den kann man am Ende setzen und der erlaubt es dann meinem DDE zu sagen dass als TEXT zu nehmen.
Dann lautet mein Befehl:

=SVERWEIS(C3;DDE("soffice";"/Users/steffi/Desktop/Quelltabelle.ods";"Tabelle1.C4:E6";2);3;0)

Die 2 hinter dem DDE Befehl ist entscheidend.

Code: Alles auswählen

mode is an optional parameter specifying how numbers are returned. Non-numeric text is returned unchanged.
0 or omitted: Data is converted to number if possible, using the default cell style
1: Data is converted to number if possible, in US English (en_US) format (for example with “.” as the decimal separator)
2: Data is always retrieved as text (not converted to number).

Nun klappt der DDE Befehl auch für mich einwandfrei :)

Ansonsten wäre es noch toll eine Lösung für die Verknüpfungsfrage zu haben. Dann wäre das glaube ich auch per DDE lösbar. Sonst schreibe ich mir ein Macro wo man auf einen Knopf klickt und dann halt dort die Nummer eingibt und das Macro durchläuft. Das geht auch.

Liebe Grüße

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Gast » Mo, 24.07.2017 15:54

Servus,

ist zwar etwas älter, sollte aber funktionieren. Ab Kapitel 3.
http://www.ooowiki.de/DDE.html

Gast

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Stephan » Mo, 24.07.2017 15:34

Und zwar möchte ich ja gerne den User innerhalb der Writer Datei die Adresslistennummer eingeben lassen. Wie übergebe ich dann diese Eingabe an die Calc Datei wo der SVERWEIS ausgeführt wird um ihn dann wieder zurück zu writer zu holen?
Ich weiß dafür leider keine Lösung, außer per Makro. Mit Makro könnte man dann aber auch gleich den Wert direkt aus Calc auslesen:
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig175

und in Writer an eine vorbereitete Textmarke eintragen:
http://www.dannenhoefer.de/faqstarbasic ... dText.html


Gruß
Stephan

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von unic0rned » Mo, 24.07.2017 14:01

Hallo Stephan,

danke für deine ganzen tollen Erläuterungen.

Ja da hast du natürlich Recht, dass es keinen Sinn macht andere Gründe vorzuschieben.

Ich stecke einfach nicht so tief in der Materie und das sind meine Vermutungeng.

Ich verwende einfach den file Bezug weil er gerade gut passt.

Die Idee mit dem DDE Link finde ich gut.

Allerdings ist mir eins noch nicht klar. Und zwar möchte ich ja gerne den User innerhalb der Writer Datei die Adresslistennummer eingeben lassen. Wie übergebe ich dann diese Eingabe an die Calc Datei wo der SVERWEIS ausgeführt wird um ihn dann wieder zurück zu writer zu holen?
Ein schnelle Test mit 2 DDE Befehlen hin und her hat leider nicht zum gewünschten Ergebniss geführt. Könnte auch an meiner fehlerhaften Implementierung liegen. Ist das der Weg den du gehen würdest?

Liebe Grüße

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Stephan » Mo, 24.07.2017 13:01

VERWEIS() hat mir falsche Ergebnisse geliefert bei meiner großen Tabelle.

Weil sie NICHT sortiert ist. Dort gibt es keine Option für nicht sortiert.

Deswegen müssen wir SVERWEIS() benutzen.

Leider ist meine Beispieltabelle nicht gut geeignet weil die Tabelle leider zufällig sortiert ist. Dummer Fehler von mir.
Nicht DEin Beispiel ist ungünstig sondern Du denkst verquer. WENN Du SVWEIS() wegen der Sortierung (und nicht wegen des #NV, was ja auch bei sortierten Daten+DDE kommt) verwenden musstest wusstest Du das doch vorher und es bestünde garkein Grund zur Begeisteung weil ich erst später überhaupt SVERWEIS() nannte (aus anderen Gründen, nämlich wegen des DDE)
DDE hat zu häufig Macken.
Ich keine keine dieser 'Macken' und muss leider sagen ich finde es ungünstig solche Dinge vorzuschieben statt einfach zu sagen das Du die file-Verknüpfung benutzen willst, wogegen aus meiner Sicht überhaupt nichts spricht.
Datenbanken etc habe ich alles schon durchgekaut das geht leider alles nicht weil die Tabellen zu groß sind.
Auch ein mir unklarer Punkt, denn eigentlich ist es genau umgekehrt, nämlich eher verträgt eine Datenbanklösung mehr Daten als eine Calc-Lösung.
Etwas konkreter sehe ich aber für Beides keine nennenswerte Grenze, sondern erwarte Probleme höchstens oberhalb einiger zehntausend Datensätze.
Hast du eine einfache Lösung für Writer Stephan?
WEnn die DAten in einer Calc-Datei sind kannst Du die Ergebniszelle (die wo die SVERWEIS()-Formel drinsdteht doch per DDE-FEldbefehl in die Writer-Datei (bzw. auch gleich in die Dokumentvorlage) verlinken (Einfügen-FEldbefehl-Andere-Variablen-DDE-Feld).


Gruß
Stephan

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von unic0rned » Mo, 24.07.2017 11:56

VERWEIS() hat mir falsche Ergebnisse geliefert bei meiner großen Tabelle.

Weil sie NICHT sortiert ist. Dort gibt es keine Option für nicht sortiert.

Deswegen müssen wir SVERWEIS() benutzen.

Leider ist meine Beispieltabelle nicht gut geeignet weil die Tabelle leider zufällig sortiert ist. Dummer Fehler von mir.

Mit einer unsortierten geht es besser mit SVERWEIS() und dazu ist der file Verweis viel konstanter für mich. DDE hat zu häufig Macken.

Danke für all die tollen Ratschläge.

Hast du eine einfache Lösung für Writer Stephan?

Mein Ansatz wäre jetzt ein Makro gewesen oder so.

Es geht darum den Adressbereich eines Briefformulars mit Inhalten aus der Adressliste zu füllen.

(Datenbanken etc habe ich alles schon durchgekaut das geht leider alles nicht weil die Tabellen zu groß sind.)

Also möchte ich SVERWEIS() innerhalb von Writer verwenden.

Der Nutzer trägt irgendwo die Adresslistenzahl ein und den Rest macht der Computer.

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Stephan » Mo, 24.07.2017 11:50

Da muss am Ende noch eine 0 hinter deinen Ausdruck Stephan
ich hatte meine Formel nur mit Deiner Beispieldatei getestet und die war zufällig sortiert.
Ich benutze jetzt folgenden Befehl:

=SVERWEIS("2404-";'file:///Users/steffi/Desktop/Quelltabelle.ods'#$Tabelle1.C4:E6;3;0)
Und WOZU? Mit einer file-Verknüpfung geht es auch mir VERWEIS(), das ist sogar in Deiner Beispieldatei drin. Ich denke wir reden die ganze Zeit darüber es, warum auch immer, mit DDEE() lösen zu wollen?


Gruß
Stephan

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von unic0rned » Mo, 24.07.2017 11:44

Tatsächlich ist es vor allem auch wichtig, den letzten Parameter nicht zu vergessen!

Da muss am Ende noch eine 0 hinter deinen Ausdruck Stephan, sonst geht er davon aus, die Tabelle ist sortiert. Das ist bei meiner echten nicht der Fall. Also fürs Archiv wenn jemand nochmal das Problem hat.

=SVERWEIS(C3;DDE("soffice";"/Users/steffi/Desktop/Quelltabelle.ods";"Tabelle1.C4:E6");3;0)


Ich benutze jetzt folgenden Befehl:

=SVERWEIS("2404-";'file:///Users/steffi/Desktop/Quelltabelle.ods'#$Tabelle1.C4:E6;3;0)


Der liefert mir konstant das richtige Ergebnis.

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von unic0rned » Mo, 24.07.2017 11:37

Die Formel von Ihm kommt aus meinem geschriebenen Text ;)

Da habe ich meine ECHTE Tabelle beschrieben.

Dort möchte ich in Spalte T den Ergebnisvektor haben und in Spalte C den Suchvektor.

Die Dateibezüge habe ich selber angepasst.

Ich erhalte mit dem direkten file:/// Bezug bessere Ergebnisse als mit dem DDE(). Gibt es da Unterschiede welches ich lieber benutzen sollte?

Jedenfalls funktioniert das jetzt so.

Wie sieht es mit Writer aus? Da ist ja immer alles anders :D

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Stephan » Mo, 24.07.2017 11:30

Gast hat geschrieben:
Mo, 24.07.2017 11:09
Servus,

dann würde das funktionieren.
=SVERWEIS(WERT(C3);DDE("soffice";"/home/linuxmint/Dokumente/Quelltabelle.ods";"Tabelle1.C4:T6");18;0)
Die Werte sind in Spalte T.

Gast
ich verstehe nicht wo diese Formel jetzt herkommt.

Analog zu der genannten Formel:

VERWEIS(C3;DDE("soffice";"/Users/steffi/Desktop/Quelltabelle.ods";"Tabelle1.C4:C6");DDE("soffice";"/Users/steffi/Desktop/Quelltabelle.ods";"Tabelle1.E4:E6"))

hieße die SVERWEIS()-Formel jedenfalls:

=SVERWEIS(C3;DDE("soffice";"/Users/steffi/Desktop/Quelltabelle.ods";"Tabelle1.C4:E6");3)


Gruß
Stephan

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von unic0rned » Mo, 24.07.2017 11:27

Hallo,

ja du hast völlig Recht. So funktioniert es. Ich wusste nicht, dass man SVERWEIS auch auf die 3. Spalte anwenden kann. Dachte die Funktion nimmt immer Spalte A. Aber so funktioniert es einwandfrei. Selbst wenn ich das WERT() weglasse.

Nun habe ich einen perfekt funktionierenden SVERWEIS() für alle unsere Calc Formulare. Das ist schonmal wirklich toll. Da sitze ich seit 8 Monaten dran.

Das Sahnehäubchen wäre jetzt, wenn das ganze auch für unser Briefformular funktioniert.

Ich habe es schon hinbekommen mit einer OLE Tabelle aber das finde ich nicht so schön. (Oder kann die OLE Tabelle auf normale Writertabellen zugreifen oder auf Variablen?)

Ich möchte gerne den User an einer Stelle die Adresslistennummer eintragen lassen und dann den SVERWEIS Befehl damit ausführen lassen. Am liebsten nicht in der OLE Tabelle. Weil es dort so unschön ist da reinzuklicken.

Gibt es da einen einfachen Weg oder muss ich da ein Macro schreiben?

Vielen Dank!!!!!

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Gast » Mo, 24.07.2017 11:09

Servus,

dann würde das funktionieren.
=SVERWEIS(WERT(C3);DDE("soffice";"/home/linuxmint/Dokumente/Quelltabelle.ods";"Tabelle1.C4:T6");18;0)
Die Werte sind in Spalte T.

Gast

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Stephan » Mo, 24.07.2017 11:05

Hast du eine Lösung für mein Problem?
verwende SVERWEIS() statt VERWEIS().


Gruß
Stephan

Re: VERWEIS() mit DDE() auf Externe Daten auf dem Server

von Gast » Mo, 24.07.2017 10:41

Servus,

sind die gesuchten Werte in T, in der gleichen Zeile wie die Spalte C?

Gast

Nach oben