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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Consulta existencia de uma Tabela no Acess2000
JJF
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 13/05/2005 07:03 hs            
Uso ADO, Acess2000    preciso saber via código, se existe uma tabela no Banco de Dados. fvr informar onde estou errando. Obrigado.
ORS = OpenSchema(adSchemaTables, Array(Empty, Empty, \servidoranco.mdb, "TABELA"))
   
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 13/05/2005 10:29 hs         
Private Sub Form_Load()
  Set vgdb = OpenDatabase("C:Documentos_AndréTempBancoDeDados.mdb")
End Sub
 
Private Sub Command4_Click()
  Dim Encontrou As Boolean
  Dim TipoObjeto As Integer '1 = tabela, 2 = consulta
  Dim NomeObjeto As String
 
  Encontrou = False
  TipoObjeto = 2
  NomeObjeto = "soma fatura2"
 
  subVerificaObjeto NomeObjeto, TipoObjeto, 0, Encontrou
  If Encontrou Then
    MsgBox "A " & IIf(TipoObjeto = 1, "Tabela", "Consulta") & " '" & NomeObjeto & "' existe!", vbInformation, "Aviso"
  Else
    MsgBox "A " & IIf(TipoObjeto = 1, "Tabela", "Consulta") & " '" & NomeObjeto & "' não existe!", vbInformation, "Aviso"
  End If
End Sub
'Sub troca SQL da consulta no banco de dados
Public Sub subVerificaObjeto(NomeObjeto As String, TipoObjeto As Integer, Indice As Integer, ByRef Encontrou As Boolean)
  If TipoObjeto = 1 Then 'se for uma tabela que está procurando
    If Indice < vgdb.TableDefs.Count Then
      If NomeObjeto = vgdb.TableDefs(Indice).Name Then
        Encontrou = True
      Else
        subVerificaObjeto NomeObjeto, TipoObjeto, Indice + 1, Encontrou
      End If
    End If
  ElseIf TipoObjeto = 2 Then 'se for uma consulta que está procurando
    If Indice < vgdb.QueryDefs.Count Then
      If NomeObjeto = vgdb.QueryDefs(Indice).Name Then
        Encontrou = True
      Else
        subVerificaObjeto NomeObjeto, TipoObjeto, Indice + 1, Encontrou
      End If
    End If
  End If
End Sub
   
Rodrigo
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 13/05/2005 11:28 hs            
A resposta anterior funciona porém com DAO usando ADO vc tem usar Catalog.
 
Vc tem q adicionar "Microsoft ADO Ext. 2.7 for DLL Security" nas referências do VB ai é só seguir o exemplo abaixo:
 
dim con as NEW ADODB.Connection
dim cat as NEW ADOX.Catalog
dim i as Integer
dim strTables() as String
 
con.ConnectionString="PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=seubanco.mdb; User Id=admin; password="
 
con.open
 
cat.ActiveConnection = con
 
redim strTables(cat.Tables.Count)

For i = 0 To cat.Tables.Count - 1
     strTables(i)=cat.Tables(i).Name
Next
 
Isto resolve seu problema.
O For está colocando o nome das tabelas do banco de dados no vetor strTables,
feito isso, vc pode testa se a tabela que vc quer estah no vetor ou simplesmente fazer o teste direto dentro do FOR.
 
ateh
 
rodrigo
 
TÓPICO EDITADO
 
JJF
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 13/05/2005 17:49 hs            
Rodrigo, obrigado por ter respondido.      mais um probleminha eu não tenho a referendia abaixo para escolher, o que eu tenho é o 2.1  for DLL Security aonde eu consigo a atualização. Obrigrado.

Vc tem q adicionar "Microsoft ADO Ext. 2.7 for DLL Security" nas referências do VB ai é só seguir o exemplo abaixo:
   
Rodrigo
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 13/05/2005 17:54 hs            
Kra vc pode baixar em:
 
 
vc vai ver versão 2.8 não tem problema, baixe e instale que vai logo te dar a dll nova.
TÓPICO EDITADO
 
JJF
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 13/05/2005 17:57 hs            
Rodrigo Deu Certo já consegui a atualização.   Muito Obrigado já estava tentando solucionar este problema a dois dias.  Obrigado tb ao martini por se interessar.
   
Página(s): 1/1    

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