Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB6] Controllo esistenza tabella

    Come faccio a controllare che una tabella è già presente in un database Access?
    Io aggiro il problema creandola e verificando poi se viene originato un errore, ma suppongo che esista un metodo migliore.

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Con questa routine d'esempio, puoi verificare tutte le Tbl che compondono un DB. Estrai la parte che ti é utile:
    codice:
    Private Sub Command1_Click()
        Dim conn As ADODB.Connection
        Dim rsSchema As ADODB.Recordset
         
        Set conn = New Connection
        conn.Provider = "Microsoft.Jet.OLEDB.4.0"
        conn.Open App.Path & "\NomeTuoDB.mdb"
    
        Set rsSchema = conn.OpenSchema(adSchemaTables)
        
        List1.Clear
        
        Do While Not rsSchema.EOF
            List1.AddItem rsSchema("TABLE_TYPE") & "  :  " & rsSchema("TABLE_NAME")
            Debug.Print rsSchema("TABLE_TYPE") & "  :  " & rsSchema("TABLE_NAME")
            rsSchema.MoveNext
        Loop
            
        Set rsSchema = Nothing
        conn.Close
        Set conn = Nothing
    End Sub
    LM

  3. #3
    Che libreria usi per accedere ai dati? ADO? DAO?
    Chi non cerca trova.

  4. #4
    Uso ADO.
    Spulciando la documentazione online ho visto che si può fare così:
    codice:
    Set DBScr = New ADOX.Catalog
    DBScr.ActiveConnection = strAccess & "database.mdb"
    For Each Tabella In DBScr.Tables
       If Tabella.Type = "TABLE" Then
          If Tabella.Name = "MiaTabella" Then Exit For
       End If
    Next
    Set DBScr = Nothing
    ma mi chiedo se sia proprio necessario elencarle.

  5. #5
    No, dovrebbe essere possibile trovare la tabella in questo modo:
    codice:
    Dim t As Table
    Set t = DBScr.Tables("NomeTabella")
    Non ho potuto provare ma credo che se la tabella "NomeTabella" non esiste VB genera un errore, da intercettare opportunamente con un bel On Error Resume Next.
    Ciao
    Chi non cerca trova.

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.