Autor Thema: Mehrere Feldinhalte aus anderer DB übernehmen - Bitte um Tipps -  (Gelesen 2074 mal)

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Hallo liebe ATNotesler,

bevor ihr alle nach Kulmbach abhaut, bitte ich kurz um ein paar Tipps:

Ich muss in einer Maske in Datenbank A einen Mitarbeiter aus Datenbank B auswählen, und dann aus Datenbank B einige weiter Infos zu diesem Mitarbeiter nach Datenbank A übergeben. Im Moment ist Formelsprache dabei angedacht.

Ich hab mir gedacht, dass ich mit Picklist auf eine bestimmte Ansicht in Datenbank B gehe, dort den entsprechenden Mitarbeiter auswähle, und mir dabei den eindeutigen Inhalt der ersten Spalte hole.

In einem (mehreren) Folgeschritten hole ich mir dann mit @dblookup die gewünschten Feldinhalte und verwende dabei einfach die gleiche Ansicht.

Nur sind dies halt 6 Felder, d.h. ich müsste 6mal einen DBlookup machen, da ich da ja immer nur ein Feld holen kann (oder?). Wenn ich das recht verstanden habe, dann kann ich dblookup so einstellen, dass ich die Abfrage im Cache behalte, die folgenden Abfragen also schneller gehen.

Aber ist das die sinnvolle Vorgehensweise? Gibt es einen Weg, die 6 Felder auf einmal abzufragen?

Ich wäre dankbar für ein paar Tipps.
« Letzte Änderung: 05.11.09 - 20:37:04 von iukhdh »
Thomas von der IuK

Driri

  • Gast
Das wäre nicht gut für die Performance. Besser wäre es, wenn Du in die Ansicht in Datenbank B eine Spalte anhängst, in der die benötigten Werte mit Trennzeichen verkettet als ein String enthalten sind.

Dann läßt Du dir das als Ergebnis der Picklist zurückliefern und nimmst es mit @Word auseinander.

Als Beispiel :

Spalte 3 = Name+"~~"+Vorname+"~~"+Mailadresse

@Word(<Spalte3>; "~~"; 1) liefert dann den Namen zurück,
@Word(<Spalte3>; "~~"; 2) liefert dann den Nachnamen zurück,
etc.

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Ja den gibt es, wenn du die Ansicht für deinen Lookup so aufbaust, das du in dem zurückgegebenen Feld alle von dir benötigen Werte drin hast.
Fld1 + "~" + Fld2 + "~" + .......
und dann in deinem Aufruf mit @Word auf den zurückgegebenen Wert zugreifst. Das ist eine uralte Technik.
Wenn eines deiner Felder die du übergeben willst mehrfachwerte enthält, dann musst du die halt erst mit @implode zusammensetzen und anschließend mit @explode wieder auseinandernehmen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Hallo,

Danke für die ersten Tipps.

Meine Güte, manchmal steht man doch echt aufm Schlauch.

Mein Problem ist, das Datenbank B eine von einem Fremdanbieter ist, in der ich nicht rumändern möchte. Aber aufgrund eurer Hinweise bin ich nun mal die Datenbankfelder durchgegangen und habe doch tatsächlich ein verstecktes Feld gefunden, in dem alle Feldinhalte mehr oder weniger so aufbereitet sind.

Ich denk damit komme ich zurande.

Aber nochmals ergänzend:

Es gibt keine Art dblookup, mit dem ich mehrere Felder in einem Vorgang auf einmal abfragen kann?
Thomas von der IuK

Offline Gerd2610

  • Frischling
  • *
  • Beiträge: 2
nein, diesen gibt es nicht... kannst Dir höchstens über script das Dokument holen und dann die Felder abgreifen... aber nicht in Formel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz