Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Silent_Bob am 13.10.05 - 11:36:50

Titel: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Silent_Bob am 13.10.05 - 11:36:50
Guten Morgen,

es ist mir zwar peinlich, aber ich bekomms grad nicht hin, eine Ansicht mittels @DbLookup auszuwählen und nach bestimmten Feldwerten zu Filtern.

Innerhalb meiner Maske "artikel" möchte ich eine Ansicht (Ansichtsname "ps") einbetten, die nur die Dokumente anzeigt, in denen die Artikelnummer gleich der Artikelnummer der Maske ist, in der ich mich gerade befinde.
Das Artikelnummernfeld der Maske "artikel" heisst einfach "artnr", das Feld mit dem gleichen Wert in der Ansicht "ps" heisst "psart".

Und jetzt komme ich schon nicht weiter...

@DbLookup("":"NoCache";"":"artzusatz.nsf";"ps")

sollte mir doch schonmal wenigstens die ungefilterte Ansicht anzeigen, oder nicht?
Aber das funktioniert schon nicht. *heul*
Wo liegt da jetzt der Fehler?
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: diali am 13.10.05 - 11:40:32
da fehlt noch der Schlüssel und der Feldname oder die Spaltennummer für den Rückgabewert
@DbLookup("":"NoCache";"":"artzusatz.nsf";"ps")
Liegt die DB auch Lokal oder auf dem Server?
@DbLookup( Klasse : Cache ; Server : Datenbank ; Ansicht ; Schlüssel ; Feldname|Spaltennummer ; Schlüsselwörter )
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Driri am 13.10.05 - 11:42:41
So ganz verstanden habe ichs noch nicht.

Willst Du das Feld Artikelnummer in der Maske als Dropdown haben und dort per Formel die Auswahl an Artikelnummern anbieten ?
Und auf Basis der gewählten Artikelnummer dann in einer Embedded View nur die entsprechende Kategorie anzeigen ?

Erstmal ist die Syntax für DBLookup falsch, da fehlt ein Parameter. Mit DBColumn wäre dir für eine Feldauswahl allerdings eh besser geholfen.
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Silent_Bob am 13.10.05 - 12:03:38
Also die DB liegt lokal.

Was ich vorhabe ist, das in der Maske "Artikel", in der eingebetteten Ansicht einfach nur die Datensätze angezeigt werden, die zu dem Artikel gehören, die in der Ansicht "ps" stehen.
Habe ich also Artikel Nr. 1000 geöffnet, sollen in der eingebetteten Ansicht nur alle Dokumente angezeigt werden, die auch die Artikelnummern "1000" haben.

Aber auch mit DbColumn habe ich so meine Probleme.

Laut Hilfe sieht die Syntax so aus:

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

Meine Auswahlsyntax sieht demnach jetzt so aus:
@DbColumn("":"NoCache";"":"artzusatz.nsf";"ps";1 )

Klappt wieder nicht...
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: mibo11 am 13.10.05 - 12:28:48
So wird das auch nie was werden.  :'(

Bei deiner eingebetteten Ansicht gibt es eine Option Einzelne Kategorie anzeigen. Wenn du dort einfach nur den Namen deines Feldes einträgst, dann sollte das, sofern die eingebettete Ansicht kategorisiert ist, funktionieren.

Gruß Sascha
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Driri am 13.10.05 - 12:56:49
Jo, ich glaub wir haben da aneinander vorbei geredet. @DBColum/@DBLookup hatte ich nur als Formel für das Feld gesehen.

Die Auswahl in der Embedded View steuerst Du so, wie Sascha das beschrieben hat.
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Silent_Bob am 13.10.05 - 13:14:15
So, habe den DBLookup und DBColumn Kram mal bei Seite gelassen und einfach manuell eine eingebettete Ansicht eingefügt.

Jetzt werden mir für den Artikel in der eingebetteten Ansicht alle Datensätze angezeigt.

Wie mache ich der Maske jetzt klar, dass dort nur die Datensätze angezeigt werden sollen, deren Artikelnummer mit den Dokumenten mit der gleichen Artikelnummer in der Ansicht übereinstimmen? mit "einzelne Kategorie anzeigen beokmme ich die Fehlermeldung:

"Die Kategorie muss eine einzelne Zeichenkette sein"

In der Eigenschaft "einzelne Kategorie anzeigen" müsste ja jetzt eine Auswahl rein, dass nur das angezeigt wird, was im feld (maske:artikel) artnr mit dem feld (maske:ps) psart übereinstimmt.

Wie sieht diese Prüfung dann aus?

@If(
artnr=psart;artnr;"")

klappt jedenfalls nicht
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Driri am 13.10.05 - 13:18:10
Nein, einfach nur den Feldnamen der Maske eintragen.
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Axel am 13.10.05 - 13:18:42
Hi,

Sascha hat es drei Postings weiter oben schon geschrieben wie's geht.

Unter "Einzelne Kategorie anzeigen" trägst du den Feldnamen ein, der für die "Filterung" der Ansicht verantwortlich ist.

Ich denke mal in deinem Fall einfach Artikel. Die Ansicht selbst muss natürlich in der ersten Spalte nach der Artikelnummer kategorisiert sein.


Axel
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Silent_Bob am 13.10.05 - 13:32:14
Hallo,

die Ansicht ist entsprechend Kategorisiert. Das Problem lag darin, das die Felder keine Textfelder, sondern Zahlenfelder waren. Da hat das nicht funktioniert.
Habe die Felder jetzt in Textfelder umgewandelt und neu berechnet, und jetzt geht es. Blöd nur, dass die Artikelnummern in der Hauptansicht nicht mehr numerisch, sondern alphanumerisch sortiert sind.

Kann man so eine Ansichtsauswahl nicht auch realisieren, wenn man anhand von Zahlenfeldern selektieren möchte?

Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Axel am 13.10.05 - 13:36:46
Hi,

versuch's mal mit @Text(Artikel) in der Option "Einzelne Kategorie anzeigen" und mach dein Artikel-Feld wieder zu einem nummerischen FEld.


Axel
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: mibo11 am 13.10.05 - 13:49:24
versuch's mal mit @Text(Artikel) in der Option "Einzelne Kategorie anzeigen" und mach dein Artikel-Feld wieder zu einem nummerischen FEld.

Hallo Axel,

es würde mich wundern, wenn das klappen sollte, dann versuchst du doch mit einem Textstring gegen eine Zahl zu laufen.

Ich würde in einem solchen Fall immer eine versteckte Ansicht für die Einbettung erstellen (1. Spalte Text) und eine Benutzeransicht, wo du dann die 1. Spalte mit @TextToNumber formatieren kannst.

Gruß Sascha
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Axel am 13.10.05 - 14:00:40
[es würde mich wundern, wenn das klappen sollte, dann versuchst du doch mit einem Textstring gegen eine Zahl zu laufen.

Ups. Peinlich. Natürlich hast du recht. In der ersten Spalte der eingebetteten Ansicht muß natürlich auch ein @Text rein.


Ich würde in einem solchen Fall immer eine versteckte Ansicht für die Einbettung erstellen (1. Spalte Text) und eine Benutzeransicht, wo du dann die 1. Spalte mit @TextToNumber formatieren kannst.

Mach ich in der Regel auch. Nur mit @TextToNumber kommst du hier nicht weit. Muß doch ein Text sein, also @Text. Oder?

Axel
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Silent_Bob am 13.10.05 - 14:17:49
Hallo Leute,

ich mache das jetzt auch mit einem versteckten Feld, dass die numerische Artikelnummer als Vorgabewert hat und dann als Zahl abspeichert.

Danke
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: mibo11 am 13.10.05 - 14:27:01
Mach ich in der Regel auch. Nur mit @TextToNumber kommst du hier nicht weit. Muß doch ein Text sein, also @Text. Oder?

Ich meinte, eine programmtechnische Ansicht mit erster Spalte Textwerte für die eingebettete Ansicht und @TextToNumber in der ersten Spalte der Benutzeransicht, damit die Benutzer Ihre Sortierung erhalten.

Gruß Sascha
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: Axel am 13.10.05 - 14:33:51
Hi

Achso, du bist von einem Textfeld für die Artikelnummer ausgegangen. Ich habe andersrum gedacht und als Artikelfeld ein nummerisches Feld genommen. So war ja auch die Ausgangssituation von Silent_Bob.


Axel
Titel: Re: komme mit nem einfachen dblookup nicht zurecht
Beitrag von: mibo11 am 13.10.05 - 14:35:05
Stimmt ..  ;)