Lire valeur d'un entéte

Résolu
lezardjet Messages postés 77 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 9 mai 2006 - 18 août 2004 à 12:52
lezardjet Messages postés 77 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 9 mai 2006 - 18 août 2004 à 15:38
Bonjour

Je travaille en VB et SQL sous access
J'ai une table. Cette table a plusieurs champs
Exemple numéro, code_travail et destination.

Je cherche a lire le nom des champs de ma table (par exmple "destination") pour le creer si il n'existe pas. Je sait comment supprimer un champs, creer un champ ect....
Mais comment lire la valeur de l'entete de ce champ??????????

il me faudrait quelque chose du genre

If "fields.destination n'extise pas" then
sql = "ALTER TABLE MaTable ADD COLUMNS destination TEXT"
db.Execute sql
end If

merci de votre aide!!!!! :)

4 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
18 août 2004 à 14:42
Salut,

Remplace Dim fld As Fields par Dim fld As Field ou Dim fld As DAO.Field
En tous cas, pas d'"s" à field.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
18 août 2004 à 13:09
Salut, c ADO ou DAO ?

'Exemple DAO
Dim db As Database
Dim fld As Field

Set db = OpenDatabase("c:\temp\basetest.mdb")

For Each fld In db.TableDefs("Exemple").Fields
MsgBox fld.Name
Next


Exemple ADO
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim fld As ADODB.Field

  'Ouverture base
  cnn.Open "Provider=" & TonProvider & ";" & _
     "Data Source=" & TaBase & ";"

  'Ouverture Recordset
  rst.Open "select * from TaTable", cnn

  ' Nom des champs
  For Each fld In rst.Fields
    msgbox fld.Name
  Next


Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
lezardjet Messages postés 77 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 9 mai 2006
18 août 2004 à 14:27
Salut

merci pour cette rapide réponse

je travaille en DAO

j'ai essayé d'adapter ton code mais je bloque sur "MsgBox (fld.Name)"
il me dit "menbre de méthode ou donné introuvable"

te montre mon code :

Dim sql As String
Dim rs As DAO.Recordset
Dim db1 As DAO.Database
Dim fld As Fields
 
'connection
Set db1 = CurrentDb

'prépare la base de transfert
sql = "SELECT * FROM temp_codes_affaires"
Set rs = db1.OpenRecordset(sql, dbOpenDynaset)

'Voir si se code existe déja dans table temp code aff
 For Each fld In db1.TableDefs("temp_codes_affaires").Fields
 MsgBox (fld.Name)
 Next

'fermeture des bases
rs.Close

db1.Close

End Sub


je travaille avec Access 2000... normalement j'ai mis les bonnes références.... j'ai essayer en remplacant dans la boucle temp_codes_affaires par rs... sa marche pas non plus./..

as tu une petite ID

merci
0
lezardjet Messages postés 77 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 9 mai 2006
18 août 2004 à 15:38
T'ai un boss!!!!!

sa marche nikel!!!

Un GRAND merci pour tout aide, a trés bientot!

Lezard VB newbie ;)
0
Rejoignez-nous