Just nu i M3-nätverket
Jump to content

Access, autonummer strular


Weyland

Recommended Posts

Toudi!

 

...jag har en gammal tabell (med ett par tusen poster) vars id-kolumn börjat bete sig skumt. Den kolumnen har formatet autonummer, men om jag skapar en ny post blir numret inte det förväntade fyrsiffriga talet, utan ett negativt och jättestort tal. Känns jättedumt :) ..undrar hur man ev. kan fixa detta...

Link to comment
Share on other sites

Ska väl gå att ta bort fältet, spara filen och sedan lägga till fältet igen.

 

Då kommer den numrera om alla poster.

 

Men ta en backup först ;)

 

 

 

 

Link to comment
Share on other sites

Förvisso, men det vill jag helst undvika - omnumrering alltså, då (i princip) alla poster kommer att få nya nummer och jag har en känsla av att de gamla behövs för referens... :(

 

--

.Weyland

 

2. Everything around us can be represented and understood through numbers.

 

Link to comment
Share on other sites

Juppz :/

 

Funderar på att sitta å skapa nya poster ett par miljoner gånger eller vad autosiffran är tills den slår över till positiva tal igen ;)

 

--

.Weyland

 

2. Everything around us can be represented and understood through numbers.

 

Link to comment
Share on other sites

Jag letade runt lite i hjälpen. Räknare lagras i ett fält med 4 bytes storlek. Borde ge 65535 värden, den kanske håller en byte för tecken. Kvar återstår drygt 4000 unika värden innan den börjar på -~4000.

 

 

 

 

Link to comment
Share on other sites

Vore juh tämligen jobbigt om det var så.. fast då är det iaf inte mitt fel :) det är faktiskt lite drygt 4000 poster....

 

Link to comment
Share on other sites

Räknaren kan göras större om man sätter fältstorleken till ReplikeringsID. Jag är inte säker på att det går att ändra storleken. Men att öka borde vara lättare än att minska.

 

 

Link to comment
Share on other sites

Jag fortsatte att leta. Jag var nog ute och cycklade lite . Byte och bit är inte lätt. Urklipp från MSDN. ... Long variable is stored as a 32-bit (4-byte) number ranging in value from –2,147,483,648 to 2,147,483,647. Ditt problem ligger nog inte här.

 

 

 

 

Link to comment
Share on other sites

Jo, jag kom på det nu när jag tog en litet åktur :) ..borde gå att lagra ett antal mille i 3bytes ;)

 

..hursomhelst är det fortfarande mitt största problem, autonummerfälten är av någon vansinnig anledning kopplade till andra tabeller och får helt enkelt inte ändras. Och som sagt, när jag skapar en ny post så blir autonummer nåt i stil med -1,34342e8 :(

 

Link to comment
Share on other sites

Mr Andersson och de andra databasgenierna brukar väl vara mest aktiva dagtid. Du får nog ge dig till tåls. Jag går och läger mig.

 

 

 

 

Link to comment
Share on other sites

Long variable is stored as a 32-bit (4-byte) number ranging in value from –2,147,483,648 to 2,147,483,647

 

Hur kan det bli 32bit?

Borde väl bli 16bit?

(Appropå ingenting) :)

 

Mvh

-Cat

 

Link to comment
Share on other sites

Neh, varför 16? 16 bitar kan man juh bara lagra -32 000 till +32 000 ungefär sådär på en höft? :)

 

--

.Weyland

 

2. Everything around us can be represented and understood through numbers.

 

Link to comment
Share on other sites

Neh, varför 16?

 

Rätta mig gärna om jag har fel:

 

–2,147,483,648 to 2,147,483,647 = 4,294,967,295

 

4^x = 4,294,967,295

 

x = ln4,294,967,295/ln4 = 16

 

Eller är det fel tidpunkt på dygnet för detta, kanske... ;)

 

Mvh

-Cat

 

Link to comment
Share on other sites

Förmodligen :)

 

16bitar = 2byte = 256*256 = ~65 000 vilket då är det maximala antalet skilda värden som kan lagras? Sedan används väl den första biten för att markera tecken...

 

Löste problemet med autonummer, genom att exportera den krånglande tabellen, radera den och importera den igen. Skumt men sant. Fungerade inte med en repair heller..

 

--

.Weyland

 

2. Everything around us can be represented and understood through numbers.

 

[inlägget ändrat 2002-05-28 00:31:50 av Weyland]

Link to comment
Share on other sites

Tänkte föreslå en export till nå'n form av txt-fil för att sedan importera den igen. Det lät dock för dumt för att kunna fungera, men men. ;)

 

65 000? Men om man har en paritets bit då? :)

 

Sovdax, natti-natti! ;)

 

Mvh

-Cat

 

 

 

 

Link to comment
Share on other sites

Rätta mig gärna om jag har fel:

 

Ska bli!

 

–2,147,483,648 to 2,147,483,647 = 4,294,967,295

 

Nästan rätt, skall vara 4 294 967 296.

 

4^x = 4,294,967,295

 

x = ln4,294,967,295/ln4 = 16

 

Rätt uträknat men fel förutsättningar i sammanhanget. Var basen 4 kom ifrån kan nog bara Jon Blund svara på, basen skall naturligtvis vara 2 med exponenten 32 - mao 32bit.

 

Eller är det fel tidpunkt på dygnet för detta, kanske... ;)

 

Uppenbarligen!

 

Mvh

-Cat (en, för tillfället, något piggare sådan)

 

[inlägget ändrat 2002-05-28 06:12:17 av Cat]

Link to comment
Share on other sites

Om du har replikerat databasen får du automatiskt slumpmässigt valda räknar nr (även jättestora negativa)även om du valt stegvis uppräkning. Detta går ej att förhindra (vad jag vet).

 

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...