ABRIR BANCO E SABER QUAIS TABELA E CAMPOS EXITEM
Gostaria de fazer um sistema que quando eu abrir o banco de dados ele:
Em uma janela me de as tabelas que existem no banco
Em outra os campos da tabela que eu selecionar
Alguem pode me ajudar?
Obrigado
Em uma janela me de as tabelas que existem no banco
Em outra os campos da tabela que eu selecionar
Alguem pode me ajudar?
Obrigado
Usando ADO:
Qualquer dúvida Post
Te +[S56]
Dim adoConexao As ADODB.Connection
Dim adoTabelas As ADODB.Recordset, adoCampos As ADODB.Recordset
Dim intContador As Integer
Set adoConexao = New ADODB.Connection
adoConexao.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source =" & App.Path & IIf(Right$(App.Path, 1) = "\", "", "\") & "Banco.mdb"
Set adoTabelas = adoConexao.OpenSchema(adSchemaTables)
Do Until adoTabelas.EOF
lstTabelas.AddItem adoTabelas(2)
adoCampos.Open "SELECT * FROM " & adoTabelas(2), adoConexao
For intContador = 0 To adoCampos.Fields.Count - 1
lstCampos.AddItem adoCampos(intContador).Name
Next
adoTabelas.MoveNext
Loop
Qualquer dúvida Post
Te +[S56]
Obs.: Vai trazer todos os campos de Todas as Tabelas Junto no mesmo list.
Com pouca alteração vc pode mudar isso p/ o click do List da Tabela ou Trazer Nome da Tabela + Campo,
AÃ vai da sua necessidade
Te +[S56]
Com pouca alteração vc pode mudar isso p/ o click do List da Tabela ou Trazer Nome da Tabela + Campo,
AÃ vai da sua necessidade
Te +[S56]
Tava faltando setar a variavel adoCampos, Mas eu testei e agora ta certo.
Eu fiz uma separação melhor das tabelas tb.
O campo 3 do adSchemaTables é o tipo de Tabela. Não tenho Consultas no meu BD, mas acho que deve ser VIEW.
Neste ex. só são listadas as TABLE (tabelas) que foram criadas pelo Usuário.
Qualquer dúvida Post
Te+[S56]
Eu fiz uma separação melhor das tabelas tb.
O campo 3 do adSchemaTables é o tipo de Tabela. Não tenho Consultas no meu BD, mas acho que deve ser VIEW.
Neste ex. só são listadas as TABLE (tabelas) que foram criadas pelo Usuário.
Dim adoConexao As ADODB.Connection
Dim adoTabelas As ADODB.Recordset, adoCampos As ADODB.Recordset
Dim intContador As Integer
Set adoConexao = New ADODB.Connection
adoConexao.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source =" & App.Path & IIf(Right$(App.Path, 1) = "\", "", "\") & "Banco.mdb"
Set adoTabelas = adoConexao.OpenSchema(adSchemaTables)
Do Until adoTabelas.EOF
If adoTabelas(3) = "TABLE" Then
lstTabelas.AddItem adoTabelas(2)
Set adoCampos = New ADODB.Recordset
adoCampos.Open "SELECT * FROM " & adoTabelas(2), adoConexao
For intContador = 0 To adoCampos.Fields.Count - 1
lstTabelas.AddItem " - " & adoCampos(intContador).Name
Next
adoCampos.Close
End If
adoTabelas.MoveNext
Loop
Qualquer dúvida Post
Te+[S56]
Tópico encerrado , respostas não são mais permitidas