begin process at 2008 08 22 06:22:21
1 229 780 membres
51 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Connaitre le type de colonne [ Base de données / ADO & DAO ] (drouault)

Connaitre le type de colonne le 20/05/2006 15:30:09

drouault
Bonjour Je souhaiterais à l'aide de la méthode OpenSchema connaitre également le type de données d'une colonne. Actuellement, j'arrive à connaitre les noms de colonne, mais je n'arrive pas à connaitre le type de données de la colonne. Cela est sans doute simple mais je n'ai pas réussi à trouver la fonction dans l'aide msdn. Si quelqu'un pouvait me dépanner, merci d'avance. Pierre

Re : Connaitre le type de colonne le 20/05/2006 15:32:08

drouault
J'entend par type de colonne pour savoir si c'est un champ texte, date, etc ... Meric d'avance Pierre

Re : Connaitre le type de colonne le 20/05/2006 16:23:19

jack
(Admin CS)
Salut
Comme tu aurais dû le faire, je suis allé sur le site msdn, j'ai tapé OpenSchema et j'y ai trouvé les infos suivantes ( lien ).
La méthode OpenSchema utilise le format suivant :
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)
Dans le QueryType, une cinquantaine de constantes permettent de ressortir les infos nécessaires.
Reporte toi à cette page qui explique comment faire en fonction du type de moteur que tu utilises pour ta connexion : clique ici mais ça n'a pas l'air très simple.
Bien sûr, c'est en anglais
Eventuellement, analyse cette source relativement indigeste : clique ici qui fournit tous ces renseignements

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

Re : Connaitre le type de colonne le 20/05/2006 16:38:37

drouault
Merci de ta réponse Jack. J'ai deja consulter l'aide msdn avant de poster et je n'y est pas trouver cer que je cherchais, à savoir quer je fais un OpenSchema(AdSchemaColumns) qui me renvoie bien le nom de chaque colonne, aprés que l'utilisateur est sélectionner la table dans la liste des tables que je recherche avec OpenSchema(AdSchemaTable). Ce que je souhaite ici, c'est pouvoir récupérer en plus du nom de ma table le type de données contenus dans ma colonne, à savoir du texte, des dates, etc ... Si tu consultes l'aide msdn aussi, tu t'apercevras que la propriété AdSchemaColumn ne contient que quatre variables, dont 3 font référence à la table rattachée et une au nom de la colonne. Je cherche donc s'il existe une variable supplémentaire "TYPE" sur cette propriété. Sachant que j'ai une valeur "TYPE" sur Adschematable mais que je ne sais pas à quoi elle sert vraiment vu que n'y ai pas compris grand chose à leurs explications ... En espérant avoir été clair .... Cordialement Pierre

Re : Connaitre le type de colonne le 20/05/2006 17:20:56

Renfield
(Admin CS)
il te suffit de fire :

sTableName = "MaTable"
Set RS = moDataBase.OpenSchema(adSchemaColumns, Array(vbNullString, vbNullString, sTableName))

ensuite, tu parcoure ton RecordSet....

le type de donnée ( RS.Fields("DATA_TYPE").Value ) est contenu dans l'enum ADODB.DataTypeEnum


Renfield
Admin CodeS-SourceS- MVP Visual Basic

Re : Connaitre le type de colonne le 12/05/2008 14:54:33

djtrefle
Bonjour,
cette derniere ligne de code me rend vraiment service : ca fait trois jours que j'essaie de faire ca !!

Mais avez vous une idee de comment savoir si le champ est "Unsigned" ?

Merci

Re : Connaitre le type de colonne le 13/05/2008 07:04:39

Renfield
(Admin CS)
toi, t'as pas pressé F2, pour regarder la liste des constantes de ADODB.DataTypeEnum ...

adUnsignedBigInt
adUnsignedInt
adUnsignedSmallInt
adUnsignedTinyInt


Re : Connaitre le type de colonne le 13/05/2008 09:55:07

djtrefle
ah merci bien pour l'histoire du F2 ! je ne connaissais pas du tout. Ca a l'air d'etre assez pratique.

Mais j'ai quand meme un peu de mal alors j'y arrive toujours pas.
Quand je fais ADODB.DataTypeEnum.adUnsignedInt ca me retourne toujours 19 meme quand l'entier est signee ...

Merci pour votre aide.

Re : Connaitre le type de colonne le 13/05/2008 10:20:22

Renfield
(Admin CS)
?????

pas compris la question....

la CONSTANTE adUnsignedInt renvoie toujours 19 ? ben ouais, c'est une constante ^^

par contre, a voir la valeur renvoyée par
RS.Fields("DATA_TYPE").Value

(Recordset obtenu, je le rappelle en demandant un schema de la table)


Classé sous : aide, données, type, colonne, connaitre

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS