Autor Thema: DBColumn Zugriff auf andere Datenbank Notation Servername und Datenbankpfad  (Gelesen 4170 mal)

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
Hallo Forum,

folgendes Problem:

Habe innerhalb eine Maske eine Schaltfläche mit deren Hilfe ich über DBColumn und dann später über DBlookup Daten aus einer Ansicht in die Felder der Maske übertragen möchte. Dies habe ich innerhalb einer einzigen Datenbank auch hinbekommen.
Nun muß ich Daten aus einer anderen Datenbank (vom gleichen Server holen).
Ich habe natürlich die Designer Hilfe studiert und auch die diversen Beiträge in diesem Forum ausprobiert. Aber es klappt immer noch nicht.


Hier die beiden Zeilen die schon nicht funktionieren.

parts:=@DbColumn("Notes" : "NoCache";"servername/firma/de" : "MATERIAL.NSF";"Ansicht";"1");
selpart:=@Prompt([OkCancelList];"Auswahl";"Bitte wählen Sie Adresse aus dem Bestand";"";parts);


Folgendes noch als Hintergrund:

Die Datenbank aus der ich die andere Datenbank aufrufe liegt in einem weiteren Verzeichnis im data Pfad des Servers:

also:    firma\datenbank.nsf
die Datenbank auf die ich zugreifen will liegt (eigentlich im gleichen Verzeichnis) aber ich habe diese schon in das data Verzeichnis umkopiert so das sie jetzt direkt erreichbar sein sollte (um mir Pfadangaben bei der Datenbank zu ersparen)

Das Serverbetriebssystem ist Linux (vielleicht spielt das ja eine Rolle)

Wenn ich im Designer auf die Datenbank zugreife steht dort als Pfad:
\\servername/firma/de\firma\datenbank.nsf  (Datenbank mit der Lotus Formel)

und die Datenbank aus der ich die Daten holen will:
\\servername/firma/de\material.nsf

Aktuell mit dem oben genannten Formel-Code  passiert folgendes: Die Schaltfläche blitzt kurz auf und es passiert gar nix.

Ich habe bereits mit folgenden Schreibweisen gearbeitet:

Replik-ID verwendet statt Servernamen und Datenbanknamen
Doppelschrägstriche verwendet.. Schrägstriche auch mal anderes herum..

Vielleicht kann ja jemand Licht ins Dunkel bringen.

Viele Grüße Detlef

Offline Floink

  • Frischling
  • *
  • Beiträge: 35
  • Geschlecht: Männlich
Hallo

wenn es dir um die erste Spalte und nicht um die Spalte mit namen 1 geht, musst du die 1 am ende ohne Anführungszeichen schreiben:

parts:=@DbColumn("Notes" : "NoCache";"servername/firma/de" : "MATERIAL.NSF";"Ansicht";1);
« Letzte Änderung: 02.03.11 - 09:38:43 von Floink »

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
Leider klappt es auch mit der Änderung dann nicht.

Was sehr komisch ist und ich nicht verstehe, das der Designer am Ende der Formel immer ein @true einfügt... Kann das was mit der Problematik zu tuen haben.

Hier geändert Code.. Falls ich noch irgendwo Tomaten auf den Augen haben sollte..

parts:=@DbColumn("Notes" : "NoCache";"servername/firma/de" : "MATERIAL.NSF";"xxx";1);
selpart:=@Prompt([OkCancelList];"Auswahl";"Bitte wählen Sie Adresse aus dem Bestand";"";parts);
@True

 :'( Viele Grüsse Detlef

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Was gibt deine Funktion/ Aktion denn zurück?

Kannste mal den kompletten Code posten?
« Letzte Änderung: 02.03.11 - 11:54:09 von oxyd21 »

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Und die Formel ist in einem Button in einem Form im "Click" Event?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
HIer ist der Code wie er später mal werden soll... [ich weiss das ich dort den Servernamen noch unterbringen muss (ludb) Aber soweit bin ich ja noch nicht..

lutype:="Notes":"NoCache";
ludb:=material.nsf;
luview:="Artikel";
ptcol:=1;
parts:=@DbColumn(lutype;ludb;luview;ptcol);
selpart:=@Prompt([OkCancelList];"Auswahl";"Bitte wählen Sie den Artikel aus dem Bestand";"";parts);
artikelbez:=5;
selartikelbez:=@DbLookup(lutype;ludb;luview;selpart;artikelbez);
preis:=8;
selpreis:=@DbLookup(lutype;ludb;luview;selpart;preis);
FIELD RechnungFakt_1:=@Trim(RechnungFakt_1:artikelbez);
FIELD RechnungsWert_1:=@Trim(RechnungWert_1:selpreis);
@Command([ViewRefreshFields])

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
ach ich vergaß..
ja, es ist innerhalb einer Maske eine Schaltfläche : Click

Offline Pyewacket

  • Senior Mitglied
  • ****
  • Beiträge: 310
  • Geschlecht: Männlich
ludb:=material.nsf;

Sollte das nicht

ludb:="material.nsf";

heissen?
ATOS.org - Feel the music!

Driri

  • Gast
Ich weiß, Du hast schon geschrieben, daß da der Servername noch fehlt. Aber ohne den Servernamen wird das ganze Konstrukt nur funktionieren, wenn die Datenbank lokal bei Dir im Data-Verzeichnis liegt. Also mußt Du den auf jeden Fall auch noch ergänzen, um überhaupt zu einem Ergebnis kommen zu können.

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
Hallo ingo..

habe mir mal eine lokale Replik erstellt.. den Code geändert.

lutype:="Notes":"NoCache";
ludb:="material.nsf";
luview:="xxx";
ptcol:=1;
parts:=@DbColumn(lutype;ludb;luview;ptcol);
selpart:=@Prompt([OkCancelList];"Auswahl";"Bitte wählen Sie den Artikel aus dem Bestand";"";parts);
artikelbez:=5;
selartikelbez:=@DbLookup(lutype;ludb;luview;selpart;artikelbez);
preis:=8;
selpreis:=@DbLookup(lutype;ludb;luview;selpart;preis);
FIELD RechnungFakt_1:=@Trim(RechnungFakt_1:artikelbez);
FIELD RechnungsWert_1:=@Trim(RechnungWert_1:selpreis);
@Command([ViewRefreshFields])

Jetzt bekomme ich die Meldung Datenbank nicht gefunden - Server wählen...

 ???

Grüsse Detlef

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
aus der Hilfe

Zitat
To perform a lookup on a local database, use "" for the server name and specify the database name explicitly, such as "":"DATABASE.NSF."

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... gib für deine luDB auch den Server mit an - es muß ein Array sein:

Zitat
ludb:= "" : "material.nsf";

... für lokal
Grüßle Toni :)

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
maxima mea culpa

Es lag an der Ansicht.  Die Spalten waren nicht als "allgemein" sondern als Zahl definiert.

Hier noch mal zum Abschluß der Code der funktioniert.


lutype:="Notes":"NoCache";
ludb:= "servername/firma/de" : "material.nsf";
luview:="xxx";
ptcol:=1;
parts:=@DbColumn(lutype;ludb;luview;ptcol);
@Prompt([OkCancelList];"Auswahl";  "Bitte waehlen Sie den Artikel aus dem Bestand";"";parts);

.....


Vielen Dank für Eure Tipps.. die mir letztlich doch die Augen geöffnet haben

Viele Grüße Detlef

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz