Autor Thema: DBLookup nach Sprache  (Gelesen 1860 mal)

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
DBLookup nach Sprache
« am: 10.10.05 - 14:15:39 »
Hi Leute,

ich stehe wieder mal vor ein Problem und ihr habt mir ja schon so oft
hier im Forum geholfen , daher ein weiterer Post ;-)

ICh möchte mit einen Feld "language" bei einer DBLookup-Funktion die angezeigte
Spalte verändern. Dazu habe ich folgenden Code in das Lsitfeld eingefügt, aber
der will nicht so wie ich.

Code
_Error_Message := "No NAMES installed" ;
_liste_deu := @DbLookup( "Notes" : "NoCache" ; @DbName ; "subkategorie" ; kategorie ; 3 );
_liste_eng := @DbLookup( "Notes" : "NoCache" ; @DbName ; "subkategorie" ; kategorie ; 4 );
@Text(language);
@If(language="deutsch"; @If ( @IsError ( _liste_deu ) ;_Error_Message ; _liste_deu );
@If ( @IsError ( _liste_eng ) ;_Error_Message ; _liste_eng ) )

Mir wird immer nur die Beschreibung der _liste_deu angezeigt.

Gruss Jörg

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: DBLookup nach Sprache
« Antwort #1 am: 10.10.05 - 14:42:30 »
Das könnte ein Problem mit der Aktualisierung sein. Hast du in deinem Listenfeld die Option "Auswahl bei Dokumentenaktualisierung aktualisieren" gesetzt?


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

Offline billygates

  • Aktives Mitglied
  • ***
  • Beiträge: 145
  • Geschlecht: Männlich
  • Ich kann 'proprietär' nicht mehr hören!
Re: DBLookup nach Sprache
« Antwort #2 am: 10.10.05 - 15:26:43 »
Probier es mal so:

_Error_Message := "No NAMES installed" ;
_liste_deu := @DbLookup( "Notes" : "NoCache" ; @DbName ; "subkategorie" ; kategorie ; 3 );
_liste_eng := @DbLookup( "Notes" : "NoCache" ; @DbName ; "subkategorie" ; kategorie ; 4 );

@If(
@text(language) = "deutsch";  _liste_deu;
@IsError( _liste_eng ); _Error_Message;
_liste_eng )


Was der "@Text(language)" vor Deiner @If-Konstruktion soll, hab ich aber nicht verstanden.
Falls das Feld "language" statt "deutsch" auch den Wert "english" haben kann, würde ich es jedoch anders lösen:

_Error_Message := "No NAMES installed" ;
_liste_deu := @DbLookup( "Notes" : "NoCache" ; @DbName ; "subkategorie" ; kategorie ; 3 );
_liste_eng := @DbLookup( "Notes" : "NoCache" ; @DbName ; "subkategorie" ; kategorie ; 4 );

@If(
@text(language) = "deutsch";  _liste_deu;
@text(language) = "english"; _liste_eng;
_Error_Message )


Zum Testen würde ich zwischendurch noch die Variablen "_liste_deu" & "_liste_eng" per @prompt auslesen, um zu sehen, ob und ggf. welche Werte vorhanden sind.

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: DBLookup nach Sprache
« Antwort #3 am: 10.10.05 - 15:34:42 »
Tausend Dank an Euch es klappt.

Es lag an der Option "Auswahl bei Dokumentenaktualisierung aktualisieren"

Gruss Jörg

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: DBLookup nach Sprache
« Antwort #4 am: 11.10.05 - 09:21:23 »
ich würde es trotzdem anders machen... Du machst unnötigerweise 2 dblookups, was unnötig Performance kostet.

_col := @If( @text( language ) = "deutsch" ; 3 ; 4 );

_liste := @DbLookup( "Notes" : "NoCache" ; @DbName ; "subkategorie" ; kategorie ; _col );

@If( @IsError( _Liste ) | _liste = "" ; _Error_Message ; _liste )


Dabei hast Du dann gleich noch einen Fehler im deutschen Lookup abgefangen, was bei Dir momentan nicht der Fall ist...

Gruß
Tode


Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: DBLookup nach Sprache
« Antwort #5 am: 11.10.05 - 10:43:19 »
Danke nochmals ...

Kann ich über die DBLookup-Funktion auch die Kategorie auslesen und dann einen
Listfeld zuweisen??
Denn die Kategorie lege ich über sep. form schon im Voraus fest und habe eine Ansicht erstellt
in der ich sie mir anzeigen lasse........


Gruss jörg

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: DBLookup nach Sprache
« Antwort #6 am: 11.10.05 - 11:09:49 »
Hi,

ich verstehe zwar nicht ganz was du meinst, aber wenn es darum geht, eine (katagoriserte) Spalte aus einer Ansicht in einem Listenfeld zur Auswahl anzubieten, dann nimmst du am besten @DbColumn.

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

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: DBLookup nach Sprache
« Antwort #7 am: 11.10.05 - 11:27:01 »
klasse so klappt es.....  :D :D :D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz