sql = "UPDATE lan SET antal = antal + 1 WHERE postort = '" &ort& "'"
conn.Execute(sql)
Är det någon som ser nåt fel med denna kod!
Jag vill kunna sätta antalet för varje postort och sedan plocka ut vilket län...
Men när jag försöker öka på antalet kunder i varje ort så sätter den inget...
När jag skriver ut sqlsatsen så ser det helt ok ut..
Idata basen står orterna med stora bokstäver men det spelar väl ingen roll??
LarsGMedlem sedan dec. 200012 465 inlägg
Idata basen står orterna med stora bokstäver men det spelar väl ingen roll??
Det kan ha betydelse.
sql = "UPDATE lan SET antal = antal + 1 WHERE postort = '" &ucase(ort)& "'"
conn.Execute sql
det funkar ändå inte...
skriver jag ut SQl så ser det riktigt ut men jag får ett mellanslag efter ortsnamnet... sätter jag då Rtrim på variabeln så blir variabeln tom....
Om jag hårdkodar variabeln och skriver
sql = "UPDATE lan SET antal = antal + 1 WHERE postort = 'ALINGSÅS'
conn.Execute(sql)
så blir det i alla fall inget resultat
@ndersMedlem sedan juni 200026 914 inlägg Det ligger inte lagrat med några mellanslag i databasen då?
Vad får du ut med en enkel Select-fråga?
SELECT antal FROM lan WHERE postort = 'ALINGSÅS'
@ndersMedlem sedan juni 200026 914 inlägg 0 träff, eller ett tomt fält? Vad innehåller fältet antal? vilken datatyp? Du kan inte lägga till 1 till ett värde som inte är ett tal, så om fältet är tomt (null) så går det nog inte. Du borde ha 0 som standardvärde i ett heltalsfält.
mvh,
Det står ingenting!
ok... antal är tal!
men du menar att jag ska sätta 0 i det fältet för att det ska vara möjligt att lägga till??
det hjälpte inte den lägger i alla fall inte till nåt... dessuotm när jag vill ta fram hur många kunder som finns i resp län (Alla orter har ett län kopplat till sig) så räknar den så många orter som finns i länet och inte vad som står i fältet "antal" där det antal kunder som finns i orten ska vara...
Så nu skulle det för Västra Götaland stå 0 men istället står det det antal kommuner som finns??
sql = "Select name, Count(antal) as X from lan where name= '"&lan&"' group by name"
så ser den koden ut!!
LarsGMedlem sedan dec. 200012 465 inlägg Om du använder access
sql = "UPDATE lan SET antal = iif(antal is null,0,antal) + 1 WHERE postort = '" &ucase(ort)& "'"
annars
sql = "UPDATE lan SET antal = coalesce(antal,0) + 1 WHERE postort = '" &ucase(ort)& "'"
Tack!!
Nu är bara frågan hur jag får fram allt!
Jag har en tabell med
Ort, Län, Antal
Jag vill ha ut hur många kunder som finns i de olika länen.. Ex.
3 kunder i ALingsås och 4 kunder i Göteborg blir 7 kunder o Västra Götaland...
Som frågan är nu så får jag bara ut antalet orter i länet!!
LarsGMedlem sedan dec. 200012 465 inlägg select sum(antal),namn
from lan
group by namn
var för snabb igår och trodde allt funkade!
det visar sig nu att den lägger till 2 för varje ny kund
så i visby finns det 2 kunder med jag får ut att det är 3
sql = "UPDATE lan SET antal = antal + 1 WHERE postort = '" &ucase(sort)& "'"
conn.Execute sql
så ser koden ut!