Retorna um inteiro que representa o código de caractere correspondente à primeira letra de uma cadeia de caracteres.
Sintaxe
asc(string)
O argumento de cadeia de caracteresnecessário é qualquer expressão de cadeia de caracteres válida. Se a cadeia de caracteres não contiver caracteres, ocorrerá um erro em tempo de execução.
Comentários
O intervalo de retornos é de 0 a 255 em sistemas não DBCS, mas de –32768 a 32767 em sistemas DBCS.
Observação
A função AscB é usada com dados de byte contidos em uma cadeia de caracteres. Em vez de retornar o código do caractere para o primeiro caractere, AscB retorna o primeiro byte. A função AscW retorna o código de caractere Unicode, exceto em plataformas em que o Unicode não é suportado, nesse caso, o comportamento é idêntico à função Asc .
Observação
O Visual Basic para Macintosh não dá suporte a cadeias de caracteres Unicode. Portanto, AscW(n) não pode retornar todos os caracteres Unicode para n valores no intervalo de 128 a 65.535, como acontece no ambiente Windows. Em vez disso, AscW(n) tenta uma "melhor suposição" para valores Unicode n maiores que 127. Portanto, você não deve usar o AscW no ambiente Macintosh.
Exemplos de consulta
| Expressão. | Resultados |
|---|---|
| SELECT Asc("a") AS Expr1 FROM ProductSales; | Retorna o código "ASCII" para a cadeia de caracteres "a". Resultado: "97". |
| SELECT Asc("Z") AS AscCode FROM ProductSales; | Retorna o código "ASCII" para a cadeia de caracteres "Z" na coluna AscCode. Resultado: "90". |
Exemplo de VBA
Observação
Os exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
Este exemplo usa a função Asc para retornar um código de caractere correspondente à primeira letra da cadeia de caracteres.
Dim MyNumber
MyNumber = Asc("A") ' Returns 65.
MyNumber = Asc("a") ' Returns 97.
MyNumber = Asc("Apple") ' Returns 65.