Problem de debutant

Signaler
Messages postés
8
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
7 novembre 2005
-
Messages postés
8
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
7 novembre 2005
-
Hello !

je debute en vb et j'ai un problem (qui m'enerve au possible): j arrive a rien sous access 2002

voici le code que j ai place dans le formulaire (module)



en gros je veu modifier/ajouter le contenu d'un table

pour l'instant je ne peut pas cree un nouveau champ



merci de m aider

@+



Set tmpTable = CurrentDb.TableDefs("Personne")

-->Set tmpField = tmpTable.CreateField("essai", dbText)

tmpTable.Fields.Append tmpField

CurrentDb.TableDefs.Append tmpTable



Set tmpRec = CurrentDb.OpenRecordset("Personne", dbOpenDynaset)

tmpRec.AddNew

tmpRec!essai = "unText"



erreur convertion de type

6 réponses

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut,

Si ta table n'existe pas :

Set tmpTable = CurrentDb.CreateTableDef("Personne")
With tmpTable
.Fields.Append .CreateField("Essai", dbText)
End With
CurrentDb.TableDefs.Append tmpTable

si elle existe :

Set tmpTable = CurrentDb.TableDefs("Personne")
With tbl
.Fields.Append .CreateField("Essai", dbText)
End With

Cordialement, CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
oups, j'ai laissé trainer un tbl, il faut comprendre tmpTable.

Cordialement, CanisLupus
Messages postés
8
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
7 novembre 2005

merci pour ta reponse,
CanisLupus !

cependant sa ne fonctionne pas et je comprend pas pourquoi :



pour creer une table avec le code que tu m'a indiqué :

.Fields.Append .CreateField("Essai2", dbText)

< erreur de convertion de type de donnee >



pour ouvrir une table avec le code que tu m'a indiqué :

.Fields.Append .CreateField("Essai", dbText)

< objet est incorrect ou n'est plus defini >



pour un recordset

Set tmpRec = CurrentDb.OpenRecordset("Personne", dbOpenDynaset)

< argument non valide >



@+
Messages postés
8
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
7 novembre 2005

desolé pour la taille de la police...



@+
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Chez moi, le code suivant fonctionne :

Dim db As Database
Dim tmpTable As TableDef


Set db = OpenDatabase("c:\temp\bd1.mdb")
Set tmpTable = db.TableDefs("Table1")

With tmpTable
.Fields.Append .CreateField("Essai", dbText)
End With

Cordialement, CanisLupus
Messages postés
8
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
7 novembre 2005

il est vrai...

...j'y croyais plus



je sais pas ce qu'il s'est passé



n.b. j ai ajouté dbo 3.6 dans outil/reference



merci de ton aide Canislupus ,

c'est toujours dur de commencer un nouveau langage(vb), et un nouveau concept (db)



@+