On 20 May 2007 01:53:42 -0700, Christian Møller Nielsen
<cmnielsen05@gmail.com> wrote:
>On 18 Maj, 10:43, Jørn Andersen <j...@jorna.dk> wrote:
>> Vær dog opmærksom på, at denne løsning *kan* gå galt, hvis der er flere,
>> der kan oprette ordrer samtidigt. Så vær skker på, at det ikke kan lade
>> sig gøre - også om et år, når virksomheden udvides
>
>Det kan man vel komme udenom med. (sig endelig til hvis jeg tager
>fejl?)
><%
>Application.Lock
> 'gem ordre
> 'hent nyt id (SELECT TOP 1 OrdreNr FROM tblMineOrdrer ORDER BY
>OrdreNr DESC)
>Application.Unlock
>%>
Hmmm ... så vidt jeg kan se, så låser Application.Lock kun for at ændre
i Application-variable. Så medmindre du bruger Application-variable til
at INSERT i databasen, så tror jeg ikke den vil virke. Andre?
En anden metode kunne være:
1. Opret ordre
2. Hent seneste OrdreNr oprettet af pågældende bruger (eller med
aktuelle SessionId)
Det forudsætter, at du gemmer login-navn/Id (eller SessionId) på den,
der har oprettet ordren. Men det gør man vel også i et
flerbruger-system?
strSql = "SELECT TOP 1 OrdreNr" & _
" FROM tblMineOrdrer" & _
" WHERE OprettetAf = " & Session("user") & _
" ORDER BY OrdreNr DESC"
- hvis loginId er gemt i Session("user")
Good luck!
--
Jørn Andersen,
Brønshøj