Avatar billede jasperDK Nybegynder
15. september 2012 - 11:13 Der er 5 kommentarer og
1 løsning

Fortløbende numre - Webdatabase

Jeg har en Access-webdatabase, som er publiceret på Sharepoint med online tilgang.
Databasen bliver brugt til at holde styr på en masse observationer, og disse bliver alle tildelt en kategori. Hvert emne skal så tildeles et forløbende nummer, baseret på kategori-nummeret.

Hver kategori har sit eget udgangsnummer:
Kategori1: 1.100.000
Kategori2: 1.200.000
Kategori3: 1.300.000
osv.

Så 2 stk Kategori2 observationer vil blive nummeret:
1.200.001
1.200.002


Mit problem ligger i, at databasen er en web-database! Så jeg kan ikke bruge VBA når den er online - og da jeg har 35 kategorier, så melder simpel if/else-makro også fejl online.


Jeg er løbet tør for ideer til at omgå denne finurlighed, så alt input er velkommen!
Avatar billede claes57 Ekspert
15. september 2012 - 13:25 #1
lav en tabel med kategorinavne
id, navn, tillæg
og en tabel med alle observationer
id, data, kategori_id

når du så vil have data for kategori1, så læser du alle poster i observationer med den valgte kategori_id, og lægger 'tillæg' tallet til observationer_id (ikke fortløbende) eller lægger 'tillæg' til post-nummeret, som du får via det loop, der udlæser de enkelte poster.

Så kan du slette / oprette kategorier, og det kører bare uden ændringer i koden.
Avatar billede jasperDK Nybegynder
19. september 2012 - 10:14 #2
Hej Claes,

Jeg kan ikke helt få din løsning til at spille. Jeg har en Form, og på den har jeg indsat et Datasheet med observationer. Det er på dette Datasheet, at jeg ønsker at kunne se Kategori_id-nummeret (1.300.001 osv.). Datasheet'et henviser til min tabel 'Observationer'.

Kan jeg eventuelt få dig til at forklare dit løsningsforslag lidt mere?


På forhånd tak.
Avatar billede claes57 Ekspert
19. september 2012 - 10:47 #3
Kategori_id er bare et autonummer på de forskellige kategorier - det bruges kun til at linke til observationer, så man let kan omdøbe en kategori eller rette en stavefejl.

numrene (1.300.001 osv.) fremkommer logisk, men findes ikke i databasen. Når du vil vise observationer i en given kategori, så vælges først kategori - så kender du kategori_id og tillæg. Så læser du tabellen observationer igennem for alle poster med den valgte kategori_id i stigende rækkefølge sorteret på id. I det læse-loop har du en tæller, og for hver post lægger du tæller og tillæg sammen, og du får tallet 1.300.001 osv. Skal der linkes til posten så den kan rettes/slettes, så skal linket være til id i tabellen observationer, og ikke det beregnede tal.

Hvis du sletter en observation vil de efterfølgende rykke en plads fremover - hvis du vil undgå det, så må poster ikke slettes, men kun markeres i et felt i observationer, at posten ikke skal vises (men den tælles med i læse-loop)
Avatar billede jasperDK Nybegynder
14. november 2012 - 08:14 #4
Puha ! Det tog sin tid, før jeg fik tid til at sætte mig ned og få det til at virke. Omsider virker det - med din guidening og inspiration. Vil du ikke afgive et svar?
Avatar billede claes57 Ekspert
14. november 2012 - 09:04 #5
bare luk selv - du har haft alt arbejde...
Avatar billede jasperDK Nybegynder
29. november 2012 - 09:08 #6
Okay, men jeg takker stadig for hjælpen og inspirationen.
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

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