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

Compr(cadeia* | *nomevar)

A sintaxe da função NÚM.CARAT tem os seguintes argumentos:

Argumento Descrição
cadeia Qualquer expressão de cadeia válida. Se cadeia contiver Nulo, Nulo é devolvido.
nomevar Qualquer nome variável válido. Se nomevar contiver Null, Null será retornado. Se varname for uma Variant, Len trata-o como uma String e sempre retorna o número de caracteres que contém.

Observações

Um (e apenas um) dos dois argumentos possíveis deve ser especificado. Com tipos definidos pelo usuário, Len retorna o tamanho como será gravado no arquivo.

Nota

Utilize a função ComprB com dados de byte 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, NÚM.CARATB devolve o número de bytes utilizado para representar essa cadeia. Com tipos definidos pelo usuário, LenB retorna o tamanho na memória, incluindo qualquer preenchimento entre elementos. Para código de exemplo que usa LenB, consulte 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 usados com cadeias de caracteres de comprimento variável em tipos de dados definidos pelo usuário.

Exemplo de consulta

Expressão Resultados
SELECT ProductID, Len(ProductID) AS ProductLen FROM ProductSales; Devolve os valores do campo "IDDoProduto" 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 usa Len para retornar o número de caracteres em uma cadeia de caracteres ou o número de bytes necessários para armazenar uma variável. O tipo... A definição CustomerRecord do bloco Tipo Final deve ser precedida pela palavra-chave Private se aparecer em um módulo de classe. Num módulo padrão, uma instrução Type pode ser Public.

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 usa LenB e uma função definida pelo usuário (LenMbcs) para retornar o número de caracteres de byte em uma cadeia de caracteres se ANSI for usado para representar a cadeia de caracteres.

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