Bonjour à tous.
Je suis actuellement un train de développer une sorte de "PHPMyAdmin" pour mon entreprise.
Le but de ce programme est de récupérer la liste des tables (ça, aucun problème) et quand on sélectionne une table, afficher la liste des champs et un certain nombre d'informations :
-Nom du champ
-Type et taille du champ
-Clé primaire ?
-Valeur par défaut
-Null autorisé ?
Je récupère la liste des champs grace à "DESCRIBE" :
Je parcours ensuite mon RecordSet et affiche les informations dans un MSFlexGrid
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Set RsStr = New ADODB.Recordset Cd_SQL = "DESCRIBE " & MSFlexGrid2.TextArray(Fgi_tables(Index_tables, 1)) & ";" RsStr.Open Cd_SQL, ConnexionServ
Seulement voilà, quand le champ est un TinyInt(1) et que RsStr(4) vaut Null, la fonction IsNull(RsStr(4)) renvoie "True" quand même... et je ne sais pas comment contourner le problème (à part sauter cette partie quand le champ est un Tinyint(1) mais c'est pas très propre quand même..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 If Not RsStr.EOF Then RsStr.MoveFirst Compteur = 1 Do While Not RsStr.EOF If Compteur + 1 >= MSFlexGrid3.Rows Then MSFlexGrid3.AddItem "" MSFlexGrid3.TextArray(Fgi_champs(Compteur, 1)) = Majuscule(RsStr(0)) 'Nom du champ MSFlexGrid3.TextArray(Fgi_champs(Compteur, 2)) = Majuscule(RsStr(1)) 'Type/Taille du champ MSFlexGrid3.TextArray(Fgi_champs(Compteur, 3)) = Majuscule(RsStr(3)) 'Primary Key If IsNull(RsStr(4)) = False Then 'Valeur par défaut MSFlexGrid3.TextArray(Fgi_champs(Compteur, 4)) = RsStr(4) End If
En vous remerciant par avance pour vos réponses ^^
Partager