Avatar billede mick Nybegynder
05. marts 2001 - 12:51 Der er 7 kommentarer og
1 løsning

Automatisk +1 i integer felt

Jeg har en kolonne med tal, stigende 1-2-3-4-5-6 etc. Er det muligt at få Access til automatisk at sætte ind \"højeste tal i tabellen\"+1 når der oprettes en ny post?. F.eks. hvis der står 8 i sidste post, skal der sættes ind 9 i næste post.

Og ja, jeg er klar over autonummer, men det kan ikke bruges her, da det skal være muligt at overstyre Access, og vælge et andet tal.
Avatar billede nute Nybegynder
05. marts 2001 - 12:55 #1
du kan prøve:

SELECT MAX([kolonne]) as max FROM [tabell]

deretter kan du gjøre

newId = rs(\"max\") + 1

/nute
Avatar billede nute Nybegynder
05. marts 2001 - 12:56 #2
hov...

jeg antok at du skrev koden i ASP, men rs(\"max\") betyr ditt resultat fra din query...

/nute
Avatar billede mick Nybegynder
05. marts 2001 - 13:13 #3
nute> Tak for hjælpen. Jeg bruger VBA (er helt nybegynder). Hvordan udfører jeg en SQL sætning. Det er jo ikke nok bare at skrive f.eks.

SELECT MAX([kolonne]) as max FROM [tabell]

I ASP bruger man jo f.eks.

SQL = \"SELECT MAX([kolonne]) as max FROM [tabell]\"
Set rs = myConn.Execute(SQL)

Og så har man resultatet i RS. Men hvordan gøres dette i VBA?
05. marts 2001 - 13:15 #4
Hey Mick,

Du er nødt til at styre det fra en formular, da Access ikke har triggers (hændelser) på tabelniveau.

På formularens \"FørOpdatering kan du lægge følgende kode ind\"

If Me.NewRecord then
05. marts 2001 - 13:18 #5
(.....glem den forrige besked; den blev sendt for tidligt!)

Hey Mick,

Du er nødt til at styre det fra en formular, da Access ikke har triggers (hændelser) på tabelniveau.

På formularens \"FørOpdatering\" kan du lægge følgende kode ind:


If Me.NewRecord then
    Me!Tæller = DMax(\"Tæller\", \"AktuelTabel\") + 1
End If

Hvor Tæller er det aktuelle felt og AktuelTabel er den tabel, som du arbejder på.

/Thomas
Avatar billede nute Nybegynder
05. marts 2001 - 13:26 #6
VBA har jeg ingen kjennskap til, desverre....

/nute
Avatar billede billeschou Nybegynder
05. marts 2001 - 15:31 #7
docmd.runsql(sqlstreng) eller
docmd.execsql(sqlstreng)

jeg kan ikke lige huske om det er run eller exec men sådan udfører du i hvert fald et sql-statement
Avatar billede mick Nybegynder
06. marts 2001 - 11:01 #8
Mange tak for hjælpen (endnu en gang)
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