Jag har alltid fått för mig att man ska använda datatypen tal och valuta i tabellerna när man ska göra beräkningar med dessa fält.
Igår satt jag med en fråga i Access där jag använde funktionen OOM() på ett fält. Detta fält har datatypen "Text" i tabellen.
Det går alltså att göra beräkningar på fält som har datatypen "Text"?. Har alltid trott att om man ska göra beräkningar på fältet så ska man använda datatypen "tal"!?
Stoppar man in enbart siffror i textfältet så kan man säkert göra beräkningar med det. man kanske behöver en typkonvertering, men den kanske är inbyggd i access för vissa saker, just av vänlighet mot folk som "gör fel". Problemet är att ett textfält tillåter ju ALLA tecken, således kan man råka få in en bokstav utan att det märks förens man kör sin beräkning
Så du har rätt, saker som man normalt sett gör beräkningar på skall lagras i fält som enbart tillåter numeriska värden.
Har läst att man ska välja typen "Tal" och "Valuta" om man ska göra beräkningar på fält. Jag har ju använt OOM() på ett textfält som desutom innehåller text!?
Jag hade fältet "Kön" i en tabell där jag hade M och K. M står för Man och K står för Kvinna. I en fråga vill jag sedan att det istället ska visas som Man och kvinna istället för M och K. Därför gjorde jag en OOM() funktion.
Är det så att endast vissa beräkningar går att göra med datatypen "Text" och att man kan göra fler typer av beräkningar när man har datatypen "Tal"?
OOM är inte en matematisk funktion, utan returnerar ett av två värden, beroende på om en sats är sann eller falsk. T ex: (typ) OOM(Kon = 'M', 'Man', 'Kvinna')
Om kön = 'M' får du tillbaka Man, annars Kvinna.
Hur kommer det sig att OOM() finns i Access och i exempelvis Excel är det OM()? Det är ju samma typ av funktion!?
Får du fråga Microsoft om. Men jag gissar att det beror på att OOM heter IIF på engelska, vilket står för "immediate if". I SQL finns redan något som heter if. Det där extra i't behövs alltså inte i Excel.
138 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17