VÉRIFIER L'EXISTENCE D'UNE TABLE

cs_LoupBlanc Messages postés 52 Date d'inscription lundi 28 janvier 2002 Statut Membre Dernière intervention 8 avril 2009 - 6 févr. 2002 à 11:00
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 - 23 mars 2005 à 20:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2553-verifier-l-existence-d-une-table

VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
23 mars 2005 à 20:21
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
1gazelle Messages postés 24 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 24 mars 2005
23 mars 2005 à 16:44
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!
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
6 févr. 2002 à 18:33
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
cs_LoupBlanc Messages postés 52 Date d'inscription lundi 28 janvier 2002 Statut Membre Dernière intervention 8 avril 2009
6 févr. 2002 à 11:00
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
Rejoignez-nous