Base de données access

ddove53 Messages postés 623 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 15 juin 2010 - 21 mai 2008 à 11:53
ddove53 Messages postés 623 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 15 juin 2010 - 22 mai 2008 à 08:56
Slt, dans mùa table je veux prendre les données d'un champ (libOT) et les mettre en champs pour pouvoir enrégistrer des données dans ces champs:
je fais comme suit:

Dim Bdd As String
Dim sql1 As String
Dim rs3 As Recordset
Dim VALEUR As String
sql1 = "select * from Financeurs_OP"
Set rs3 = Db.OpenRecordset(sql1, dbOpenDynaset)

VALEUR = rs3.Fields("libOT")
rs3.Fields.Append .CreateField(VALEUR, dbText)
rs3.Update
rs3.Close

Mais j'ai une erreur "référence incorrecte ou non qualifiée"
Pouvez-vous m'aider?

6 réponses

NHenry Messages postés 15128 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 9 juin 2024 159
21 mai 2008 à 12:15
Bonjour

D'après ce que je vois, tu a un espace entre .Append et .CreateField, cela peut être incorrect.

Mais je crois que si tu veux ajouter une colonne à une table, il faut que tu utilises les schémas ou une requête SQL ALTER.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site

s3.Fields.Append .CreateField(VALEUR, dbText)
0
ddove53 Messages postés 623 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 15 juin 2010
21 mai 2008 à 12:51
le probleme c'est pas l'espace.
Peut-etre je devrais essayer la requyete Alter de SQl.
Je ne sais pas si ca va le faire.
0
CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008
21 mai 2008 à 13:30
Bonjour,

A ma connaissance, on ne peut pas ajouter un champ en faisant appel à un type recordset, il faudrait plutôt passer par un objet TableDefs
...
Dim Monchamp as field

Set Monchamp = DB.tabledefs("Financeurs_OP").CreateField (VALEUR, dbText)
DB.fields.append Monchamp
...
Ou alors comme l'a dit NHenry, par SQL

<code class="contenuCode" id="contenuCoded0e102719">ALTER TABLE Financeurs_OP ADD COLUMN Valeur dbText;


</code>
0
ddove53 Messages postés 623 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 15 juin 2010
21 mai 2008 à 14:17
Désolé mais ca marche pas.
Je vais contourner le probléme.
Par exemple Dans une meme table maTable, j'ai les champs A, B, C, D..
Dans mon champ A j'ai les données A1, A2, A3...
Je veux mettre A1 comme titre du champ B, A2 comme titre du champ C, A3 comme titre du champ D etc...
Comment je peux faire ma requete.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008
21 mai 2008 à 18:27
Re
J'ai testé ça, qui fonctionne chez moi:




Dim db As Database
Dim td As TableDef
...
Set db=OpenDatabase(DBPath)
Set td = db.TableDefs("Financeurs_OP")

td.Fields.Append td.CreateField(valeur, dbText)
0
ddove53 Messages postés 623 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 15 juin 2010
22 mai 2008 à 08:56
Ca marche pas. Pour plus d'explication, voila ce que je veux:
Par exemple j'ai  2 table: maTable1 et maTable2.Dans maTable1, j'ai les champs A, B, C, D..
Dans mon champ A j'ai les données A1 (1ère valeur de A), A2(2éme valeur de A), A3...
Je veux afficher A1 comme titre du champ B de la table maTable2, A2 comme titre du champ C de maTable2, A3 comme titre du champ D de maTAble3 etc...
Comment je peux faire ma requete.
0
Rejoignez-nous