lezardjet
Messages postés77Date d'inscriptionmercredi 17 décembre 2003StatutMembreDernière intervention 9 mai 2006
-
18 août 2004 à 12:52
lezardjet
Messages postés77Date d'inscriptionmercredi 17 décembre 2003StatutMembreDerniè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
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 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
lezardjet
Messages postés77Date d'inscriptionmercredi 17 décembre 2003StatutMembreDerniè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./..