Avatar billede sbay Nybegynder
09. december 2005 - 10:38 Der er 10 kommentarer og
1 løsning

DBlookup til felter

Hejsa

Min kode ser ud som følger - og EntryDessinNo virker men de to næste virker ikke - hvorfor?

%Server := @Subset(@DbName; 1);
%Db := "C1256E94:00616061";
%View := "(LookupDesignByNoPR)";
%Col := 2;

%Res := @PickList( [Custom] : [Single] ; %Db ; %View ; "title" ; "prompt" ; %Col  );

FIELD EntryDessinNo := @If(@IsError(%Res); ""; %Res);
FIELD EntryRawMat := @DbLookup("";%Server:%Db; "(LookupDesignByNoPR)";%Res;3 );
FIELD EntryDescription := @DbLookup("";%Server:%Db; "(LookupDesignByNoPR)";EntryDessinNo;4 );
FIELD EntryText := EntryDessinNo;
@True
Avatar billede jogii Nybegynder
09. december 2005 - 10:50 #1
Det nok fordi du blander replika-id og server kaldet sammen. @DbLookup skal have forskellige parametre, afhængig af om du slår op via filnavn eller replica-id.

Jeg mener at du kan droppe "%Server:" og kun anvende "%DB" når det er replicaID du bruger.
Avatar billede sbay Nybegynder
09. december 2005 - 11:11 #2
Hmmm - det synes ikke rigtigt at hjælpe!
Avatar billede jogii Nybegynder
09. december 2005 - 11:18 #3
prøv ellers at erstatte replicaid med et filnavn .
Du skal også være sikker på at det er den rigtige replicaID.
Hvad siger
_rawmat := @DbLookup("";%Server:%Db; "(LookupDesignByNoPR)";%Res;3 );
@Prompt([OK]; "debug"; @Text(_rawmat));
?

Her kommer noget fra hjælpen:
If there are multiple copies of the database located on various Domino servers, using the database replica ID in place of both the server and database name lets you access a replica copy of that database without having to specify either the server name or the database name. For example, if you use "85255CEB:0032AC04" (a database replica ID, found in the database InfoBox) as the database name, Lotus Domino uses a replica of the database to retrieve the information.
Lotus Domino searches for replicas in this order, using the first replica it encounters:
Workspace
If there is one replica on your workspace, Lotus Domino uses it.
If there are multiple, stacked replicas on your workspace, Lotus Domino uses the replica on top of the stack.
If there are multiple, unstacked replicas on your workspace, Lotus Domino looks for an icon matching your current server and uses that. If none of the icons matches your current server, Lotus Domino uses the icon that was added to your workspace first.
Current server
Locally (your hard disk)
Once a replica is located, it's added to your workspace to save time on future lookups.
Avatar billede sbay Nybegynder
09. december 2005 - 12:37 #4
Den viser blank!
Avatar billede jogii Nybegynder
09. december 2005 - 12:50 #5
filnavn?  kolonne?
Avatar billede sbay Nybegynder
09. december 2005 - 12:58 #6
Har prøvet at skrive filnavnet - uden held! Kolonnen indeholder helt sikkert data! Og min PickList virker fint!
Avatar billede jogii Nybegynder
09. december 2005 - 13:00 #7
prøv at angive kolonne 1. Så bør du få nøglen tilbage ...
Avatar billede sbay Nybegynder
09. december 2005 - 13:09 #8
ahhh - min fejl!

Jeg havde helt svedt ud at nøglen skal stå i første kolonne! Nu virker det jo :-)
Avatar billede sbay Nybegynder
09. december 2005 - 13:10 #9
Smid et svar!
Avatar billede jogii Nybegynder
09. december 2005 - 13:16 #10
så siger vi det!
Tag lige og kig på dine to sidste lookups. de bruger forskellig kode til opslagene (og så alligevel ikke, da det ene er en lokal variabel, den anden en feltværdi, som du lige har tildelt den lokale variable). De burde for nemhedens skyld være ens. Det samme gælder %View, som i alle tre opslag er ens. Så brug hellere den samme variabel hele vejen igennem.
Et andet tip: anvend måske _ istedetfor % for at indikere lokale variable, den forstyrrer ikke så meget som % og gør derfor koden nemmere at læse(debugge). (Det kan selvfølgelig også være en ulæmpe, da man kan komme til at glemme _ ... men det er en helt anden snak :-)
Avatar billede jogii Nybegynder
09. december 2005 - 13:23 #11
sådan ville jeg kode knappen:

_Server := @Subset(@DbName; 1);
_Db := "C1256E94:00616061";
_View := "(LookupDesignByNoPR)";
_Col := 2;

_Res := @PickList( [Custom] : [Single] ; _Db ; _View ; "title" ; "prompt" ; _Col  );


@If(@IsError(_Res); @Prompt([OK]; "Dessin"; "Fejl ved hentning") : @Return(""); @Success);

FIELD EntryDessinNo := _Res;
FIELD EntryRawMat := @DbLookup("";_Db; _View;_Res;3 );
FIELD EntryDescription := @DbLookup("";_Db; _View;_Res;4 );
FIELD EntryText := _Res;
@True
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester