webForumDet fria alternativet

ID-Räknare i rätt följd utan "glapp"?

Databaser & SQL

6 svar · 203 visningar · startad av leancuisine

Medlem sedan jan. 2002160 inlägg
Frågan#1

hej!

Vet någon hur man gör för att se till att räknare i Access fortsätter i jämn följd även då man raderat poster?

Jag har ett klotterplank där man navigerar framåt och bakåt enligt principen ID+1 och ID-1, om det då uppstår ett glapp så fungerar detta inte.

T ex om jag har 8 poster och suddar ut nr 8 -- när någon sedan gör ett nytt inlägg blir det nr 9 även om det sista är 7. Då funkar inte min programmering med "Läs tidigare" och hämta nuvarande ID minus 1 eftersom den då anropar en 8 som inte finns...

Det känns som jag förklarar det här dåligt...

Passa även på att kolla in min sida och skriv något kul...
http://www.leanderweb.com

Medlem sedan dec. 200012 464 inlägg
#2

Det går inte att få till det heltäckande. Du får bygga din paging på annat än id.

Det här t.ex.
http://script.webforum.nu/wf/Forum1/HTML/000063.html

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 2002160 inlägg
#3

Det låter som det vore enklare att "för hand" skapa ett "eget" ID-fält (ex hemmagjortID) som höjer med 1 för varje nytt inlägg. Då kan man redigera siffrorna så att de ligger i rätt följd om man behöver radera olämpliga inlägg.

Då får man vid skrivtillfället låta hämta sista "hemmagjortID"-värde och sedan låta det nya inlägget få ett värde som är hemmagjortID +1 i det datafältet.

Konstigt att detta inte finns automatiskt i Access...

Medlem sedan dec. 200012 464 inlägg
#4

Det är inte alls konstigt. Det är alldeles för prestandakrävande att garantera att det inte blir något glapp.

Du kommer att få samma problem med din modell om du tillåter att man tar bort värden.

Hur har du tänkt att hantera att det kommer två inlägg samtidigt?

Det är ingen bra ide. Det går alldeles utmärkt att bygga paging på andra sätt.

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 2002160 inlägg
#5

Jag är ganska osäker på vad paging är, men vid en snabb blick på länken du gav verkar det vara lite annorlunda än det jag menar...

Kanske kan man ordna "bläddrandet" efter datum och tid istället

det jag behöver är någon slags sätt att säga så här till ASP-servern:
-- Hej, hämta posten i ACCESS-tabellen som ligger före den post som visas just nu. Men bara om det finns en sådan post, annars så låt bli (eftersom jag inte vill få ett felmeddelande på skärmen)

och motsvarande för att gå framåt...

Titta på min sida så förstår du situationen... Det är enskilda inlägg som visas ett åt gången...

Medlem sedan dec. 200012 464 inlägg
#6

Paging är samma sak som du menar med bläddring. Om du visar en post eller 10 på varje sida är av mindre betydelse.

Det skall inte vara något problem att utnyttja det skript jag länkade till.

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 2002160 inlägg
#7

okej, jag får klicka och dra min bekvämlighet till papperskorgen och sätta mig in i det här lite mer noggrannt...

Tack för hjälpen så här långt :-)

[Redigerat av leancuisine den 08 feb 2002]

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)