05. august 2004 - 12:09Der er
5 kommentarer og 1 løsning
Skjul dokumenter i et view
Jeg har en base, hvortil der bliver overført dokumenter (kalenderoplysninger) fra en række brugere. Jeg har lavet en formular i basen, der modtager oplysningerne fra kalenderen - heriblandt et felt (ejer) med brugerens user.
Jeg vil nu gerne have lavet et view, hvori kun den aktuelle bruger kan se sine egne oplysninger. Jeg har forsøgt mig med en meget simpel formel der hedder: SELECT @UserName = Ejer, og den virker for så vidt også nogenlunde, da den viser de dokumenter der tilhører ejeren, men det er som om Notes ikke kan slippe den forrige ejer. Hvis jeg går ind i viewet først, og en kolleger gør det efterfølgende, forbliver jeg som User.
Er der en anden måde at lave dette view på, eller mangler jeg at ændre i en parameter i egenskaberne ???
Du skal definere oversigten værende af typen: "Shared, private on first use" istedenfor "Shared". Problemet med din select er at serveren for hver gang den skal vise oversigten til en ny bruger skal gendanne oversigten, og af performance hensyn er kan det være at den ikke opdaterer oversigten rigtigt i forhold til SELECT.
jogii har ret - du skal bare huske at det ikke er lige til at lave ændringer i 'private on first use' viewet når først brugeren har brugt viewet. Der bliver lagt et view localt hos hver bruger. Dvs. databasen skal fjernes fra workspace og åbnes igen før den 'henter' det nye personlige view. Dette kan f.eks. gøres med en distribueret kode ell.lign. MVH
Fantastisk !!! Jeg syntes ellers jeg havde skruet på alle de ting der kunne skrues på, men den her havde jeg ikke tænkt på. Tak for det hurtige svar/kommentar !!!
yeager har ret - "shared, private on first use" bliver ikke opdateret når du laver ændringer i "shared"-udgaven. Men afhængig af rettigheder og indstillinger kan det nemlig godt være at private oversigter placeres i selve databasen på serveren og ikke lokalt i WorkSpace. Den bedste måde at opdatere oversigten er at gå ind i oversigten, vælge "Action -> View options -> Remove View". Svar ja på at slette og derefter vælge oversigten igen. Det er nemlige den private udgave af oversigten der slettes. Når man går ind i oversigten igen via Folder-navigatoren bliver der oprettet en ny privat kopi af oversigten.
Jeg har en menu i Notes, der giver adgang til basen på servere uden at den bliver placeret lokalt. Så der skulle vel ikke være nogle problemer der - eller ???
Det er ikke databasen der bliver placeret lokalt, men indekset til den det private oversigt. Det sker dog kun hvis du/brugeren ikke har rettigheder til at oprette private oversigter i databasen. Så SKAL de jo placeres et andet sted. Og det sted bliver i filen DESKTOPx.?DK (Kan hedde DESKTOP.DSK, DESKTOP5.DSK eller DESKTOP6.NDK, alt efter hvilken version af Notes du anvender). Kender du Workspace (Arbejdsområdet)? Dette er nemlig gemt lige ned i filen DESKTOPx.?DK. Et evt privat indeks bliver knyttet til ikonet i Workspace. Hvis du sletter database-ikonet fra Workspace, så bliver du advaret om at du også sletter evt. tilknyttede private oversigter. Hvis brugerne har rettigheder til at oprette private oversigter i databasen vil du givetvis ikke opleve dette. Men man kan i Designeren også angive at disse SharedPrivate oversigter SKAL placeres LOKALT (meget praktisk når man har 3000 medarbejdere der tilgår den samme database og man ikke ønsker at serveren skal bruge plads på alle disse oversigter)
Synes godt om
Ny brugerNybegynder
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.