Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    162

    [VB6] Verificare se esiste una tabella in un db

    Come faccio a verificare se in un db access esiste una certa tabella di nome ad esempio tab1?

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: [VB6] Verificare se esiste una tabella in un db

    Originariamente inviato da scarob
    Come faccio a verificare se in un db access esiste una certa tabella di nome ad esempio tab1?
    Se provi a eseguire una query sql if exists (select * from tab1)
    con sql server potevi interrogare la tabella sysobjects

  3. #3
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    136

    Re: [VB6] Verificare se esiste una tabella in un db

    Originariamente inviato da scarob
    Come faccio a verificare se in un db access esiste una certa tabella di nome ad esempio tab1?
    Codice PHP:
    Public Function TblExist(ByVal TblName As String_
                            Optional ClmName 
    As String vbNullString
    'Status of connection'
      
    If m_FlgConnected True Then

        Set hRs 
    m_Connection.OpenSchema(adSchemaTables)
      
    'Table exist?'
        
    hRs.MoveFirst
        
    Do While Not hRs.EOF
          
    For 0 To hRs.Fields.Count 1
            
    If hRs.Fields(i).Name "TABLE_NAME" Then
              
    If hRs.Fields(i).Value TblName Then Flag True: Exit Do
            
    End If
          
    Next
          
    If Flag True Then Exit Do
          
    hRs.MoveNext
        Loop
      End 
    If
      If 
    Flag False Then GoTo TABLE_NO_FOUND
      Set hRs 
    Nothing
    'Column exist?'
      
    If Flag True And ClmName <> vbNullString Then
        Flag 
    False
        
    If m_SqlQuery("SELECT top 1 TblClient.* FROM " TblNameThen
          
    For 0 To m_RecordSet.Fields.Count 1
            
    If m_RecordSet.Fields(i).Name ClmName Then Flag True: Exit For
          
    Next
        End 
    If
      
    End If
      If 
    Flag False Then GoTo COLUMN_NO_FOUND 
    per darti l'idea di come potresti fare

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    162
    Speravo in qulcosa di più immediato... altre idee?

  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    codice:
    ' Nel progetto importi  'ADO Ext 2.X for DDL & Securety'
    
    ...... 
    Public cn As ADODB.Connection
    Public ct As ADOx.Catalog
    ......
    
    ' Da qualche parte hai aperto la connessione al DB   cn
    Set ct = New ADOx.Catalog
    ct.ActiveConnection = cn
    
    On Error Resume Next '<----- Questa è obbligatoria per il trap dell'errore 
                           
    If IsNull(ct.Tables("NomeDellaTabellaCheCerchi")) Then 
        ' Fai quello che devi fare se non c'è
        MsgBox "not found"
    End If
    
    ' Rimetti la tua gestion degli errori 
    On Error ...
    Ciao,
    Ciao, Brainjar

  6. #6
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    136
    Originariamente inviato da scarob
    Speravo in qulcosa di più immediato... altre idee?
    + immediato di una decina di righe di codice? :master:
    o di una funzione da chimare? :master::master:

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Pensare che gli avevi anche detto :
    per darti l'idea di come potresti fare
    Ciao
    Ciao, Brainjar

  8. #8
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    136

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    162
    scusate.. non volevo offendere nessuno dicendo:

    speravo in qualcosa di più immediato.

    Mi chiedevo solo se non esistesse una funzione che risolvesse il problema.

    Grazie a tutti lo stesso, e scusate ancora.

  10. #10
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    136
    Originariamente inviato da scarob
    scusate.. non volevo offendere nessuno dicendo:

    speravo in qualcosa di più immediato.

    Mi chiedevo solo se non esistesse una funzione che risolvesse il problema.

    Grazie a tutti lo stesso, e scusate ancora.
    Purtroppo devi fartela tu una funzione di controllo.

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.