Função Compr

Aplica-se A
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Devolve um valor Longo que contém o número de carateres numa cadeia ou o número de bytes necessários para armazenar uma variável.

Sintaxe

Len(string* | *varname)

A sintaxe da função Len tem estes argumentos:

Argumento Descrição
cadeia Qualquer expressão de cadeia válida. Se a cadeia contiver Nulo, será devolvido Nulo.
nomevar Qualquer nome variável válido. Se varname contiver Nulo, será devolvido Nulo. Se varname for uma Variante, Len trata-a da mesma forma que uma Cadeia e devolve sempre o número de carateres que contém.

Observações

Tem de especificar um (e apenas um) dos dois argumentos possíveis. Com os tipos definidos pelo utilizador, Len devolve o tamanho tal como será escrito no ficheiro.

Nota

Utilize a função LenB com dados de bytes contidos numa cadeia, como em idiomas de conjunto de carateres de byte duplo (DBCS). Em vez de devolver o número de carateres numa cadeia, LenB devolve o número de bytes utilizados para representar essa cadeia. Com os tipos definidos pelo utilizador, LenB devolve o tamanho dentro da memória, incluindo qualquer preenchimento entre elementos. Para obter o código de exemplo que utiliza LenB, veja o segundo exemplo no tópico de exemplo.

Nota

Len pode não ser capaz de determinar o número real de bytes de armazenamento necessários quando utilizado com cadeias de comprimento variável em tipos de dados definidos pelo utilizador.

Exemplo de consulta

Expressão Resultados
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; Devolve os valores do campo "ProductID" e o comprimento desses valores nas colunas ProductLen.

Exemplos de VBA

Nota

Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

O primeiro exemplo utiliza Len para devolver o número de carateres numa cadeia ou o número de bytes necessários para armazenar uma variável. O Tipo... A definição CustomerRecord do bloco Tipo de Fim tem de ser precedida pela palavra-chave Privado se aparecer num módulo de classe. Num módulo padrão, uma instrução Tipo pode ser Pública.

Type CustomerRecord    ' Define user-defined type.
    ID As Integer    ' Place this definition in a 
    Name As String * 10    ' standard module.
    Address As String * 30
End Type
Dim Customer As CustomerRecord    ' Declare variables.
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Hello World"    ' Initialize variable.
MyLen = Len(MyInt)    ' Returns 2.
MyLen = Len(Customer)    ' Returns 42.
MyLen = Len(MyString)    ' Returns 11.
MyLen = Len(MyCur)    ' Returns 8.

O segundo exemplo utiliza LenB e uma função definida pelo utilizador (LenMbcs) para devolver o número de carateres de byte numa cadeia se o ANSI for utilizado para representar a cadeia.

Function LenMbcs (ByVal str as String)
    LenMbcs = LenB(StrConv(str, vbFromUnicode))
End Function
Dim MyString, MyLen
MyString = "ABc"
' Where "A" and "B" are DBCS and "c" is SBCS.
MyLen = Len(MyString)
' Returns 3 - 3 characters in the string.
MyLen = LenB(MyString)
' Returns 6 - 6 bytes used for Unicode.
MyLen = LenMbcs(MyString)
' Returns 5 - 5 bytes used for ANSI.

As funções de cadeia e como utilizá-las