begin process at 2012 02 11 10:56:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > VÉRIFIER L'EXISTENCE D'UNE TABLE

VÉRIFIER L'EXISTENCE D'UNE TABLE


 Information sur la source

Note :
Aucune note
Catégorie :Base de Donnees Niveau :Débutant Date de création :05/02/2002 Date de mise à jour :05/02/2002 12:34:39 Vu :3 484

Auteur : VicoLaChips2

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Ce code fonctionne avec dao 3.6, et permet de vérifier l'existence d'une table.

Source

  • Public db As Database
  • Public Function cnxTable(ByVal strTable As String) As Boolean
  • OBase (CheminFichier$)
  • Dim strSQL As String
  • strSQL = "Select * from " & strTable
  • On Error GoTo errors
  • db.Execute (strSQL)
  • errors:
  • If Err = 3078 Then
  • cnxTable = False
  • Else
  • cnxTable = True
  • End If
  • End Function
  • '--------------------------
  • Public Function CheminFichier$()
  • Dim chemin$
  • chemin$ = App.Path
  • If Right$(chemin$, 1) <> "\" Then chemin$ = chemin + "\"
  • CheminFichier$ = chemin$ & "MaBase.mdb"
  • End Function
  • '--------------------------
  • 'sub pour ouvrir la base
  • Public Sub OBase(fichier)
  • Set db = OpenDatabase(fichier)
  • End Sub
  • '-------------------------------------------------------prévoir de fermer la base :)
Public db           As Database

Public Function cnxTable(ByVal strTable As String) As Boolean
    OBase (CheminFichier$)
    Dim strSQL As String
    strSQL = "Select * from " & strTable
    On Error GoTo errors
    db.Execute (strSQL)
errors:
    If Err = 3078 Then
        cnxTable = False
    Else
        cnxTable = True
    End If
End Function
'--------------------------
Public Function CheminFichier$()
    Dim chemin$
    chemin$ = App.Path
    If Right$(chemin$, 1) <> "\" Then chemin$ = chemin + "\"
    CheminFichier$ = chemin$ & "MaBase.mdb"
End Function
'--------------------------
'sub pour ouvrir la base
Public Sub OBase(fichier)
    Set db = OpenDatabase(fichier)
End Sub
'-------------------------------------------------------prévoir de fermer la base :) 

 Conclusion

On appel comme ça :

If cnxTable("MaTable") = false then
    'ma table n'existe pas
End If


 Sources du même auteur

Source avec Zip UN DATASET SOUS VB6
Source avec Zip Source avec une capture MASQUE DE SAISIE DATE QUI AFFICHE LE MASQUE.
MACROS EXCEL POUR LES FICHIERS CSV
Source avec Zip TEMPS PENDANT LEQUEL L'ORDINATEUR EST ALLUMÉ.
Source avec Zip FONCTION REPLACE POUR ACCESS 97 AUSSI PERFORMANTE QUE REPLAC...

 Sources de la même categorie

Source avec Zip Source avec une capture BIEN ADMINISTRER LES ETUDIANTS ET LEURS CÔTES par okosa
Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source .NET (Dotnet) MISAHORAIRE par MdelM
Source avec Zip Source avec une capture BASEDEDONNEES,GESTIONDEMALADES,DATABASSE par shadkitenge

Commentaires et avis

Commentaire de LoupBlanc le 06/02/2002 11:00:33

Ton exemple est bien mais il ne fonctionne que ci la base se trouve avec l'executable.
Voici un exemple qui fonctionne avec SQL Serveur et oracle

dans cet exemple,
       - NomConnec représente la connection à la base
       "BRETENUE" représente la table à tester

If Not test_table_gene(NomConnec, "BRETENUE") Then
     La table n'existe pas
endif


Function test_table_gene(NomConnec As String, NomTable As String) As Boolean
    test_table_gene = False
    If NomConnec = "Oracle" Then
        If Test_Exist_Table_oracle(NomTable) = True Then
            test_table_gene = True
        End If
    Else
        If Test_Exist_Table_Sql(NomTable) = True Then
            test_table_gene = True
        End If
    End If
End Function


Function Test_Exist_Table_Sql(Table As String) As Boolean
    Dim rstTemp As ADODB.Recordset
    Dim SqlExist As String

    Test_Exist_Table_Sql = True
    Set rstTemp = New ADODB.Recordset
    
    SqlExist = "select name from sysobjects where id = object_id('dbo." & Table & "')"

    rstTemp.Open SqlExist, cnn, , , adCmdText

    If rstTemp.BOF = True And rstTemp.EOF = True Then
        Test_Exist_Table_Sql = False
    Else
        Test_Exist_Table_Sql = True
    End If
    rstTemp.Close
End Function

Function Test_Exist_Table_oracle(Table As String) As Boolean
    Dim rstTemp As ADODB.Recordset
    Dim SqlExist As String

    Test_Exist_Table_oracle = True
    Set rstTemp = New ADODB.Recordset
    
    SqlExist = "select * from user_tables where table_name = '" & UCase(Table) & "'"
    
    rstTemp.Open SqlExist, cnn, , , adCmdText

    If rstTemp.BOF = True And rstTemp.EOF = True Then
        Test_Exist_Table_oracle = False
    Else
        Test_Exist_Table_oracle = True
    End If
    rstTemp.Close
    Set rstTemp = Nothing
End Function

Commentaire de VicoLaChips2 le 06/02/2002 18:33:08

Je pense que ta méthode est franchement plus académique !!. En plus je n'ai pas encore eu l'occasion de travailler avec sql server comme serveur de base de donnée. En fait j'utilise simplement access. Je pense qu'il y a une solution autre que celle que je suggère, mais ne la connaissant pas, j'ai contourné le problème. De toute façon Acces ça va bien pour apprendre, mais après...?? @+ et good coding guys

Commentaire de 1gazelle le 23/03/2005 16:44:59

tu viens de me sauver la vie avec ta fontion, VicoLaChips2!!
trop bien!
parce que access c'est peut etre que pour apprendre mais c'est encore ultra utilisé dans les entreprises et pas les plus petites, loin de là!
encore merci!

Commentaire de VicoLaChips2 le 23/03/2005 20:21:13

chai vrai que c'est utilisé !! mais vue qu'on peut faire n'importe quoi avec..... j'ai même essayé de le brancher sur mon frigo... j'ai juste un problème ! aucune carte COM n'est compatible...
joke and top kodin girls and boys(!)

sweep

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales