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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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"
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
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
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"
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
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
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"
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
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
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"
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"