ACCESS E LEGENDAS DAS COLUNAS
Preciso trabalhar com essa informação dentro de uma aplicação em VB6.
Tentei com os comandos ADO/ADOX mas isso não é possÃvel, pois parece que a propriedade Legenda (Caption) dos campos é interna ao Access e não fica disponÃvel para o ADO/ADOX. Não sei por que isso. é possÃvel obter informações de todo tipo sobre a estrutura (Schema) do BD, mas justamente esta [Ô]esqueceram[Ô] de implementar.
Para contornar, pensei em criar uma tabela auxiliar dentro do BD, na qual os registros conteriam o nome da tabela, o nome do campo e a legenda. O problema é que não tenho ideia de como jogar esse tipo de informação nessa tabela auxiliar. Não sei se isso seria feito no VB6 com algum comando SQL ou através de comandos internos do Access. E isso teria que ser feito sempre que o BD fosse aberto pela aplicação em VB6, para que qualquer alteração no nome e/ou legenda dos campos ficasse registrada na tabela auxiliar.
Alguém tem alguma ideia ou exemplo do que posso fazer, já que não conheço quase nada de comandos internos do Access.
Obrigado pela ajuda.
é possÃvel sim. Segue um exemplo, onde catalog é uma instancia de ADOX.Catalog
catalog.Tables([Ô]NomeTabela[Ô]).Columns([Ô]NomeColuna[Ô]).Properties([Ô]Description[Ô]).Value
A propriedade Description recupera a legenda.
Citação::
Bom dia JALEXM
é possÃvel sim. Segue um exemplo, onde catalog é uma instancia de ADOX.Catalog
catalog.Tables([Ô]NomeTabela[Ô]).Columns([Ô]NomeColuna[Ô]).Properties([Ô]Description[Ô]).Value
A propriedade Description recupera a legenda.
Na versão de Access que eu uso isso não ocorre. Só consigo fazer funcionar essa sua dica se eu copiar manualmente a Legenda para a Descrição.
Será que estou fazendo algo errado?
O problema todo é que não é só eu que mexo nesse BD. Se alguém mudar a legenda e esquecer de copiar para a Descrição (e isso vai acabar acontecendo) vou ter problemas com a aplicação em VB. Mas a sua dica seria um ótima solução caso houvesse um jeito de automatizar essa cópia. Se fosse possÃvel copiar a Legenda para a Descrição toda vez que o BD fosse aberto, tudo estaria resolvido. Talvez com comandos internos do Access fosse possÃvel. Conhece algum modo de fazer isso?
Citação:Se fosse possÃvel copiar a Legenda para a Descrição toda vez que o BD fosse aberto, tudo estaria resolvido. Talvez com comandos internos do Access fosse possÃvel. Conhece algum modo de fazer isso?
Desconheço essa possÃbilidade. Sei que usuários tendem a fuçar sempre onde não é preciso .... mas existe a necessidade de mudar a legenda com frequencia? Em teoria não deveria ser feito, cheira gambiarra rsrs
Citação:Fiz diversos testes aqui e só é possÃvel recuperar a propriedade Descrição, puxei outras prorpriedades mas a Legenda não vem.
Exatamente. A propriedade Caption não está disponÃvel. Tem muitas outras, mas essa eles [Ô]esqueceram[Ô].
Citação:Se fosse possÃvel copiar a Legenda para a Descrição toda vez que o BD fosse aberto, tudo estaria resolvido. Talvez com comandos internos do Access fosse possÃvel. Conhece algum modo de fazer isso?
Desconheço essa possÃbilidade.
Que pena. Era isso que está justamente me faltando. Sua dica de usar a Descrição foi ótima, ao invés do que eu tinha pensado (criar tabela auxiliar, etc.).
Basta copiar as Legendas para as Descrições dos campos no momento em que o BD é aberto.
Mas eu não conheço Access o suficiente para fazer isso. Quem sabe algum outro colega do fórum possa ajudar.
Citação:Sei que usuários tendem a fuçar sempre onde não é preciso .... mas existe a necessidade de mudar a legenda com frequencia? Em teoria não deveria ser feito, cheira gambiarra rsrs
Nunca dá prá pensar que usuários não vão fazer isso ou aquilo. Eles VÃO fazer algum dia e depois vão dizer que a aplicação está dando problema. Portanto, tentando ser precavido é que estou tendo que resolver esse caso.