Tamanho do campo via VBA
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
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 as 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!
1 comentário(s) Tino Souza 20/11/2023 17:32:50 Olá Sr. Avelino Sampaio Boa noite Teria como detectar o movimento do mouse MouseMove no MDI do Access 2007? Estou usando o monta Ribbons que adquiri com o Sr. com o FondoAccess |