Autor Thema: View und @dblookup  (Gelesen 1870 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
View und @dblookup
« am: 23.06.06 - 12:59:59 »
Hallo zusammen,

ich glaube ich stosse gerade an meine Grenzen mit den @functions.

Ich schreibe gerade an einer Anwendung, die mir je nach Rang den ich besitze, dinge zeigt auf die ich zurückgreifen kann. Im konkreten Fall bin ich zum Beispiel ein Trainee mit dem Rang 5,dem untersten Rang. Mit dem Rang 5 werden mir nur AUtos angezeigt, die ebenfalls den Rang 5 haben.
Soweit so gut. Das geht auch alles, ich habe eine zuweisung gemacht welche Autos welchen Rang haben und ein Zuweisung gemacht, welche Personen welchen Rang haben. Lasse beides Auslesen durch nen @dblookup.

Bei dem untersten Rang funktioniert das auch,aber!! wie mache ich es, dass einer mit Rang 30 zum Beispiel alle Autos bis zum Rang 30 auswählen kann?

Greets Robert (Newbie seit 3 wochen)
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: View und @dblookup
« Antwort #1 am: 23.06.06 - 13:39:07 »
mit einer @For Schlaufe.
Äquidistanz zwischen den Rängen vorausgesetzt sollte das funktionieren:
(Ohne Gewähr)

Code

currentRang:= 30;
@for(rang:=5;rang<=currentRang;rang:=rang+1;
_T:=@dblookup("":"";@dbname;"view";rang);
_liste:=_liste:@if(@iserror(_T);@nothing;_T)
)
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: View und @dblookup
« Antwort #2 am: 23.06.06 - 14:11:08 »
hmmm ... würde gehen, aber ich halte diese Variante für zu Performancelastig, weil er bei jeder Schleife nen DBlookup macht. Wenn das mal ne Webanwendung wird bricht der Server einfach zusammen, aber ich bedanke mich doch recht herzlich
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

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
Re: View und @dblookup
« Antwort #3 am: 23.06.06 - 14:49:15 »
Ich würde das mit einer Designänderung lösen. Speichere bei den Autos in einem Multivalue-Feld ALLE gültigen Ränge ab ("1,2,3,..,28,39,30" z.B.). In der Lookup-View sortierst Du nach dem Rang und presto - ein netter, flotter Lookup.
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 bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: View und @dblookup
« Antwort #4 am: 23.06.06 - 15:36:55 »
ja so ist es auch nun umgesetzt worden, aber nun kommt eine weitere Herausforderung.


Ich willl nicht dass ich alles selber eintippen muss. Ich habe das nun so angedacht, dass ich in ein Feld den maximal Rang angebe und er die höheren alle automatisch in einsetzt. aber leider kann ich es nicht umsetzten, weil die Hilfe einen solchen Fall unter"working with list " nicht vorsieht und ich auch kein Befehl finde der dies unterstützt.

Es sollte über ne >= Entscheidung laufen, aber wenn ich das mit ner einfachen @if-Anweisung mache ist es statisch.

Ich bin schon soweit, dass ich mir über nen DBcolumn die bestehenden Klasse hole, somit setzte ich immer nur die Klassen ein, die es auch wirklich gibt und meine View wird nicht unnützlang. Aber ich weiss nicht wie ich ihm sage, dass er zum Beispiel erst bei Rang 10 Anfangen soll, wenn 10 jetzt der Rang ist den ich angeben habe.Ich hoffe ihr versteht mich und ich bedanke mich schon im Vorfeld für die Hilfe
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: View und @dblookup
« Antwort #5 am: 23.06.06 - 15:43:50 »
Hallo Robert,

das ist aber nun die Stelle, in der Du mit @For arbeiten kannst (oder in diesem Fall eleganter mit LS im QuerySave). Du müsstest entweder den höchstmöglichen Grad hard coden, oder aus einem Konfig-Dok auslesen und dann vom aktuellen Grad die Liste bis ganz nach oben bilden.

Bernhard

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: View und @dblookup
« Antwort #6 am: 23.06.06 - 16:38:46 »
Jap habe ich so umgesetzt. Hatte erst einen Befehl geschrieben der mir den gesamten möglcihen Speicher voll gehauen hat, aber nachdem ich ein @elements eingenunden habe war der Fall aus der Welt.

Ich bedanke mich für die Hilfe.


Robert
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: View und @dblookup
« Antwort #7 am: 23.06.06 - 16:44:05 »
Kannst Du der bestimmt dankbaren Nachwelt, die bestimmt auch mal auf solch ein Problem stossen wird (und trivial ist das ja nun gerade nicht!), hier ein wenig Code hinterlassen (keine fertige Lösung, sondern Deinen Ansatz) ?

Bernhard

PS: Ich denke mal einen Schritt weiter (aus leidiger Erfahrung) - was machst Du, wenn zu einem späteren Zeitpunkt ein "Grosskopferter" auf die Idee kommt, das höchste Level von 30 auf 35 anzuheben? Ich weiss, das ist jetzt gemein, aber ... leider real.

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: View und @dblookup
« Antwort #8 am: 23.06.06 - 16:56:21 »
Hier erstmal der code:

Code
_laenge := @Elements(liste);
_key := rang;     //rang = rang des Wagens

@For(n := 1;n <= _laenge; n := n+1;
_neueListe := @If(liste[n] <= _key; _neueListe : liste[n]; _neueListe));
_neueListe

Dann zu deiner Anmerkung. Das sollte eigentlich alles nun voll dynamisch ablaufen. Egal welchen Wert du einträgst. Wobei es so angedacht ist, dass es keinen höheren Rang als 30 gibt.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz