Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

opération non valide

13 réponses
Avatar
C15
Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de naissance).


Merci de me préciser où est l'erreur

A+

15

10 réponses

1 2
Avatar
Eric
Bonjour,

Pas possible directement dès lors que le champ a déjà été ajouté à la
collection des champs de la table.
Il te faut créer et définir un nouveau champ, l'ajouter à la table puis
copier les infos de l'ancien dans le nouveau et supprimer l'ancien champ.
La procédure décrite chez Raymond:
http://officesystemaccess.seneque.net/ex_changer_type_champ.htm

Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de naissance).


Merci de me préciser où est l'erreur

A+

15


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
C15
Bonjour Eric,

Merci de ta réponse.
J'aurais du me douter que sur un coup pareil notre Raymond national
aurait déjà sévi :-)))

J'ai essayé d'appliquer sa procédure pour appliquer au champ
Date_de_naissance de ma table T import le type texte et le format
jj/mm/aaaa.

Cela ne marche pas au niveau du format et de Req (cela a tout effacé les
valeurs existantes).

Peux-tu me dire ce qui ne va pas dans la procédure suivante


Public Sub ChangerType(T_import As String, Date_de_naissance As String, _




dbdate As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(T_import).Fields(Date_de_naissance)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> dbdate Then
Set Fld_Nouveau =
Db.TableDefs(T_import).CreateField(Date_de_naissance & 1, dbdate)
Fld_Nouveau.Properties("Format") = "jj/mm/aaaa"
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(T_import).Fields.Append Fld_Nouveau
Req = "UPDATE " & T_import & " SET [" & Date_de_naissance & 1 &
"]= [" & Date_de_naissance & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(T_import).Fields.Delete Date_de_naissance
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = Date_de_naissance
End If
End Sub







Merci de ton aide

A+

C


Bonjour,

Pas possible directement dès lors que le champ a déjà été ajouté à la
collection des champs de la table.
Il te faut créer et définir un nouveau champ, l'ajouter à la table puis
copier les infos de l'ancien dans le nouveau et supprimer l'ancien champ.
La procédure décrite chez Raymond:
http://officesystemaccess.seneque.net/ex_changer_type_champ.htm

Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de naissance).


Merci de me préciser où est l'erreur

A+

15







Avatar
Eric
Re,

Argh ! Tu as changé les noms des arguments de la procédure ce qu'il ne
faut pas faire car ce sont des paramètres qui peuvent recevoir n'importe
quelle valeur appartenant à leur domaine de définition.

Sur une copie de la table évidemment, essaies ceci :
Changertype "T_import", "Date_de_naissance", dbDate
appelée par clic sur un bouton ou autrement à la suite de la procédure
d'import.

Avec la procédure ci-dessous à copier dans un module de portée globale.

Public Sub ChangerType(NomTable As String, NomChamp As String, _
Nouveau_Type As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Dim prp As DAO.Property
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(NomTable).Fields(NomChamp)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> Nouveau_Type Then
Set Fld_Nouveau = Db.TableDefs(NomTable).CreateField(NomChamp &
1, Nouveau_Type)
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(NomTable).Fields.Append Fld_Nouveau
Set prp = Fld_Nouveau.CreateProperty("Format", dbText,
"dd/mm/yyyy")
Fld_Nouveau.Properties.Append prp
Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= [" &
NomChamp & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(NomTable).Fields.Delete NomChamp
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = NomChamp
End If
Set prp = Nothing
Set Fld_Nouveau = Nothing: Set Fld_Ancien = Nothing
Set Db = Nothing
End Sub


(Attention aux retours à la ligne intempestifs dus au lecteur de news)

Bonjour Eric,

Merci de ta réponse.
J'aurais du me douter que sur un coup pareil notre Raymond national
aurait déjà sévi :-)))

J'ai essayé d'appliquer sa procédure pour appliquer au champ
Date_de_naissance de ma table T import le type texte et le format
jj/mm/aaaa.

Cela ne marche pas au niveau du format et de Req (cela a tout effacé les
valeurs existantes).

Peux-tu me dire ce qui ne va pas dans la procédure suivante


Public Sub ChangerType(T_import As String, Date_de_naissance As String, _




dbdate As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(T_import).Fields(Date_de_naissance)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> dbdate Then
Set Fld_Nouveau =
Db.TableDefs(T_import).CreateField(Date_de_naissance & 1, dbdate)
Fld_Nouveau.Properties("Format") = "jj/mm/aaaa"
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(T_import).Fields.Append Fld_Nouveau
Req = "UPDATE " & T_import & " SET [" & Date_de_naissance & 1 &
"]= [" & Date_de_naissance & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(T_import).Fields.Delete Date_de_naissance
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = Date_de_naissance
End If
End Sub







Merci de ton aide

A+

C


Bonjour,

Pas possible directement dès lors que le champ a déjà été ajouté à la
collection des champs de la table.
Il te faut créer et définir un nouveau champ, l'ajouter à la table
puis copier les infos de l'ancien dans le nouveau et supprimer
l'ancien champ.
La procédure décrite chez Raymond:
http://officesystemaccess.seneque.net/ex_changer_type_champ.htm

Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de naissance).


Merci de me préciser où est l'erreur

A+

15





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
C15
Rebonjour Eric,

J'ai compris, il me suffira de changer dans

Private sub Commande1_Click()
ChangerType "T import", "Date_de_naissance", dbdate
End Sub

la table, le champ et/ou le type pour que cela marche partout.

J'ai testé, cela marche, le type et le format ont bien été changé...mais
Db.Execute Req, dbFailOnError
n'est pas exécuté, et donc mes dates de naisssance ont disparu ;-((
Rassures-toi je fais des essais sur une copie de la base.

Merci de ton aide

A+

C15

Re,

Argh ! Tu as changé les noms des arguments de la procédure ce qu'il ne
faut pas faire car ce sont des paramètres qui peuvent recevoir n'importe
quelle valeur appartenant à leur domaine de définition.

Sur une copie de la table évidemment, essaies ceci :
Changertype "T_import", "Date_de_naissance", dbDate
appelée par clic sur un bouton ou autrement à la suite de la procédure
d'import.

Avec la procédure ci-dessous à copier dans un module de portée globale.

Public Sub ChangerType(NomTable As String, NomChamp As String, _
Nouveau_Type As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Dim prp As DAO.Property
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(NomTable).Fields(NomChamp)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> Nouveau_Type Then
Set Fld_Nouveau = Db.TableDefs(NomTable).CreateField(NomChamp &
1, Nouveau_Type)
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(NomTable).Fields.Append Fld_Nouveau
Set prp = Fld_Nouveau.CreateProperty("Format", dbText,
"dd/mm/yyyy")
Fld_Nouveau.Properties.Append prp
Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= [" &
NomChamp & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(NomTable).Fields.Delete NomChamp
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = NomChamp
End If
Set prp = Nothing
Set Fld_Nouveau = Nothing: Set Fld_Ancien = Nothing
Set Db = Nothing
End Sub


(Attention aux retours à la ligne intempestifs dus au lecteur de news)

Bonjour Eric,

Merci de ta réponse.
J'aurais du me douter que sur un coup pareil notre Raymond national
aurait déjà sévi :-)))

J'ai essayé d'appliquer sa procédure pour appliquer au champ
Date_de_naissance de ma table T import le type texte et le format
jj/mm/aaaa.

Cela ne marche pas au niveau du format et de Req (cela a tout effacé
les valeurs existantes).

Peux-tu me dire ce qui ne va pas dans la procédure suivante


Public Sub ChangerType(T_import As String, Date_de_naissance As String, _




dbdate As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(T_import).Fields(Date_de_naissance)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> dbdate Then
Set Fld_Nouveau =
Db.TableDefs(T_import).CreateField(Date_de_naissance & 1, dbdate)
Fld_Nouveau.Properties("Format") = "jj/mm/aaaa"
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(T_import).Fields.Append Fld_Nouveau
Req = "UPDATE " & T_import & " SET [" & Date_de_naissance & 1
& "]= [" & Date_de_naissance & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(T_import).Fields.Delete Date_de_naissance
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = Date_de_naissance
End If
End Sub







Merci de ton aide

A+

C


Bonjour,

Pas possible directement dès lors que le champ a déjà été ajouté à la
collection des champs de la table.
Il te faut créer et définir un nouveau champ, l'ajouter à la table
puis copier les infos de l'ancien dans le nouveau et supprimer
l'ancien champ.
La procédure décrite chez Raymond:
http://officesystemaccess.seneque.net/ex_changer_type_champ.htm

Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de naissance).


Merci de me préciser où est l'erreur

A+

15












Avatar
Eric
re,

j'ai testé la procédure sur une de mes tables et la requête fonctionne
bien. Pour assurer le coup, dans la requête convertis le champ par la
fonction CDate() du genre :

Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= CDate([" &
NomChamp & "])"

Je suppose que dans le fichier importé les dates sont du style 12/01/08


Rebonjour Eric,

J'ai compris, il me suffira de changer dans

Private sub Commande1_Click()
ChangerType "T import", "Date_de_naissance", dbdate
End Sub

la table, le champ et/ou le type pour que cela marche partout.

J'ai testé, cela marche, le type et le format ont bien été changé...mais
Db.Execute Req, dbFailOnError
n'est pas exécuté, et donc mes dates de naisssance ont disparu ;-((
Rassures-toi je fais des essais sur une copie de la base.

Merci de ton aide

A+

C15

Re,

Argh ! Tu as changé les noms des arguments de la procédure ce qu'il ne
faut pas faire car ce sont des paramètres qui peuvent recevoir
n'importe quelle valeur appartenant à leur domaine de définition.

Sur une copie de la table évidemment, essaies ceci :
Changertype "T_import", "Date_de_naissance", dbDate
appelée par clic sur un bouton ou autrement à la suite de la procédure
d'import.

Avec la procédure ci-dessous à copier dans un module de portée globale.

Public Sub ChangerType(NomTable As String, NomChamp As String, _
Nouveau_Type As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Dim prp As DAO.Property
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(NomTable).Fields(NomChamp)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> Nouveau_Type Then
Set Fld_Nouveau = Db.TableDefs(NomTable).CreateField(NomChamp
& 1, Nouveau_Type)
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(NomTable).Fields.Append Fld_Nouveau
Set prp = Fld_Nouveau.CreateProperty("Format", dbText,
"dd/mm/yyyy")
Fld_Nouveau.Properties.Append prp
Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= ["
& NomChamp & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(NomTable).Fields.Delete NomChamp
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = NomChamp
End If
Set prp = Nothing
Set Fld_Nouveau = Nothing: Set Fld_Ancien = Nothing
Set Db = Nothing
End Sub


(Attention aux retours à la ligne intempestifs dus au lecteur de news)

Bonjour Eric,

Merci de ta réponse.
J'aurais du me douter que sur un coup pareil notre Raymond national
aurait déjà sévi :-)))

J'ai essayé d'appliquer sa procédure pour appliquer au champ
Date_de_naissance de ma table T import le type texte et le format
jj/mm/aaaa.

Cela ne marche pas au niveau du format et de Req (cela a tout effacé
les valeurs existantes).

Peux-tu me dire ce qui ne va pas dans la procédure suivante


Public Sub ChangerType(T_import As String, Date_de_naissance As




String, _
dbdate As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(T_import).Fields(Date_de_naissance)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> dbdate Then
Set Fld_Nouveau =
Db.TableDefs(T_import).CreateField(Date_de_naissance & 1, dbdate)
Fld_Nouveau.Properties("Format") = "jj/mm/aaaa"
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(T_import).Fields.Append Fld_Nouveau
Req = "UPDATE " & T_import & " SET [" & Date_de_naissance & 1
& "]= [" & Date_de_naissance & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(T_import).Fields.Delete Date_de_naissance
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = Date_de_naissance
End If
End Sub







Merci de ton aide

A+

C


Bonjour,

Pas possible directement dès lors que le champ a déjà été ajouté à
la collection des champs de la table.
Il te faut créer et définir un nouveau champ, l'ajouter à la table
puis copier les infos de l'ancien dans le nouveau et supprimer
l'ancien champ.
La procédure décrite chez Raymond:
http://officesystemaccess.seneque.net/ex_changer_type_champ.htm

Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de naissance).


Merci de me préciser où est l'erreur

A+

15








--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr







Avatar
C15
Rebonjour,


Cela a l'air de marcher, j'ai bien récupérer les valeurs, le type de
données est bien date, mais le format n'est pas bon (il n'est toujours
pas défini dans les propriétés du champ).

Meric de ton aide

A+

C15

re,

j'ai testé la procédure sur une de mes tables et la requête fonctionne
bien. Pour assurer le coup, dans la requête convertis le champ par la
fonction CDate() du genre :

Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= CDate([" &
NomChamp & "])"

Je suppose que dans le fichier importé les dates sont du style 12/01/08


Rebonjour Eric,

J'ai compris, il me suffira de changer dans

Private sub Commande1_Click()
ChangerType "T import", "Date_de_naissance", dbdate
End Sub

la table, le champ et/ou le type pour que cela marche partout.

J'ai testé, cela marche, le type et le format ont bien été changé...mais
Db.Execute Req, dbFailOnError
n'est pas exécuté, et donc mes dates de naisssance ont disparu ;-((
Rassures-toi je fais des essais sur une copie de la base.

Merci de ton aide

A+

C15

Re,

Argh ! Tu as changé les noms des arguments de la procédure ce qu'il
ne faut pas faire car ce sont des paramètres qui peuvent recevoir
n'importe quelle valeur appartenant à leur domaine de définition.

Sur une copie de la table évidemment, essaies ceci :
Changertype "T_import", "Date_de_naissance", dbDate
appelée par clic sur un bouton ou autrement à la suite de la
procédure d'import.

Avec la procédure ci-dessous à copier dans un module de portée globale.

Public Sub ChangerType(NomTable As String, NomChamp As String, _
Nouveau_Type As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Dim prp As DAO.Property
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(NomTable).Fields(NomChamp)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> Nouveau_Type Then
Set Fld_Nouveau = Db.TableDefs(NomTable).CreateField(NomChamp
& 1, Nouveau_Type)
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(NomTable).Fields.Append Fld_Nouveau
Set prp = Fld_Nouveau.CreateProperty("Format", dbText,
"dd/mm/yyyy")
Fld_Nouveau.Properties.Append prp
Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= ["
& NomChamp & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(NomTable).Fields.Delete NomChamp
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = NomChamp
End If
Set prp = Nothing
Set Fld_Nouveau = Nothing: Set Fld_Ancien = Nothing
Set Db = Nothing
End Sub


(Attention aux retours à la ligne intempestifs dus au lecteur de news)

Bonjour Eric,

Merci de ta réponse.
J'aurais du me douter que sur un coup pareil notre Raymond national
aurait déjà sévi :-)))

J'ai essayé d'appliquer sa procédure pour appliquer au champ
Date_de_naissance de ma table T import le type texte et le format
jj/mm/aaaa.

Cela ne marche pas au niveau du format et de Req (cela a tout effacé
les valeurs existantes).

Peux-tu me dire ce qui ne va pas dans la procédure suivante


Public Sub ChangerType(T_import As String, Date_de_naissance As




String, _
dbdate As DAO.DataTypeEnum)
Dim Db As DAO.Database
Dim Req As String
Dim Fld_Nouveau As DAO.Field
Dim Fld_Ancien As DAO.Field
Dim Fld_Position As Long
Set Db = CurrentDb
Set Fld_Ancien = Db.TableDefs(T_import).Fields(Date_de_naissance)
Fld_Position = Fld_Ancien.OrdinalPosition
If Fld_Ancien.Type <> dbdate Then
Set Fld_Nouveau =
Db.TableDefs(T_import).CreateField(Date_de_naissance & 1, dbdate)
Fld_Nouveau.Properties("Format") = "jj/mm/aaaa"
Fld_Nouveau.Required = Fld_Ancien.Required
Db.TableDefs(T_import).Fields.Append Fld_Nouveau
Req = "UPDATE " & T_import & " SET [" & Date_de_naissance &
1 & "]= [" & Date_de_naissance & "]"
Db.Execute Req, dbFailOnError
Db.TableDefs(T_import).Fields.Delete Date_de_naissance
Fld_Nouveau.OrdinalPosition = Fld_Position
Fld_Nouveau.Name = Date_de_naissance
End If
End Sub







Merci de ton aide

A+

C


Bonjour,

Pas possible directement dès lors que le champ a déjà été ajouté à
la collection des champs de la table.
Il te faut créer et définir un nouveau champ, l'ajouter à la table
puis copier les infos de l'ancien dans le nouveau et supprimer
l'ancien champ.
La procédure décrite chez Raymond:
http://officesystemaccess.seneque.net/ex_changer_type_champ.htm

Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de
naissance).


Merci de me préciser où est l'erreur

A+

15

















Avatar
Eric
Bonjour,

Chez moi ca marche (Access2000), le champ est modifié en type Date/Heure
et la propriété format est définie sur jj/mm/aaaa

Voir les propriétés du champ LaDate: http://cjoint.com/?dyktuzLhSI


Rebonjour,


Cela a l'air de marcher, j'ai bien récupérer les valeurs, le type de
données est bien date, mais le format n'est pas bon (il n'est toujours
pas défini dans les propriétés du champ).

Meric de ton aide

A+

C15

--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
C15
Rebonjour,

J'ai essayé sous un autre poste où j'ai Access 2000 et non 2003 sans
plus de succès.

Sous cette version j'ai essayé aussi :

Set prp = Fld_Nouveau.CreateProperty("Caption", dbText, "année")
pour changer la légende.
Pas mieux ;-((

Merci de tes copies écran, mais rassures-toi, je te croyais sans preuve !

A+

C15

Bonjour,

Chez moi ca marche (Access2000), le champ est modifié en type Date/Heure
et la propriété format est définie sur jj/mm/aaaa

Voir les propriétés du champ LaDate: http://cjoint.com/?dyktuzLhSI


Rebonjour,


Cela a l'air de marcher, j'ai bien récupérer les valeurs, le type de
données est bien date, mais le format n'est pas bon (il n'est toujours
pas défini dans les propriétés du champ).

Meric de ton aide

A+

C15





Avatar
Eric
re,

A chaque fois tu relances la procédure à partir d'une table dans
laquelle le champ Date_de_naissance est de type Texte, car si ce n'est
pas le cas, par exemple le champ a été déjà transformé en type
Date/Heure alors la procédure ne fait rien en raison du test :
If Fld_Ancien.Type <> Nouveau_Type Then
' ici modification du type et des propriétés ...
End If

On est bien d'accord ?

Rebonjour,

J'ai essayé sous un autre poste où j'ai Access 2000 et non 2003 sans
plus de succès.

Sous cette version j'ai essayé aussi :

Set prp = Fld_Nouveau.CreateProperty("Caption", dbText, "année")
pour changer la légende.
Pas mieux ;-((

Merci de tes copies écran, mais rassures-toi, je te croyais sans preuve !

A+

C15



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
C15
Bonsoir,

On est bien d'accord, mais hélas, en refaisant des tests, à nouveau
Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= CDate([" &
NomChamp & "])"
Db.Execute Req, dbFailOnError

ne fonctionne plus et le type de données n'est pas modifié.

A+

C15


re,

A chaque fois tu relances la procédure à partir d'une table dans
laquelle le champ Date_de_naissance est de type Texte, car si ce n'est
pas le cas, par exemple le champ a été déjà transformé en type
Date/Heure alors la procédure ne fait rien en raison du test :
If Fld_Ancien.Type <> Nouveau_Type Then
' ici modification du type et des propriétés ...
End If

On est bien d'accord ?

Rebonjour,

J'ai essayé sous un autre poste où j'ai Access 2000 et non 2003 sans
plus de succès.

Sous cette version j'ai essayé aussi :

Set prp = Fld_Nouveau.CreateProperty("Caption", dbText, "année")
pour changer la légende.
Pas mieux ;-((

Merci de tes copies écran, mais rassures-toi, je te croyais sans preuve !

A+

C15






1 2