Avatar billede neoman Novice
03. april 2008 - 21:13 Der er 7 kommentarer og
1 løsning

En midlertidig tabel og flere brugere - hvordan gør man det ?

Jeg er ved at lave en multibruger DB.

In bruger skal indtaste lidt data, hvorpå der foretegs lidt beregninger som producerer data svarende til en lille tabel. Der er flere linjer, hvor hver beregnes forskelligt og der bliver kaldt forskellig kode til hver linje.

Den uigennemtænkte plan var, at lave en fast tabel i DB'en, lægge resultaterne i den, og så vise den på den den form som brugeren tastede de enkelte data ind i.

Men hvordan pokker gør man det hvis man har flere brugere og kun een table i DB'en ? Jeg kan jo vist risikere lidt sammenblandede resultater. (Jeg kunne i princippet lave tekst felter og lægge data ned i dem på formen, men det er bare så meget nemmere bare tage en tabel og vise den)

Er jeg helt galt afmarcheret ? Skal man lave en temp table til hver bruger, eller lægge et sæt af resultater med en eller anden GUID hægtet på eller noget helt tredje ? Jeg har nu totalt forvirret mig selv - HJÆLP !:)

Der skal foretages en beregning baseret på den enkelte brugers input
Avatar billede mugs Novice
03. april 2008 - 21:21 #1
Beregningerne bør du lave i din forespørgsel ved hjælp af udtryk f.eks.:

Udtryk1: [Felt1]+[Felt2] 

M.h.t. til at få forskellige resultater afhænger dette af hvad du vil med resultaterne. Skal de gemmes under de enkeltes brugernavne, bør du oprette et felt der identificerer brugeren. Skal de ikke gemmes, er det jo ligegyldigt hvor du lægger beregningerne. Brugeren kan du identificere med denne:

Me!FELTNAVN = Environ("Username")
Avatar billede neoman Novice
03. april 2008 - 21:27 #2
Problemet ligger i at jeg IKKE kan køre en forespørgsel,fordi beregningerne kræver for meget logik til at man kan lave det overskueligt i SQL (der er en masse LOOK UP involveret + logik).

Min tanke var at simpelthen fylde på i en tabel fra en ende af.

Måske kan jeg bruge din ide med at bruge Environ("Username") i en ekstra kolonne i tabellen - eftersom hver bruger kun har ET sæt af resultater (indtil han taster noget andet), så kunne det jo virke. Har du en mening om dette ?
Avatar billede Slettet bruger
03. april 2008 - 21:35 #3
Det lyder som om det er oplagt at bruge environ!~)
Avatar billede mugs Novice
03. april 2008 - 21:36 #4
Jeg har ikke informationer nok til at gtive et bud på, om du kan køre en forespørgsel. Men da du selv tilkendegiver, at det kan du ikke, vil jeg lade det blive ved det.

Hvis en bruger skal kunne overskrive sin egen tidligere indtastning kræver det jo, at du har et effektivt logon system. Derefter skal db finde brugeren der svarer til longon navnet og give tilladelse til at overskrive foregående indtastning. Det er der vel ikke noget galt i.
Avatar billede neoman Novice
03. april 2008 - 21:40 #5
Resultaterner ER midlertidige, så skal ikke gemmes som så. Men, fordi jeg er doven og hellere vil lægeg hele flokkeind i en tabel end i form-felter, så må jeg bare opdatere eksisterende eller inserte nye resultater for hver gang  (hvis brugeren ikke har nogen resultater fra sidste gang)

Jeg kæmper videre med din Environ-tingest- så længe folk ikke samtidigt kører to instances af min applikation under eget login så burde det kunne gå.

Tak for det.
Avatar billede neoman Novice
03. april 2008 - 21:42 #6
Nå ja - jeg kan jo smide dem af, hvis de allerede er logegt på elsewhere ! :)
Avatar billede mugs Novice
03. april 2008 - 21:43 #7
Selv tak - Og tak for point.
Avatar billede fdata Forsker
03. april 2008 - 22:34 #8
Du kunne jo også installere en frontend på hver brugers pc og så lad dem benytte en tabel, som lå i frontenden. Så er tabellerne jo 100% adskilt; men da de jo har samme navn allesammen, kan de kaldes fra samme kode. Når alle data er klar, kan du overføre dem til "moderen" i backenden.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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