13. januar 2005 - 12:10Der er
13 kommentarer og 1 løsning
Autonummererings felt
Systemet er opbygget som et front/backend system, begge i Access XP. Nu vil jeg gerne portere til SQL Server 2000, men har et problem med at indsætte nye poster. På min formular er et felt kaldet Ordrenr, som i Access er et Autonummereringsfelt. Jeg har importeret backend'en i SQL Server'en og gjort Ordrenr til primær nøgle. Jeg har også sat Identity = Yes, Identity Seed = 1 og Identity Increment = 1.
Problemet er at jeg ikke får lov til at oprette den nye post! Programmet fejler i koden:
With Forms("ordreseddel") rst.AddNew rst!DATO = Now() rst!ORDRENR = !ORDRENR '*** Fejler her End With
Fejlmeddelelse: "Du har forsøgt at tildele Null-værdien til en variabel, der ikke er af datatypen Variant"
En Debug.Print viser ganske rigtigt at feltet ORDRENR er tomt, men hvorfor?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Niels har ret! Hvis feltet er Identity-field, tildeles værdien automatisk (ligesom i Access). Der er dog den forskel, at du ikke kan SE det nye nummer før posten gemmes. Det kan du i Access.
Dette er i virkeligheden også det mest optimale, da Access' metode kan forårsage konfliker, hvis 2 brugere påbegynder en oprettelse lige efter hinanden.
Jeg har prøvet at give en dummy-værdi og så kører koden til enden, med en fejlmeddelelse: ODBC: Kaldet lykkedes ikke [Microsoft][ODBC SQL Server Driver]Afkortet brøk. (#0) [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'id', table 'MinTabel'; column does not allow nulls. INSERT fails. (#515)[Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated (#3621)
If the field is an autonumber then there should be no need to give it a value, it finds the value automatically. If the field is NOT an autonumber field then you MUST give it a value if the field does NOT allow NULL values.
So you should make 100% sure if the field is/is not an autonumber
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.