OVH Cloud OVH Cloud

Changer le type d'un champ

5 réponses
Avatar
Jean Marie VIGNEAUD
Bonjour,

Je vous soumets un petit bout de code qui est censé changer le type d'un
champ mais cela ne fonctionne pas !

Merci de votre aide précieuse.

Cordialement,

JM
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field

Set dbs = CurrentDb

For Each tdf In dbs.TableDefs
If tdf.Name = "LIGNEDETAIL" Then
For Each fld In tdf.Fields
If fld.Name = "DET8montantht" Then


fld.Type = 10 'LA EST LE PROBLEME. SUREMENT
UN PB DE SYNTAXE ?
' Ici, la valeur 10
symbolise un champ de type texte

End If
Next fld
End If
Next tdf

dbs.Close
Set fld = Nothing
Set tdf = Nothing
Set dbs = Nothing

5 réponses

Avatar
Gafish
Bonjour,

Regarde ici la liste des différents types de champs :
http://officesystem.access.free.fr/vba/types_de_champs.htm

Arnaud

Jean Marie VIGNEAUD wrote:
Bonjour,

Je vous soumets un petit bout de code qui est censé changer le type
d'un champ mais cela ne fonctionne pas !

Merci de votre aide précieuse.

Cordialement,

JM
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field

Set dbs = CurrentDb

For Each tdf In dbs.TableDefs
If tdf.Name = "LIGNEDETAIL" Then
For Each fld In tdf.Fields
If fld.Name = "DET8montantht" Then


fld.Type = 10 'LA EST LE PROBLEME.
SUREMENT UN PB DE SYNTAXE ?
' Ici, la
valeur 10 symbolise un champ de type texte

End If
Next fld
End If
Next tdf

dbs.Close
Set fld = Nothing
Set tdf = Nothing
Set dbs = Nothing


Avatar
Raymond [mvp]
Bonjour Arnaud.

malheureusement on ne peut pas changer le type d'un champ de table en vba.
il faut virer et remplacer.
http://officesystem.access.free.fr/ex_changer_type_champ.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Gafish" a écrit dans le message de news:

Bonjour,

Regarde ici la liste des différents types de champs :
http://officesystem.access.free.fr/vba/types_de_champs.htm

Arnaud



Avatar
Gafish
Ah, je ne savais pas qu'on ne pouvait changer le type en vba. D'un autre
côté je n'avais jamais essayé car je n'ai jamais rencontré de cas où ca
semblait utile. D'ailleurs est-ce que ca ne serait pas trop dangereux de
changer le type d'un champ en vba ?

Raymond [mvp] wrote:
Bonjour Arnaud.

malheureusement on ne peut pas changer le type d'un champ de table en
vba. il faut virer et remplacer.
http://officesystem.access.free.fr/ex_changer_type_champ.htm


"Gafish" a écrit dans le message de
news:
Bonjour,

Regarde ici la liste des différents types de champs :
http://officesystem.access.free.fr/vba/types_de_champs.htm

Arnaud




Avatar
Raymond [mvp]
Non, ce n'est pas dangereux, access gère assez bien ce type de conversion.
Bien sûr il faut faire une bonne sauvegarde avant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Gafish" a écrit dans le message de news:

Ah, je ne savais pas qu'on ne pouvait changer le type en vba. D'un autre
côté je n'avais jamais essayé car je n'ai jamais rencontré de cas où ca
semblait utile. D'ailleurs est-ce que ca ne serait pas trop dangereux de
changer le type d'un champ en vba ?



Avatar
Gafish
Par dangereux en fait, je n'entendais pas au niveau perte de données lors de
la conversion, mais plutôt par les eventuels effets de bords que ca pourrait
engendrer.

Raymond [mvp] wrote:
Non, ce n'est pas dangereux, access gère assez bien ce type de
conversion. Bien sûr il faut faire une bonne sauvegarde avant.


"Gafish" a écrit dans le message de
news:
Ah, je ne savais pas qu'on ne pouvait changer le type en vba. D'un
autre côté je n'avais jamais essayé car je n'ai jamais rencontré de
cas où ca semblait utile. D'ailleurs est-ce que ca ne serait pas
trop dangereux de changer le type d'un champ en vba ?