Diferença entre a função$ () esquerda e $ () esquerda no acesso
Qual é a diferença entre as funções esquerda() e esquerda$() em Microsoft Access?
2 answers
O final $ é um carácter de declaração de tipo para o tipo de dados String em VBA.
O resultado devolvido de$ () à esquerda é um texto, enquanto que o esquerda () devolve um Variante.
Você deve usar esquerda(), não esquerda$() se houver alguma chance de valores nulos, uma vez que a variante pode ser nula, mas a String não pode. Para demonstrar que:
Carregue em Ctrl+G para abrir a janela Imeditada.
Enter: ? Esquerda (Null,1) A resposta é nula.
Agora. introduzir: ? Esquerda$(Null, 1) Isto gera erro 94. Uma vez que o resultado deve ser nulo, e a String não pode ser nulo, você recebe o erro, "uso Inválido de nulo".
Se estiver a lidar com valores de texto, no código VBA,$ () da esquerda será ligeiramente mais eficiente, uma vez que evita a sobrecarga / ineficiência associada ao Variante. No entanto, se houver qualquer hipótese de Nulls estar envolvido, use Esquerda (), ou então lidar explicitamente com o nulo com algo como Nz ().
O$() à esquerda irá devolver um texto ou gerar um erro se passar o NULL
À esquerda() irá devolver um texto ou nulo se for ultrapassado
Mais informação sobre Nulls: http://allenbrowne.com/casu-11.html
A única diferença é que Left Aceita Null enquanto Left$ não aceita.
Se passou um texto, Ambos devolvem um texto. VarType: vbString
Se for inválido, Left devolve um valor nulo. VarType: vbNull
Ambos correm à mesma velocidade, cerca de 12 milhões. iterations pr. em segundo lugar, portanto, sem importância. Na verdade, se muitas amostras são registradas, a esquerda em média é uma fração mais rápida do que a esquerda$.Então, para abreviar: Use $ Left se você deseja aumentar um erro em um valor de parâmetro de nulo, caso contrário, Salve sua digitação.