Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été rempli
avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la table?
Déjà merci pour vos avis éclairés
André
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été rempli
avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la table?
Déjà merci pour vos avis éclairés
André
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été rempli
avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la table?
Déjà merci pour vos avis éclairés
André
Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style de ce
qui suit. A coller dans un nouveau module et à exécuter une seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style de ce
qui suit. A coller dans un nouveau module et à exécuter une seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style de ce
qui suit. A coller dans un nouveau module et à exécuter une seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été rempli
avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la table?
Déjà merci pour vos avis éclairés
André
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été rempli
avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la table?
Déjà merci pour vos avis éclairés
André
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été rempli
avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la table?
Déjà merci pour vos avis éclairés
André
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
Bonsoir,
je te propose
1) de créer une première requète sélection basée sur ta table avec tous ses
champs (ou seulement ceux qui te sont utiles) auxquel tu ajoutes un champs
calculé composé comme Position : DansChaîne([adresse];",")
(n'oublies pas l'accent circonflexe sur le i de chaine)
cela te donne la position de la virgule pour chaque enregistrement.
2) tu créé une seconde requète basée sur la première avec deux champs
supplémentaires
le premier comme AdrCourte:left([adresse];position-1)
le second comme N°:mid([adresse];position+1)
Connaissant la position de la virgule il est aisé de couper le champ en deux.
Vérifies si c'est bien position-1 et +1 et adaptes si besoin.
Bonne réception
Phil
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
Bonsoir,
je te propose
1) de créer une première requète sélection basée sur ta table avec tous ses
champs (ou seulement ceux qui te sont utiles) auxquel tu ajoutes un champs
calculé composé comme Position : DansChaîne([adresse];",")
(n'oublies pas l'accent circonflexe sur le i de chaine)
cela te donne la position de la virgule pour chaque enregistrement.
2) tu créé une seconde requète basée sur la première avec deux champs
supplémentaires
le premier comme AdrCourte:left([adresse];position-1)
le second comme N°:mid([adresse];position+1)
Connaissant la position de la virgule il est aisé de couper le champ en deux.
Vérifies si c'est bien position-1 et +1 et adaptes si besoin.
Bonne réception
Phil
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a expliqué
longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau champ
"n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
Bonsoir,
je te propose
1) de créer une première requète sélection basée sur ta table avec tous ses
champs (ou seulement ceux qui te sont utiles) auxquel tu ajoutes un champs
calculé composé comme Position : DansChaîne([adresse];",")
(n'oublies pas l'accent circonflexe sur le i de chaine)
cela te donne la position de la virgule pour chaque enregistrement.
2) tu créé une seconde requète basée sur la première avec deux champs
supplémentaires
le premier comme AdrCourte:left([adresse];position-1)
le second comme N°:mid([adresse];position+1)
Connaissant la position de la virgule il est aisé de couper le champ en deux.
Vérifies si c'est bien position-1 et +1 et adaptes si besoin.
Bonne réception
Phil
Bonsoir Titi,
Merci pour cette réponse rapide.
Malheureusement, cela ne fonctionne qu'à moitié. Je m'explique :
J'ai remplacé les noms de champ et le nom de la table par la mienne.
J'ai exécuté le module qui a enlevé tous les numéros dans le champ "Adresse"
de la table MAIS ne les a pas replacés dans le champ "No"
Merci pour l'aide.
André
"Thierry (ze Titi)" a écrit dans le message
de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style de ce
qui suit. A coller dans un nouveau module et à exécuter une seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau
champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
-- Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonsoir Titi,
Merci pour cette réponse rapide.
Malheureusement, cela ne fonctionne qu'à moitié. Je m'explique :
J'ai remplacé les noms de champ et le nom de la table par la mienne.
J'ai exécuté le module qui a enlevé tous les numéros dans le champ "Adresse"
de la table MAIS ne les a pas replacés dans le champ "No"
Merci pour l'aide.
André
"Thierry (ze Titi)" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le message
de news: mn.b3787d7ad2e68388.64280@tiscali.fr...
Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style de ce
qui suit. A coller dans un nouveau module et à exécuter une seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau
champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
-- Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonsoir Titi,
Merci pour cette réponse rapide.
Malheureusement, cela ne fonctionne qu'à moitié. Je m'explique :
J'ai remplacé les noms de champ et le nom de la table par la mienne.
J'ai exécuté le module qui a enlevé tous les numéros dans le champ "Adresse"
de la table MAIS ne les a pas replacés dans le champ "No"
Merci pour l'aide.
André
"Thierry (ze Titi)" a écrit dans le message
de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style de ce
qui suit. A coller dans un nouveau module et à exécuter une seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le champ
"adresse" en supprimant la , et le n° pour l'injecter dans le nouveau
champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
-- Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Oops ! Désolé... J'espère que tu as une sauvegarde de tes données...
Concernant ce désagrément, le problème doit se situer au niveau de la ligne
rs![n°]=mid(rs!adresse,aux+1)
Essaie avec :
rs.Fields("No")=mid(rs!adresse,aux+1)
Vérifie tout de même l'orthographe des champs...
En ce jour mémorable du lundi 22/10/2007, tu as émis l'idée suivante:Bonsoir Titi,
Merci pour cette réponse rapide.
Malheureusement, cela ne fonctionne qu'à moitié. Je m'explique :
J'ai remplacé les noms de champ et le nom de la table par la mienne.
J'ai exécuté le module qui a enlevé tous les numéros dans le champ
"Adresse" de la table MAIS ne les a pas replacés dans le champ "No"
Merci pour l'aide.
André
"Thierry (ze Titi)" a écrit dans le
message de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a
été rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute
la table?
Déjà merci pour vos avis éclairés
André
-- Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonjour,
Oops ! Désolé... J'espère que tu as une sauvegarde de tes données...
Concernant ce désagrément, le problème doit se situer au niveau de la ligne
rs![n°]=mid(rs!adresse,aux+1)
Essaie avec :
rs.Fields("No")=mid(rs!adresse,aux+1)
Vérifie tout de même l'orthographe des champs...
En ce jour mémorable du lundi 22/10/2007, tu as émis l'idée suivante:
Bonsoir Titi,
Merci pour cette réponse rapide.
Malheureusement, cela ne fonctionne qu'à moitié. Je m'explique :
J'ai remplacé les noms de champ et le nom de la table par la mienne.
J'ai exécuté le module qui a enlevé tous les numéros dans le champ
"Adresse" de la table MAIS ne les a pas replacés dans le champ "No"
Merci pour l'aide.
André
"Thierry (ze Titi)" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le
message de news: mn.b3787d7ad2e68388.64280@tiscali.fr...
Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a
été rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute
la table?
Déjà merci pour vos avis éclairés
André
-- Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonjour,
Oops ! Désolé... J'espère que tu as une sauvegarde de tes données...
Concernant ce désagrément, le problème doit se situer au niveau de la ligne
rs![n°]=mid(rs!adresse,aux+1)
Essaie avec :
rs.Fields("No")=mid(rs!adresse,aux+1)
Vérifie tout de même l'orthographe des champs...
En ce jour mémorable du lundi 22/10/2007, tu as émis l'idée suivante:Bonsoir Titi,
Merci pour cette réponse rapide.
Malheureusement, cela ne fonctionne qu'à moitié. Je m'explique :
J'ai remplacé les noms de champ et le nom de la table par la mienne.
J'ai exécuté le module qui a enlevé tous les numéros dans le champ
"Adresse" de la table MAIS ne les a pas replacés dans le champ "No"
Merci pour l'aide.
André
"Thierry (ze Titi)" a écrit dans le
message de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Message du lundi 22/10/2007Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a
été rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute
la table?
Déjà merci pour vos avis éclairés
André
-- Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Bonjour,
Bonjour,
Puis-je ?
Bonjour,
Puis-je ?
Bonjour,
Puis-je ?
"Thierry (ze Titi)" a écrit dans le
message de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Bonjour,
Puis-je ?
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
AIe !!
Si RS!Adresse contient 25 , rue de la joie
alors aprés rs!adresse=Left(rs!adresse,aux-1) Adressse ne contient plus
que 25 et le rs![n°]=mid(rs!adresse,aux+1) qui suit ne donne plus rien.
Ou alors j'ai pas compris ;-)
M'est d'avis qu'un Dim MonAdresse as string
et un
MonAdresse= Rst!Adresse
rs![N°]=Left(Monadresse,aux-1)
rs!adresse=mid(MonAdresse,aux+1)
devrait faire l'affaire ;-)
"Thierry (ze Titi)" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le
message de news: mn.b3787d7ad2e68388.64280@tiscali.fr...
Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Bonjour,
Puis-je ?
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
AIe !!
Si RS!Adresse contient 25 , rue de la joie
alors aprés rs!adresse=Left(rs!adresse,aux-1) Adressse ne contient plus
que 25 et le rs![n°]=mid(rs!adresse,aux+1) qui suit ne donne plus rien.
Ou alors j'ai pas compris ;-)
M'est d'avis qu'un Dim MonAdresse as string
et un
MonAdresse= Rst!Adresse
rs![N°]=Left(Monadresse,aux-1)
rs!adresse=mid(MonAdresse,aux+1)
devrait faire l'affaire ;-)
"Thierry (ze Titi)" a écrit dans le
message de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Bonjour,
Puis-je ?
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
AIe !!
Si RS!Adresse contient 25 , rue de la joie
alors aprés rs!adresse=Left(rs!adresse,aux-1) Adressse ne contient plus
que 25 et le rs![n°]=mid(rs!adresse,aux+1) qui suit ne donne plus rien.
Ou alors j'ai pas compris ;-)
M'est d'avis qu'un Dim MonAdresse as string
et un
MonAdresse= Rst!Adresse
rs![N°]=Left(Monadresse,aux-1)
rs!adresse=mid(MonAdresse,aux+1)
devrait faire l'affaire ;-)
"Fabien" a écrit dans le message de news:471dc282$0$5066$"Thierry (ze Titi)" a écrit dans le
message de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Bonjour,
Puis-je ?
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
AIe !!
Si RS!Adresse contient 25 , rue de la joie
alors aprés rs!adresse=Left(rs!adresse,aux-1) Adressse ne contient plus
que 25 et le rs![n°]=mid(rs!adresse,aux+1) qui suit ne donne plus rien.
Ou alors j'ai pas compris ;-)
M'est d'avis qu'un Dim MonAdresse as string
et un
MonAdresse= Rst!Adresse
rs![N°]=Left(Monadresse,aux-1)
rs!adresse=mid(MonAdresse,aux+1)
devrait faire l'affaire ;-)
Ou intervertir les deux lignes suivantes :
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
ce qui donne :
rs![n°]=mid(rs!adresse,aux+1)
rs!adresse=Left(rs!adresse,aux-1)
On comble ainsi le nouveau champ en premier et on change
le champ source en dernier et l'honneur est sauf.
"Fabien" <UrbaniakFabienxxxxx@Neuf.fr> a écrit dans le message de news:471dc282$0$5066$ba4acef3@news.orange.fr...
"Thierry (ze Titi)" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le
message de news: mn.b3787d7ad2e68388.64280@tiscali.fr...
Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Bonjour,
Puis-je ?
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
AIe !!
Si RS!Adresse contient 25 , rue de la joie
alors aprés rs!adresse=Left(rs!adresse,aux-1) Adressse ne contient plus
que 25 et le rs![n°]=mid(rs!adresse,aux+1) qui suit ne donne plus rien.
Ou alors j'ai pas compris ;-)
M'est d'avis qu'un Dim MonAdresse as string
et un
MonAdresse= Rst!Adresse
rs![N°]=Left(Monadresse,aux-1)
rs!adresse=mid(MonAdresse,aux+1)
devrait faire l'affaire ;-)
Ou intervertir les deux lignes suivantes :
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
ce qui donne :
rs![n°]=mid(rs!adresse,aux+1)
rs!adresse=Left(rs!adresse,aux-1)
On comble ainsi le nouveau champ en premier et on change
le champ source en dernier et l'honneur est sauf.
"Fabien" a écrit dans le message de news:471dc282$0$5066$"Thierry (ze Titi)" a écrit dans le
message de news:Bonjour Andre !
Si tu as déjà créé ton champ, tu peux utiliser une fonction du style
de ce qui suit. A coller dans un nouveau module et à exécuter une
seule fois.
Sub scinderAdresse()
dim rs As DAO.Recordset
dim aux As Integer
Set rs=CurrentDb.OpenRecordset("laTable",dbOpenDynaset)
rs.MoveLast:rs.MoveFirst
While Not rs.EOF
aux=InStr(rs!adresse,",")
If aux<>0 Then
rs.Edit
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
rs.Update
End If
rs.MoveNext
Wend
Set rs=Nothing
End Sub
A tester...
Bonjour,
Puis-je ?
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
AIe !!
Si RS!Adresse contient 25 , rue de la joie
alors aprés rs!adresse=Left(rs!adresse,aux-1) Adressse ne contient plus
que 25 et le rs![n°]=mid(rs!adresse,aux+1) qui suit ne donne plus rien.
Ou alors j'ai pas compris ;-)
M'est d'avis qu'un Dim MonAdresse as string
et un
MonAdresse= Rst!Adresse
rs![N°]=Left(Monadresse,aux-1)
rs!adresse=mid(MonAdresse,aux+1)
devrait faire l'affaire ;-)
Ou intervertir les deux lignes suivantes :
rs!adresse=Left(rs!adresse,aux-1)
rs![n°]=mid(rs!adresse,aux+1)
ce qui donne :
rs![n°]=mid(rs!adresse,aux+1)
rs!adresse=Left(rs!adresse,aux-1)
On comble ainsi le nouveau champ en premier et on change
le champ source en dernier et l'honneur est sauf.
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
Bonsoir,
je te propose
1) de créer une première requète sélection basée sur ta table avec tous
ses champs (ou seulement ceux qui te sont utiles) auxquel tu ajoutes un
champs calculé composé comme Position : DansChaîne([adresse];",")
(n'oublies pas l'accent circonflexe sur le i de chaine)
cela te donne la position de la virgule pour chaque enregistrement.
2) tu créé une seconde requète basée sur la première avec deux champs
supplémentaires
le premier comme AdrCourte:left([adresse];position-1)
le second comme N°:mid([adresse];position+1)
Connaissant la position de la virgule il est aisé de couper le champ en
deux. Vérifies si c'est bien position-1 et +1 et adaptes si besoin.
Bonne réception
Phil
pour être plus complet tu peux ajouter la fonction Trim pour exclure les
espaces parasites devant et derrière les parties du champs "adresse"
tronqués
les champs deviennent
AdrCourte:trim(left([adresse];position-1))
N°:trim(mid([adresse];position+1))
Phil
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
Bonsoir,
je te propose
1) de créer une première requète sélection basée sur ta table avec tous
ses champs (ou seulement ceux qui te sont utiles) auxquel tu ajoutes un
champs calculé composé comme Position : DansChaîne([adresse];",")
(n'oublies pas l'accent circonflexe sur le i de chaine)
cela te donne la position de la virgule pour chaque enregistrement.
2) tu créé une seconde requète basée sur la première avec deux champs
supplémentaires
le premier comme AdrCourte:left([adresse];position-1)
le second comme N°:mid([adresse];position+1)
Connaissant la position de la virgule il est aisé de couper le champ en
deux. Vérifies si c'est bien position-1 et +1 et adaptes si besoin.
Bonne réception
Phil
pour être plus complet tu peux ajouter la fonction Trim pour exclure les
espaces parasites devant et derrière les parties du champs "adresse"
tronqués
les champs deviennent
AdrCourte:trim(left([adresse];position-1))
N°:trim(mid([adresse];position+1))
Phil
Bonjour à toutes et tous,
Voilà, je suis un grand néophyte qui comprends vite quand on lui a
expliqué longtemps.
J'ai reçu une table Access 2003 dans laquelle un cham "adresse" a été
rempli avec le nom de la rue, suivi après une virgule du n° de
l'immeuble.
Pour des raisons de tri, je souhaite créer un champ n° et scinder le
champ "adresse" en supprimant la , et le n° pour l'injecter dans le
nouveau champ "n°".
Est-il possible de réaliser cette opération en une fois pour toute la
table?
Déjà merci pour vos avis éclairés
André
Bonsoir,
je te propose
1) de créer une première requète sélection basée sur ta table avec tous
ses champs (ou seulement ceux qui te sont utiles) auxquel tu ajoutes un
champs calculé composé comme Position : DansChaîne([adresse];",")
(n'oublies pas l'accent circonflexe sur le i de chaine)
cela te donne la position de la virgule pour chaque enregistrement.
2) tu créé une seconde requète basée sur la première avec deux champs
supplémentaires
le premier comme AdrCourte:left([adresse];position-1)
le second comme N°:mid([adresse];position+1)
Connaissant la position de la virgule il est aisé de couper le champ en
deux. Vérifies si c'est bien position-1 et +1 et adaptes si besoin.
Bonne réception
Phil
pour être plus complet tu peux ajouter la fonction Trim pour exclure les
espaces parasites devant et derrière les parties du champs "adresse"
tronqués
les champs deviennent
AdrCourte:trim(left([adresse];position-1))
N°:trim(mid([adresse];position+1))
Phil