... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Tamanho do campo via VBA

Usuário Maurício:

Em uma tabela tenho um campo que necessito saber a propriedade "Tamanho do Campo", utilizando o VBA com ADO. Como faço?

Suporte:

Maurício, pelo ADO você pode usar o Catalog do ADOX. Exemplo:

Dim con As New ADODB.Connection
Dim cat As New ADOX.Catalog
'Aqui, você usa o PROVIDER caso não esteja com a tabela vinculada
Set con = CurrentProject.Connection 
Set cat.ActiveConnection = con
Debug.Print cat.Tables("NomeDaTabela").columns("NodoDocampo").DefinedSize

Nota: Para usar o ADOX, você precisa ativar a referência MICROSOFT ADO EXT. 6.0 FOR DLL AND SECURITY

No caso de estar com a tabelas vinculadas, você pode usar o DAO que é mais simples. Exemplo:

currentdb.TableDefs("NomeTabela").Fields("NomeCampo").Size

Usuário Maurício:

O problema é que quando o campo é do tipo número, ele sempre retorna zero, independente do tamanho do campo ser Inteiro, Inteiro Longo, Duplo, etc.   Eu não tenho idéia de como capturar isso.

Suporte:

Maurício, use o Precision.

...
Debug.Print cat.Tables("NomeTabela").columns("NomeCampo").Precision
 
'-------------------------------------
Byte = 3 
Simples = 7
Inteiro Longo = 10
Duplo = 15
Decimal = 18
Inteiro = 5
Moeda = 19

Usuário Maurício:

Perfeito!


 

 


Não há comentário

Envie seu comentário: