Jag hämtar ett värde från en databas. sNextTaskNr. Värdet är en sträng och kan se ut: "002" Värdet är lagrat som text i databasen. (går inte att ändra)
Hur gör jag för att lägga till 1 så värdet blir "003" och behålla nollorna framför 3.
det samma skall gälla om värdet är "011" tex. dvs behålla nollan framför talet
Det här resulterar såklart i att saker och ting går åt pipan när talen blir för stora.
Borde gå enkelt att lösa genom att kontrollera om första siffran i strängen är en nolla, då körs koden, annars är det ju bara att använda clng() och lägga till 1.
Eller ska det alltid vara minst en nolla först? Ska "talen" alltid vara tre siffror? Vad händer då efter 999?
Vårt system bygger på ett prefix tex "HL2005" och ett löpnummer "001" vilket då blir HL2005001 som första uppdragsnumret för montören HL under år 2005.
Att en montör skulle göra över 999 uppdrag på ett år är osannolikt.
Har testat lite och får Syntaxfel i Updateuttryck... :(
SQL-satsen ser ut så här:
sSQL = "UPDATE tblSettings SET Value = '" & sNextTaskNr & "' WHERE Key = 'NextTaskNr'"
skriver jag ut sql-satsen ger detta:
UPDATE tblSettings SET Value = '003' WHERE Key = 'NextTaskNr'
Som vanligt när det gäller tal så är det förstås bäst att lagra dem som just tal. Hur det ska formatteras när man tittar på det löser man vid just visningen. Att plocka ut delsträngar, addera, och sedan slå ihop strängarna igen ger mest rörig kod och i längden är det inte nån hållbar lösning. I ditt fall tycker jag det låter vettigast att dela upp det hela i tre fält: montör, år och löpnummer.
Som vanligt när det gäller tal så är det förstås bäst att lagra dem som just tal. Hur det ska formatteras när man tittar på det löser man vid just visningen. Att plocka ut delsträngar, addera, och sedan slå ihop strängarna igen ger mest rörig kod och i längden är det inte nån hållbar lösning. I ditt fall tycker jag det låter vettigast att dela upp det hela i tre fält: montör, år och löpnummer.
Det finns saker att göra åt dbstrukturen, jag vet.... problemet är att jag inte kan göra något åt den.. Det jag har, har jag sas...