Avatar billede jberiksen Nybegynder
17. januar 2009 - 10:10 Der er 17 kommentarer og
1 løsning

Flere brugere opretter poster samtidig

Jeg har en database hvor flere brugere skal oprette poster samtidig.

I spørgsmål http://www.eksperten.dk/spm/747204

Skriver de der er nogle komplikationer ved det, hvilke er det?
Avatar billede mugs Novice
17. januar 2009 - 10:26 #1
Det kan f.eks. være postlåse, hvor du kan låse den post der er i færd med at blive redigeret, så ingen andre kan "gå ind" på posten.
Avatar billede jberiksen Nybegynder
17. januar 2009 - 10:34 #2
Jeg har stortset aldrig arbejdet i Access, så vil du ikke forklare mig lidt mere dybt hvad det er jeg skal.

Jeg har en database hvor jeg ønsker at at brugerne kan oprette poster samtidig, de poster skal bl.a. indeholde et sagsnummer og sagsnavn. Har læst et andet sted at det er en god ide ikke at bruge autonummerering til sagsnummer. Alle brugere skal tilføje fra sammen nummerserie.
Avatar billede mugs Novice
17. januar 2009 - 11:46 #3
I formularens fane Data er der en egenskab der hedder "Postlåse".

Jef vil ikke vælge autonummer til et sagsnr, idet Access bestemmer autonummerfeltets væærdi. Desuden er et sagsnr. ofte en alfanumerisk værdi, som ikke kasn gemmes i et autonummerfelt. Men du kan bruge autonummerfeltet som tabellens primære nøgle.

Hvad mener du med:

"skal tilføje fra sammen nummerserie"
Avatar billede jberiksen Nybegynder
17. januar 2009 - 11:52 #4
At hvis en bruger opretter en sag skal den fx tildeles sagsnummeret 10000 automatisk. Der skal jeg være sikker på, at hvis en anden bruger opretter en sag i sammen øjeblik, får den tildelt sagsnummer 10001. Så der ikke opstår et problem med at den ene af oprettelserne mistes.

Forstår du hav jeg mener?
Avatar billede mugs Novice
17. januar 2009 - 13:19 #5
Ja - Men du kan også indeksere feltet i tabelen og angive, at der ikke må være dubletter.
Avatar billede jberiksen Nybegynder
17. januar 2009 - 14:10 #6
Jeg kan bare ikke få det til at virke. Nogen der vil hjælpe med en kode der kan klare det.

Min tabel hedder Sager og formularen hedder Forespørgsel og feltet hedder Sagsnummer
Avatar billede mugs Novice
17. januar 2009 - 15:20 #7
Hvad er problemet og hvilken kode søger du?
Avatar billede jberiksen Nybegynder
17. januar 2009 - 16:20 #8
Det er lykkes mig at på den til at oprette en ny sag med et sagsnummer

Men hvis en bruger oprettter en ny sag, og en anden bruger opretter en ny sag inden den først bruger har lukket den sag han er ved at oprette, så tildeler den 0 som sagsnummer til den anden bruger, hvilket gør at han skal vente til den første er færdig med at oprette hans sag, før den anden bruger kan få et brugbart sagsnummer.

Feltet med sagsnummer, er postlåst ved redigering

og den kode jeg bruger til at finde sagsnummeret er som følger:

Private Sub Form_Current()
If Me.NewRecord Then
Me.Sagsnummer = DMax("Sagsnummer", "Sager") + 1
End If
End Sub
Avatar billede mugs Novice
17. januar 2009 - 16:25 #9
Hvad sker der, hvis du efter det nye sagsnr er oprettet gennemtvinger en lagring således:

docmd.RunCommand acCmdSave
Avatar billede jberiksen Nybegynder
17. januar 2009 - 16:29 #10
får en

run-time error '2501':
RunCommand-handling blev anulleret
Avatar billede mugs Novice
17. januar 2009 - 16:33 #11
Prøv at indsætte save i feltets BeforeUpdate
Avatar billede jberiksen Nybegynder
17. januar 2009 - 16:45 #12
den kender ikke den komando, og har også prøvet at skrive gem da det er en dansk access jeg har
Avatar billede jberiksen Nybegynder
17. januar 2009 - 16:46 #13
den første gem metode du forslog virker fint nok hvis databasen kun er åben på den maskine
Avatar billede jberiksen Nybegynder
17. januar 2009 - 16:48 #14
den betyder altså en ;)
Avatar billede mugs Novice
17. januar 2009 - 16:48 #15
Med save mener jeg:

docmd.RunCommand acCmdSave

Uanset hvilken version du har, er alle kommandoer på engelsk.
Avatar billede jberiksen Nybegynder
17. januar 2009 - 16:51 #16
nej får samme run-time error når jeg sætter hele den linie ind
Avatar billede jberiksen Nybegynder
18. januar 2009 - 15:39 #17
Jeg har fået løst problemet nu, jeg ændre bare tidspunktet for hvornår sagsnummeret belv tildelt. De behøver nemlig først at kende sagsnummeret når sagen er oprettet, og ikke når de begynder at oprette sagen.

mugs du for pointene, selv om jeg ikke brugte din løsning, som tak for indsatsen
Avatar billede mugs Novice
18. januar 2009 - 16:29 #18
Tak :o)
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