Returnerar de tal som finns i en sträng som ett numeriskt värde av lämplig typ.
Syntax
Val(sträng)
Det obligatoriska strängargumentetär ett giltigt stränguttryck.
Kommentarer
Funktionen Val slutar läsa strängen vid det första tecknet som den inte kan känna igen som en del av ett tal. Symboler och tecken som ofta betraktas som delar av numeriska värden, till exempel dollartecken och kommatecken, känns inte igen. Funktionen känner dock igen basprefixen &O (för oktalt) och &H (för hexadecimalt). Blankvärden, tabbar och radmatningstecken tas bort från argumentet.
Följande returnerar värdet 1615198:
Val(" 1615 198th Street N.E.")
I koden nedan returnerar Val det decimala värdet -1 för det hexadecimala värdet som visas:
Val("&HFFFF")
Obs
Funktionen TeckenNum känner endast igen punkten (.) som ett giltigt decimaltecken. När olika decimaltecken används, som i internationella program, använder du i stället KonvDbl för att konvertera en sträng till ett tal.
Exempel på fråga
| Uttryck | Resultat |
|---|---|
| SELECT DateofSale,val(DateofSale) AS testVal FROM ProductSales; | Returnera värden från "Försäljningsdatum" och inledande numeriska tecken från värdena i fältet "Försäljningsdatum" i kolumnen testVal. Val() slutar läsa strängen vid det första icke-numeriska tecknet. |
VBA-exempel
Obs
I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I det här exemplet används funktionen TeckenNum för att returnera de tal som finns i en sträng.
Dim MyValue
MyValue = Val("2457") ' Returns 2457.
MyValue = Val(" 2 45 7") ' Returns 2457.
MyValue = Val("24 and 57") ' Returns 24.