OVH Cloud OVH Cloud

Format d'un champ

4 réponses
Avatar
Jacques
Bonsoir,

Lorsque je mets =E0 jour ma tbl rs =E0 partir de la tbl rs1, je voudrais
si les champs de rs1 tel domicile, tel portable et te bureau sont vide,
mettre =AB 00 00 00 00 00 =BB aux champs de rs, et si les champs de rs1
contiennent ce type de valeur =AB 134014589 =BB imposer ce format =AB 01
34 01 45 89 =BB.

Pour la premi=E8re partie j'ai fait ces lignes, et m=EAme si le champ
est vide le code passe toujours apr=E8s le Else.

If rs1("T=E9l Domicile") =3D Null Then
rs("T=E9lDomicile") =3D "00 00 00 00 00"
Else
rs("T=E9lDomicile") =3D rs1("Tel Domicile")
End If

Merci de votre aide.

Salutations.

4 réponses

Avatar
Tisane
Bonjour Jacques,

Lorsque je mets à jour ma tbl rs à partir de la tbl rs1, je voudrais
si les champs de rs1 tel domicile, tel portable et te bureau sont
vide, mettre « 00 00 00 00 00 » aux champs de rs, et si les champs
de rs1 contiennent ce type de valeur « 134014589 » imposer ce
format « 01 34 01 45 89 ».
Pour la première partie j'ai fait ces lignes, et même si le champ
est vide le code passe toujours après le Else.
If rs1("Tél Domicile") = Null Then
rs("TélDomicile") = "00 00 00 00 00"
Else
rs("TélDomicile") = rs1("Tel Domicile")
End If


Je suppose que les champs Téléphone sont bien de type Texte (et pas
numérique).

Pourquoi tu n'imposes pas ces formats directement dans la table (propriété
Masque de saisie = 00 00 00 00 00) ?
Dans ce cas, les utilisateurs sont obligés de respecter le format.

Ou sur la propriété "Après mise à jour" de ces champs, déclencher le
formatage. Par exemple :
Private Sub TelDominicile_AfterUpdate()
Me![TelDominicile] = Format(Me![TelDominicile], "00 00 00 00 00")
End Sub
Dans ce cas, s'ils tapent 9 chiffres le 0 sera ajouté en 1re position, s'ils
tapent les 10 chiffres sans espace, les espaces seront ajoutés.

Pour le champ vide, toujours dans la table, dans la propriété "Valeur par
défaut" du champ, tu indiques : "00 00 00 00 00"

--
Tisane

Avatar
Jacques
Bonjour Tisanne,

Hélas ce n'est pas l'utilisateur qui saisie les champs, il les mets à
jour à partir d'une autre table, et il sont au format numérique.

Par contre pour la premiere partie j'ai modifié le code et cela
fonctionne correctement:

If Trim(rs1("Tél Domicile")) = <> "" Then
rs("TélDomicile") = rs1("Tel Domicile")
Else
rs("TélDomicile") = "00 00 00 00 00"
End If



Pour les autres champs "Tél Portable" et "Tél Bureau" comment les
imbriquer dans le if, ou comment faire un select case.
Je précise que ces champs sont dans une boucle Do While

Pour la deuxième partie ce code ne donne rien:

If Len(rs1("Tél Domicile")) <> 10 Then
rs("Tél Domicile") = 0 & rs1("Tél Domicile")
End If

Salutations


Bonjour Jacques,

Lorsque je mets à jour ma tbl rs à partir de la tbl rs1, je voudra is
si les champs de rs1 tel domicile, tel portable et te bureau sont
vide, mettre « 00 00 00 00 00 » aux champs de rs, et si les champs
de rs1 contiennent ce type de valeur « 134014589 » imposer ce
format « 01 34 01 45 89 ».
Pour la première partie j'ai fait ces lignes, et même si le champ
est vide le code passe toujours après le Else.
If rs1("Tél Domicile") = Null Then
rs("TélDomicile") = "00 00 00 00 00"
Else
rs("TélDomicile") = rs1("Tel Domicile")
End If


Je suppose que les champs Téléphone sont bien de type Texte (et pas
numérique).

Pourquoi tu n'imposes pas ces formats directement dans la table (propri été
Masque de saisie = 00 00 00 00 00) ?
Dans ce cas, les utilisateurs sont obligés de respecter le format.

Ou sur la propriété "Après mise à jour" de ces champs, déclench er le
formatage. Par exemple :
Private Sub TelDominicile_AfterUpdate()
Me![TelDominicile] = Format(Me![TelDominicile], "00 00 00 00 00")
End Sub
Dans ce cas, s'ils tapent 9 chiffres le 0 sera ajouté en 1re position, s'ils
tapent les 10 chiffres sans espace, les espaces seront ajoutés.

Pour le champ vide, toujours dans la table, dans la propriété "Valeur par
défaut" du champ, tu indiques : "00 00 00 00 00"

--
Tisane



Avatar
Tisane
Hélas ce n'est pas l'utilisateur qui saisie les champs, il les mets à
jour à partir d'une autre table, et il sont au format numérique.
Par contre pour la premiere partie j'ai modifié le code et cela
fonctionne correctement:

If Trim(rs1("Tél Domicile")) = <> "" Then
rs("TélDomicile") = rs1("Tel Domicile")
Else
rs("TélDomicile") = "00 00 00 00 00"
End If
Pour les autres champs "Tél Portable" et "Tél Bureau" comment les


imbriquer dans le if, ou comment faire un select case.
Je précise que ces champs sont dans une boucle Do While
Pour la deuxième partie ce code ne donne rien:
If Len(rs1("Tél Domicile")) <> 10 Then
rs("Tél Domicile") = 0 & rs1("Tél Domicile")
End If


En effet, je n'avais pas retenu que tbl rs était alimentée par tbl rs1.
Pour la programmation, il faut attendre le passage d'un programmeur.
Moi j'aurais mis les 3 if (domicile, portable et bureau) les uns sous les
autres ;-)
--
Tisane


Bonjour Jacques,

Lorsque je mets à jour ma tbl rs à partir de la tbl rs1, je
voudrais si les champs de rs1 tel domicile, tel portable et te
bureau sont vide, mettre « 00 00 00 00 00 » aux champs de rs, et si
les champs de rs1 contiennent ce type de valeur « 134014589 »
imposer ce format « 01 34 01 45 89 ».
Pour la première partie j'ai fait ces lignes, et même si le champ
est vide le code passe toujours après le Else.
If rs1("Tél Domicile") = Null Then
rs("TélDomicile") = "00 00 00 00 00"
Else
rs("TélDomicile") = rs1("Tel Domicile")
End If


Je suppose que les champs Téléphone sont bien de type Texte (et pas
numérique).

Pourquoi tu n'imposes pas ces formats directement dans la table
(propriété Masque de saisie = 00 00 00 00 00) ?
Dans ce cas, les utilisateurs sont obligés de respecter le format.

Ou sur la propriété "Après mise à jour" de ces champs, déclencher le
formatage. Par exemple :
Private Sub TelDominicile_AfterUpdate()
Me![TelDominicile] = Format(Me![TelDominicile], "00 00 00 00 00")
End Sub
Dans ce cas, s'ils tapent 9 chiffres le 0 sera ajouté en 1re
position, s'ils tapent les 10 chiffres sans espace, les espaces
seront ajoutés.

Pour le champ vide, toujours dans la table, dans la propriété
"Valeur par défaut" du champ, tu indiques : "00 00 00 00 00"

--
Tisane





Avatar
ze_titi
Bonjour,

il faut bien se rappeler qu'un champ numérique ne commencera jamais par un
zéro... Conclusion, ta deuxième partie de code ne peut pas et ne pourra
jamais fonctionner... Je n'aime pas être porteur de mauvaises nouvelles...

Par ailleurs, Tisane avait raison concernant l'imbricationd des If. Cela
n'apporterait rien, voire même compliquera singulièrement tes tests...
Mets-les les uns à la suite des autres, ton code n'en sera que plus lisible !

Voilou !

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour Tisanne,

Hélas ce n'est pas l'utilisateur qui saisie les champs, il les mets à
jour à partir d'une autre table, et il sont au format numérique.

Par contre pour la premiere partie j'ai modifié le code et cela
fonctionne correctement:

If Trim(rs1("Tél Domicile")) = <> "" Then
rs("TélDomicile") = rs1("Tel Domicile")
Else
rs("TélDomicile") = "00 00 00 00 00"
End If



Pour les autres champs "Tél Portable" et "Tél Bureau" comment les
imbriquer dans le if, ou comment faire un select case.
Je précise que ces champs sont dans une boucle Do While

Pour la deuxième partie ce code ne donne rien:

If Len(rs1("Tél Domicile")) <> 10 Then
rs("Tél Domicile") = 0 & rs1("Tél Domicile")
End If

Salutations


Bonjour Jacques,

Lorsque je mets à jour ma tbl rs à partir de la tbl rs1, je voudrais
si les champs de rs1 tel domicile, tel portable et te bureau sont
vide, mettre « 00 00 00 00 00 » aux champs de rs, et si les champs
de rs1 contiennent ce type de valeur « 134014589 » imposer ce
format « 01 34 01 45 89 ».
Pour la première partie j'ai fait ces lignes, et même si le champ
est vide le code passe toujours après le Else.
If rs1("Tél Domicile") = Null Then
rs("TélDomicile") = "00 00 00 00 00"
Else
rs("TélDomicile") = rs1("Tel Domicile")
End If


Je suppose que les champs Téléphone sont bien de type Texte (et pas
numérique).

Pourquoi tu n'imposes pas ces formats directement dans la table (propriété
Masque de saisie = 00 00 00 00 00) ?
Dans ce cas, les utilisateurs sont obligés de respecter le format.

Ou sur la propriété "Après mise à jour" de ces champs, déclencher le
formatage. Par exemple :
Private Sub TelDominicile_AfterUpdate()
Me![TelDominicile] = Format(Me![TelDominicile], "00 00 00 00 00")
End Sub
Dans ce cas, s'ils tapent 9 chiffres le 0 sera ajouté en 1re position, s'ils
tapent les 10 chiffres sans espace, les espaces seront ajoutés.

Pour le champ vide, toujours dans la table, dans la propriété "Valeur par
défaut" du champ, tu indiques : "00 00 00 00 00"

--
Tisane