Domino 9 und frühere Versionen > ND6: Entwicklung

Fehler "too many arguments" - bei DbColumn

(1/7) > >>

theBastian:
Guten Morgen,

schwitze noch immer an der bereits genannten DB (siehe unten) und bin jetzt dabei eine Rechnungs-Maske zu erstellen.

Die Rechnung soll einem bestimmten Projekt zugeordnet werden. Dieses wird vom User per Dialogliste ausgewählt. Danach muss ein Bestandteil (von 9 möglichen) dieses Projektes ausgewählt werden (auch Dialogliste). Natürlich soll der User nur die Bestandteile des soeben ausgewählten Projektes in der Dialogliste sehen. Dazu habe ich eine versteckte Ansicht gebaut, in der das Projekt und alle Bestandteile in je einer Spalte stehen.

Mit der folgenden Formel will ich die Bestandteile auslesen:
 
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil1):
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil2):
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil4);
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil5):
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil6):
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil7):
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil8):
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil9)

Dabei ist "Projekt" das Feld (in der Rechnungs-Maske) welches das soeben ausgewählte Projekt enthält. Die Spalte Projekt ist sortiert.

Will ich dann die Dialogliste Bestandteile aufrufen, öffnet sich das Fenster aber anstatt der Bestandteile steht da:

Too many arguments for database function

Und dabei habe ich in der Formel eine Prüfung, ob der Bestandteil leer ist, noch garnicht eingebaut. Hat jemand eine Idee, wie ich diesen Fehler beheben oder umgehen kann)

cu
Sebastian

brixxton:
holla,

ich glaube ich habe denn fehler denn du machst.

@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;Bestandteil1):

versuch hiermit:

@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;1):

das wo du "Bestandteil1", "Bestandteil2" usw. mach nur spaltennummer 1 , 2 usw.

und noch ein guter tip benutze temporere variable z.B.

tmp10:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;1);
tmp20:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;2);

usw.

dann die variablen als liste sätzen

tmp10:tmp20:usw.

mfg

brixxton

theBastian:

Danke für Deine schnelle Antwort. Hatte auch schon Spaltennummern probiert aber ohne Erfolg. Jetzt habe ich die Variablengeschichte umgesetzt:

tmp10:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;1);
tmp20:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;2);
tmp30:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;3);
tmp40:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;4);
tmp50:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;5);
tmp60:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;6);
tmp70:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;7);
tmp80:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;8);
tmp90:=@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;9);
tmp10:tmp20:tmp30:tmp40:tmp50:tmp60:tmp70:tmp80:tmp90

Leider mit dem gleichen Fehler. Das war es also nicht.

klaussal:
aus der hilfe:
@DbColumn( Klasse : Cache; Server  : Datenbank  ; Ansicht  ; SpaltenNr )

deine formel:
@DbColumn("":"NoCache";"":"";"(Bestandteile)";Projekt;1);

da ist wohl ein parameter zuviel drinne...  ;D

brixxton:
jetzt weis ich.
der fehler ist da drin das du mit @DBLookup arbeiten willst und momentan @DBColumn benutzt, des wegen schribt  der notes zuviel argumente weil du ein key in @DBColumn benutzt und das Funktioniert nicht.

so muss DBColumn aussehen:

@DbColumn("":"NoCache";"":"";"(Bestandteile)";1);
aus der hilfe:
@DbColumn( class : cache ; server : database ; view ; columnNumber )

so muss DBLookup aussehen:
@DbLookup("":"NoCache";"":"";"(Bestandteile)";Projekt;1);
aus der hilfe:
@DbLookup( class : cache ; server : database ; view ; key ; fieldName ; keywords ) or
@DbLookup( class : cache ; server : database ; view ; key ; columnNumber ; keywords)

wo bei  keywords optional ist also muss du es nicht benutzen.

MfG

brixxton

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln