Returnerar de tal som finns i en sträng som ett numeriskt värde av lämplig typ.
Syntax
Val( sträng )
Den nödvändiga strängenargument är en giltig stränguttryck.
Kommentarer
Funktionen Val slutar läsa upp strängen vid det första tecknet som den inte kan identifiera som en del av ett tal. Symboler och tecken som ofta anses vara delar av numeriska värden, till exempel dollartecken och kommatecken, känns inte igen. Funktionen känner dock igen radixprefixen &O (för oktala) och &H (för hexadecimala). Tomrum, flikar och radmatningstecken tas bort från argumentet.
Följande returnerar värdet 1615198:
Val(" 1615 198th Street N.E.")
I koden nedan returnerar Val decimalvärdet -1 för det hexadecimala värdet som visas:
Val("&HFFFF")
Obs!: Funktionen Val känner bara igen perioden (.) som en giltig decimalavgränsare. När olika decimalavgränsare används, som i internationella program, använder du IDbl i stället för att konvertera en sträng till ett tal.
Frågeexempel
Uttryck |
Resultat |
SELECT DateofSale,val(DateofSale) AS testVal FROM ProductSales; |
Returnera värdena från "DateofSale" och inledande numeriska tecken från värdena i fältet "DateofSale" i kolumntestVal. 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 Val för att returnera talen 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.