Autor Thema: Felder aus anderen Datenbanken abfragen  (Gelesen 14957 mal)

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Felder aus anderen Datenbanken abfragen
« am: 18.11.04 - 22:33:55 »
Hallo zusammen,

ich habe mal wieder Fragen:

Ich habe eine Datenbank, in welcher eine HardwareDokumentation liegt, eine zweite
in der Aufträge erstellt/bearbeitet/verwaltet werden.

Ich möchte nun einen neuen Auftrag erstellen. Dazu wähle ich z.b. den Hostnamen eines Systems aus ( die betreffenden Felder habe ich in beiden DB´s gleich benannt ( t_Seriennummer, t_Hostname).

Ich möchte gerne eine Dialogliste, welche mir als Inhalt sämtliche Hostnamen aus der DB der Hardwaredoku auflistet. Wählt man dann aus dieser Dialogliste einen Hostnamen aus, so füllt eine Funktion dann entsprechend einige andere Felder ( Seriennummer, Standortdaten)

Wie kann ich das realisieren? Welche Infos muß ich sonst noch liefern, damit mir jemand helfen kann?
Kopf hoch, es kann nicht immer regnen

Offline -Michael-

  • Aktives Mitglied
  • ***
  • Beiträge: 153
  • Geschlecht: Männlich
    • Software Guide
Re: Felder aus anderen Datenbanken abfragen
« Antwort #1 am: 18.11.04 - 22:40:10 »
Ich möchte gerne eine Dialogliste, welche mir als Inhalt sämtliche Hostnamen aus der DB der Hardwaredoku auflistet.
Geht über @DBColumn, siehe Designerhilfe.

Wählt man dann aus dieser Dialogliste einen Hostnamen aus, so füllt eine Funktion dann entsprechend einige andere Felder ( Seriennummer, Standortdaten)
Das kannst Du dann z.B. über @DBLookup bewerkstelligen, siehe auch Designerhilfe.

Schau Dir mal die beiden @Functions genau an, wenn Du dann nicht weiter kommst: poste Deine bisherige Umsetzung mit detaillierter Problembeschreibung, dann kann man sich das ansehen und entsprechend helfen.

Michael

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #2 am: 19.11.04 - 12:46:49 »
Hi @ll,

ich habe das Feld, in dem die Auswahl erscheinen soll, als Dialogliste definiert.
Dann habe  ich dort unter Vorgabewert die Formel eingetragen

@DbColumn("notes";"NoCache";"SERVERNAME";"ORDNER\UNTERORDNER\Datenbank.nsf";"Ansicht";Spalte")

Beim Testen in Notes bekomme ich immer den Fehler, daß die Datei nicht vorhanden ist.
Feld:'t_Bezeichnung':Datei nicht vorhanden
Kopf hoch, es kann nicht immer regnen

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #3 am: 19.11.04 - 12:54:55 »
Hi,

die Formel hat im Vorgabewert erstmal nichts zu suchen. Die gehört in die Auswahlformel. Die findest du im Eigenschafts-Dialog auf dem zweiten Reiter.

Zum zweiten glaube ich, dass einige deiner Parameter nicht stimmen. Z.B., dein Server heisst bestimmt nicht "Servername". Da musst du den Namen deines Servers eintragen.

Schau mal in die Designer-Hilfe, da wird alles gut beschrieben. Außerdem gibt es Beispiele.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #4 am: 19.11.04 - 12:56:49 »
Ausserdem würde ich mal die Syntax von @dbColumn checken - SO werden Server und Dateiname nicht angegeben.

Bernhard

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #5 am: 19.11.04 - 13:22:26 »
Hi,

das der Servername nicht " Servername" lautet, ist klar, wollte nur meine schreibweise bzw. interpretation des befehls erläutern...

Ich habe mal ein bischen herumprobiert und in der Designerhilfe geblättert, und habe die Formel nun wie folgt zurechtgelegt:

@DbColumn("";"";"serverdoku.nsf";AlignSheet";2).

Die Datenbank ist definitiv vorhanden, die Ansicht auch. nun bekomme ich immer die Fehlermeldung: Feld:'t_Bezeichnung':Eine Ansicht mit diesem Namen wurde in der angegebenen Datenbank nicht gefunden.

Wird auf Groß/kleinschreibung geachtet?
Wie werden denn ggfs. der Server und die Dateinamen und Ordner angegeben.
Möglicherweise stehe ich auf meinen Augen.....

Das das Feld, in dem die Serverbezeichnungen stehen sollen (ausgelesen aus der Spalte2 einer Ansicht in einer anderen DB) als Typ eine Dialogliste ist, ist doch korrekt, oder?

bin, wie man sicherlich merkt, ein ziemlicher rookie in sachen designing, sorry
Kopf hoch, es kann nicht immer regnen

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #6 am: 19.11.04 - 13:26:04 »
Hi,

auf den ersten Blick würde ich sagen, dass liegt an einem fehlenden Anführungszeichen vor dem Ansichtenname.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #7 am: 19.11.04 - 13:35:09 »
Ich hatte ja schon einmal auf die Syntax hingewiesen: Zwischen Servernamen und Dateinamen gehört kein Semikolon hin, sondern ein Doppelpunkt.

@Axel: Mit dem fehlenden Anführungszeichen hätte das der Designer gar nicht zur Speicherung zugelassen.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #8 am: 19.11.04 - 13:37:37 »
Bernhard,

stimmt. Dass mit dem Doppelpunkt hab ich dabei übersehen. Aber wie konnte er dann trotzdem speichern?


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #9 am: 24.11.04 - 13:21:15 »
Hallo,

ich habe grade mal zeit, wieder an dem Punkt anzufangen, und ich hoffe, ich stoße noch auf ein paar offene Ohren:

Ich habe nun folgendes gemacht:

""die Formel hat im Vorgabewert erstmal nichts zu suchen. Die gehört in die Auswahlformel. Die findest du im Eigenschafts-Dialog auf dem zweiten Reiter.""

Also handelt es sich nun um Feld vom Typ Dialogliste, Bearbeitbar.
Dann habe ich folgende formel genommen:

@DBColumn("";"":si-server.nsf";"AlignSheet";2)

Beim Testen erscheint dann aber im Popup der Dialogloiste noch immer der Fehler

Eine Ansicht mit diesem Namen wurde in der angegebenen Datenbank nicht gefunden

WAs ist nun zu tun.

Beide DB´s liegen auf demselben Server, im selben Unterverzeichnis, und die Ansicht gibt es auch. Sucht er da nach einem Alias für die Ansicht, oder nach dem Namen.
Dürfen evtl. Name und Alias nicht identisch sein?
Muß ich evtl. den kompletten Pfad zur DB angeben?
Kopf hoch, es kann nicht immer regnen

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #10 am: 24.11.04 - 13:40:14 »
Hi,

in deiner Formel fehlt zwischen dem Doppelpunkt und dem Datenbanknamen ein Anführungszeichen.

Die Formel muss so aussehen:

@DBColumn("";"":"si-server.nsf";"AlignSheet";2)


Sucht er da nach einem Alias für die Ansicht, oder nach dem Namen.
Dürfen evtl. Name und Alias nicht identisch sein?
Muß ich evtl. den kompletten Pfad zur DB angeben?

Es wird sowohl nach dem Namen alsauch nach dem Alias-Namen gesucht.
Name und Alias darf identisch sein.
Wenn die Datenbank in einem Unterverzeichnis zu Data liegt, dann musst du das Verzeichnis auch angeben.

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #11 am: 24.11.04 - 13:51:24 »
die Anführungszeichen hatte ich drin, leider
nimmt mir der Disgner immer wieder den Backslash
etc. aus der Formel.....

habe das so angegeben:

\Verzeichnis\unterverzeichnis\unterverzeichnis\si-server.nsf

sobald ich die formel mit dem haken bestätige, nimmt er die \ wieder raus.....
Kopf hoch, es kann nicht immer regnen

Offline Raymond

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • who notes?
    • Who Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #12 am: 24.11.04 - 14:18:34 »
Ersetzte die Backslash (\) durch Doppelbackslash, also

\\Verzeichnis\\unterverzeichnis\\unterverzeichnis\\si-server.nsf

Gruss - Ray
aktuelle Versionen:
Lotus Notes/Domino 7
Lotus Notes/Domino 8.5

dabei seit Lotus Notes 4.x

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #13 am: 24.11.04 - 14:32:53 »
@DbColumn("";"":"\\BEMS\\KUNDEN\\BWS\\si-server.nsf";"AlignSheet";2)

so sieht die formel jetzt aus, der pfad passt, die Ansicht AlignSheet gibts, und in
Spalte 2 steht das was ich will.

Was mach ich denn nun falsch, das er jetzt " Datei nich vorhanden" meldet?
Kopf hoch, es kann nicht immer regnen

Offline Raymond

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • who notes?
    • Who Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #14 am: 24.11.04 - 14:55:51 »
Die DB ist sicher auf dem lokalen Rechner und nicht auf einem Domino Server?

Falls lokal, versuch es mal so:

@DbColumn( "" : "NoCache" ; "" : "\\BEMS\\KUNDEN\\BWS\\si-server.nsf" ; "AlignSheet" ; 2 )



Gruss - Ray
aktuelle Versionen:
Lotus Notes/Domino 7
Lotus Notes/Domino 8.5

dabei seit Lotus Notes 4.x

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #15 am: 24.11.04 - 14:56:53 »
Hi,

wie es aussieht, sucht er die DB lokal. Du musst den Server eintragen.

@DbColumn("";"Name deines Servers":"\\BEMS\\KUNDEN\\BWS\\si-server.nsf";"AlignSheet";2)


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

klaussal

  • Gast
Re: Felder aus anderen Datenbanken abfragen
« Antwort #16 am: 24.11.04 - 15:06:35 »
So sieht das Beispiel in der Hilfe aus:

@DbColumn( Klasse : Cache ; Server : Datenbank ; Ansicht ; Spaltennummer )

Lösung:
@DbColumn( "" : "NoCache" ; "Servername" : "\\BEMS.....nsf" ; "AlignSheet" ; 2 )

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #17 am: 24.11.04 - 15:10:51 »
@DbColumn("";"Name deines Servers":"\\BEMS\\KUNDEN\\BWS\\si-server.nsf";"AlignSheet";2)

diese Formel hat funktioniert! danke!

nun muß ich nurnoch zusehen, daß ich, sobald in dem untenstehenden Feld ein Wert ausgewählt wurde, ein paar andere Felder, Quelle ist sie selbe DB/Ansicht, gefüllt werden.

Dieses geht mit DBLookup, richtig? jetzt lese ich schonmal in der Designerhilfe, aber vielleicht kann mir schon jemand zuvorkommen
Kopf hoch, es kann nicht immer regnen

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Felder aus anderen Datenbanken abfragen
« Antwort #18 am: 24.11.04 - 15:18:27 »
jetzt lese ich schonmal in der Designerhilfe, aber vielleicht kann mir schon jemand zuvorkommen

Du solltest dringend die Designer-Hilfe lesen. Das ganze Gedöns mit @dbColumn ist dort bestens beschrieben und mit etlichen Beispielen versehen. Gleiches gilt natürlich auch für @dbLookup.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Felder aus anderen Datenbanken abfragen
« Antwort #19 am: 24.11.04 - 15:24:33 »
Hi,

richtig, das geht mit @DbLookup. Allerdings ganz so problemlos wird das nicht gehen. Denn um das Dokument eindeutig zu identifizieren braucht du die ID des Dokumentes.

Folgender Ansatz hat sich bewährt:

Du baust dir eine Ansicht die als Auswahlansicht fungiert und in einer versteckten Spalte die benötigten Feldinhalte zusammengesetzt enthält (Spaltenformel FeldA + "~" + FeldB usw.)

In deiner Maske fügst du einen Hotspot ein. Dort ziegst du die Ansicht an und als Spalte gibst du die versteckte Spalte mit den zusammengebauten Feldinhalten an.

Beispielhafter Code:

FIELD Feld1 := Feld1;
FIELD Feld2 := Feld2;

value := @Picklist([Custom] : [Single] ; Server : Datei ; Ansicht ; Titel ; Eingabeaufforderung ; Spalte)

@SetField("Feld1"; @Word(value; "~"; 1));
@SetField("Feld2"; @Word(value; "~"; 2));

Ich hoffe du kommt mit der Kurzerklärung klar.

Axel





Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz