1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Questions générale
Sujet n° 792 |
Ajouter un champs à une table |
le 21/01/2018 : 10:49 par jfs
visiteur |
Bonjour Pierre
Je n'ai pas de soucis pour ajouter un champs à une table avec CreateField tant que je donne le nom entre les "" Ex MaTable.CreateField("MonNom",dbInteger)
mais ce que je souhaite faire ( si c'est possible) est que le nom de mon champs soit contenu dans une variable et la ça ne fonctionne plus. J'ai testé plusieurs écritures mais sans résultat
Ex MaTable.CreateField( MaVariable, dbInteger)
Ceci est il possible ? Sinon existe t il une autre solution. Ma variable est un nombre qui va augmenter
Merci pour ton aide
Cordialement
jfs |
|
|
Réponse n° 1 -------- le 21/01/2018 : 15:04 par 3Stone
Administrateur
|
Bonjour,
Cela ne devrait pourtant pas créer de problème.
Voilà le code qui fonctionne parfaitement :
Code :
Function fnAddField(sTable As String, sField As String, nFieldType As Integer)
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
On Error GoTo ErrorAdd
Set db = CurrentDb
Set tdf = db.TableDefs(sTable)
Set fld = tdf.CreateField(sField, nFieldType)
tdf.Fields.Append fld
Set tdf = Nothing
Set db = Nothing
Exit Sub
ErrorAdd:
MsgBox Err.Number & " - " & Err.Description
End Function
et on l'utilise ainsi :
Code :
fnAddField "T_Test","Mon champ",dbText
Cordialement,
Pierre (3Stone)
|
|
|
Réponse n° 2 -------- le 21/01/2018 : 20:02 par jfs
visiteur |
Merci Pierre pour cette réponse et pour sa rapidité
Le code fonctionne parfaitement mais sans doute j'ai mal formulé ma question.
Pour appeler la fonction tu utilises fnAddField "NomDeLaTable", "NomDuChamps",dbText
et ce que je veux faire c'est
CT1 est une variable
CT1= 500 par exemple
fnAddField "NomDeLaTable", CT1, dbText
et la ça ne marche plus
Comment contourner le problème
Cordialement |
|
|
Réponse n° 3 -------- le 21/01/2018 : 23:14 par 3Stone
Administrateur
|
Bonjour,
Je viens de faire l'essai et cela fonctionne parfaitement. Seul problème que je peux voir, c'est le type de tes variables...
Tu peux afficher le bout de code ou tu définis tes variables et comment tu les peuples ?
Cordialement, Pierre (3Stone) |
|
|
Réponse n° 4 -------- le 22/01/2018 : 10:00 par jfs
visiteur |
Bonjour Pierre
En lisant ton message j'ai vu que tu avais des doutes sur ma variable alors j'ai cherché de ce coté. Ma variable était déclarée dans un module en Integer alors que dans la fonction elle était déclarée en String .
Je suis désolé de t'avoir dérangé en raison d'un manque d'attention de ma part mais je n'ai pas travaille sur Access depuis 2 ans et 'j'ai perdu la main.
Merci pour ton aide et merci pour ta disponibilité
Cordialement
jfs |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|