Ir para conteúdo
Fórum Script Brasil
  • 0

Existencia de tabela


Carolina Marinho

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

Kuroi, fiz o seguinte:

Dim db As DAO.Database
Dim existe As Boolean
Dim Tabela As DAO.TableDef


existe = False

Set db = DBEngine.OpenDatabase("D:\Banco_de_Dados_WA\SGC.mdf")



For Each Tabela In db.TableDefs

    If Tabela = "TBD_ODONTO_DATA_CARGA" Then
        existe = True
    End If

Next

mas dá erro "Used-defined type not defined" na linha 'Dim db As DAO.Database'

Link para o comentário
Compartilhar em outros sites

  • 0

carolina, mas você ta usando DAO no seu projeto?? você tem q adicionar a referencia então (Microsoft DAO 3.51 Object Library).

mas tem algum motivo especifico pra você tar usando DAO?? o DAO é um componente antigo, hj em dia usa-se o ADO q é muito melhor (como no exemplo q passei).

Link para o comentário
Compartilhar em outros sites

  • 0

Kuroi, acabei vendo o favorito errado :unsure:

ficou assim:

servidor = "WA-TAURUS"
    BancoDados = "SGC"
    cnTaurus.Provider = "SQLOLEDB"
    cnTaurus.Properties("Data Source").Value = servidor
    cnTaurus.Properties("Initial Catalog").Value = BancoDados
    cnTaurus.Properties("User ID").Value = "*****"
    cnTaurus.Properties("Password").Value = "*****"
    cnTaurus.Open
    
    Set rsTaurus = New ADODB.Recordset
    Set rsTaurus.ActiveConnection = cnTaurus


Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim existe As Boolean

Set cat.ActiveConnection = cnTaurus

existe = False

For Each tbl In cat.Tables
    If Tabela = "TBD_ODONTO_DATA_CARGA" Then
        existe = True
    End If
Next

Continua dando o mesmo erro, agora na linha 'Dim cat As New ADOX.Catalog'

Link para o comentário
Compartilhar em outros sites

  • 0

Também não tem...

Achei uma solução válida, mas pra ser feita no SQL

IF EXISTS (SELECT 1 
    FROM INFORMATION_SCHEMA.TABLES 
    WHERE TABLE_TYPE='BASE TABLE' 
    AND TABLE_NAME='nomedatabela') 
        SELECT 'tablename exists.' 
ELSE 
        SELECT 'tablename does not exist.'

Isso serviu pra mim. Mas, mesmo assim, eu ainda prefiro no VB <_<

Link para o comentário
Compartilhar em outros sites

  • 0

acho q você pode executar esse codigo ai como query no recordset ne.

so q não vai funciona pra otros bancos.

quanto ao ADOX, deve ter sim. q windows você usa??

você ta entrando em referencias ou em componentes??

tem q ser em menu Project -> References

então, mostra um printscreen da lista de referencias, mostrando todos os q comecam com "Microsoft A..." pra ver se eu identifico.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...