USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Nome das tabelas em banco Access
vaini
PARAPUÃ
SP - BRASIL
Postada em 24/01/2006 11:43 hs            

Estou precisando colocar os nomes de todas as tabelas de um banco access numa combo. Meu codigo esta assim

Dim db as Database

Sub Form_Load()
    Set db = OpenDatabase(App.Path & "anco.mdb", vbOpenDynaset)
    Combo1.Clear
End Sub

Sub Command1_Click()
    For i = 0 To db.TableDefs.Count - 1
        Combo1.AddItem(db.TableDefs(i).Name
    Next
End Sub

O que acontece na real, é que eu tenho atualmente nesse banco de dados 62 tabelas, mas na combo, só são listadas 4 tabelas, que são MSysACEs, MSysObjects, MSysQueries e MSysRelationships.

Nao sei mais o que fazer. Ainda sou meio novato em vb, entao nem sei se estou usando ADO ou DAO, ou seja la o que for.
A proposito, já verifiquei as dicas do site, o forum, e ja tentei aplicar o que vi, mas o resultado foi o mesmo. Nao usei ADOX porque meu programa inteiro nao usou. Se eu precisar mudar isso agora, vou me complicar.


Agradeço qualquer ajuda.
Abraços.

 

Fernando Cesar Vaini

Se voce morrer daqui a 5 minutos, vai levar todo o seu conhecimento. Antes que isso aconteça, compartilhe-o!!!

     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 24/01/2006 23:06 hs            
Olha cara... não sei se é 100% mas tenta deste modo:
 
--------------------------------------------------------
 
Dim DB As Database
Dim RS As Recordset
Dim i As Integer

Private Sub Command1_Click()
Set DB = OpenDatabase("c:Banco.MDB")
On Error GoTo Erro_Description
texto = ""
For i = 0 To DB.TableDefs.Count - 1
      
    If DB.TableDefs(i).Attributes = 0 Then
        texto = texto & DB.TableDefs(i).Name & vbCrLf
    End If
Next
 
Text1.text = Texto
 
Erro_Description:
If Err.Number <> 3265 And Err.Number <> 0 Then
MsgBox "Descrição do erro: " & Err.Description & vbCrLf & "Número do erro:" & Err.Number
End If
End Sub
------------------------------------------------------------------------------
 
Dei umas pesquisadas e ao q parece as tabelas criadas pelo usuário, q vulgarmente chamo de "tabelas não sistemáticas" tem um valor na propriedade "Attributes" diferente de 0 então deste modo pude diferenciá-las...
 
Não sei ainda se isso acontece sempre mas tenta ae
 
qq dúvida é só postar
 
t+
 
 
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 25/01/2006 06:10 hs         
  For intI = 0 To vgdb.TableDefs.Count - 1
    List1.AddItem vgdb.TableDefs(intI).Name
  Next
 
     
vaini
PARAPUÃ
SP - BRASIL
Postada em 25/01/2006 06:43 hs            
Ae galera, valew pelas respostas. Em todo o caso, eu consegui resolver o problema com o seguinte codigo:
 
Dim Tabela As TableDef
For Each Tabela in db.TableDefs
     If Left(Tabela.Name,3) <> "MSy" Then Combo1.AddItem(Tabela.Name)
Next
 
Espero que esse codigo possa resolver futuras duvidas.
 
Valew.

Fernando Cesar Vaini

Se voce morrer daqui a 5 minutos, vai levar todo o seu conhecimento. Antes que isso aconteça, compartilhe-o!!!

     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página