Dans une simple application, je rentre des coordonnées de personnes : nom,
prénom, ...
Je souhaiterai :
1) Donner un code pour chaque personne différente
2) Qu'une personne déjà existente dans la base ne soit pas rentrée 2 fois au
niveau de ses coordonnées
3) Si une personne existe déjà, un message me l'annonce et ne l'intègre pas
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
Marc ROBY
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto, Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits par exemple sur nom et prénom, de façon à ce que deux personnes puissent avoir le même prénom, deux personnes puissent avoir le même nom, mais que l'association nom ET prénom soit unique, Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une requête qui prendra en critères le nom et le prénom saisi et ira voir si cette association existe déjà, et enverra dans ce cas un message à l'utilisateur pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple. Bien cordialement à vous,
-- Marc ROBY - CAPCODE Conseil http://www.capcode-conseil.fr/
"phil" a écrit dans le message de news: 437b2f6d$0$20180$
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom, prénom, ... Je souhaiterai :
1) Donner un code pour chaque personne différente 2) Qu'une personne déjà existente dans la base ne soit pas rentrée 2 fois au niveau de ses coordonnées 3) Si une personne existe déjà, un message me l'annonce et ne l'intègre pas
Merci
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto,
Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits
par exemple sur nom et prénom, de façon à ce que deux personnes puissent
avoir le même prénom, deux personnes puissent avoir le même nom, mais que
l'association nom ET prénom soit unique,
Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le
refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une requête
qui prendra en critères le nom et le prénom saisi et ira voir si cette
association existe déjà, et enverra dans ce cas un message à l'utilisateur
pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple.
Bien cordialement à vous,
--
Marc ROBY - CAPCODE Conseil
http://www.capcode-conseil.fr/
"phil" <phil@free.fr> a écrit dans le message de news:
437b2f6d$0$20180$8fcfb975@news.wanadoo.fr...
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom,
prénom, ...
Je souhaiterai :
1) Donner un code pour chaque personne différente
2) Qu'une personne déjà existente dans la base ne soit pas rentrée 2 fois
au
niveau de ses coordonnées
3) Si une personne existe déjà, un message me l'annonce et ne l'intègre
pas
Pour le 1), ajoutez un champ de numérotation auto, Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits par exemple sur nom et prénom, de façon à ce que deux personnes puissent avoir le même prénom, deux personnes puissent avoir le même nom, mais que l'association nom ET prénom soit unique, Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une requête qui prendra en critères le nom et le prénom saisi et ira voir si cette association existe déjà, et enverra dans ce cas un message à l'utilisateur pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple. Bien cordialement à vous,
-- Marc ROBY - CAPCODE Conseil http://www.capcode-conseil.fr/
"phil" a écrit dans le message de news: 437b2f6d$0$20180$
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom, prénom, ... Je souhaiterai :
1) Donner un code pour chaque personne différente 2) Qu'une personne déjà existente dans la base ne soit pas rentrée 2 fois au niveau de ses coordonnées 3) Si une personne existe déjà, un message me l'annonce et ne l'intègre pas
Merci
david
Salut,
une petite remarque, en passant : il est dangereux d'interdire formellement la création de doublon pour des personnes physiques. Comme on dit chez nous : il y a plus d'un ane qui s'apelle MARTIN !
Je te conseil plutôt d'afficher une boîte de dialogue indiquant qu'une personne disposant des mêmes informations existe déjà en BDD. Cela te permettra de référencer de jumeaux ayant le même premier prénom (c'est assez fréquent) et qui habiteraient ensemble...
A+
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto, Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits par exemple sur nom et prénom, de façon à ce que deux personnes pui ssent avoir le même prénom, deux personnes puissent avoir le même nom, ma is que l'association nom ET prénom soit unique, Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une re quête qui prendra en critères le nom et le prénom saisi et ira voir si cette association existe déjà, et enverra dans ce cas un message à l'util isateur pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple. Bien cordialement à vous,
-- Marc ROBY - CAPCODE Conseil http://www.capcode-conseil.fr/
"phil" a écrit dans le message de news: 437b2f6d$0$20180$
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom, prénom, ... Je souhaiterai :
1) Donner un code pour chaque personne différente 2) Qu'une personne déjà existente dans la base ne soit pas rentré e 2 fois au niveau de ses coordonnées 3) Si une personne existe déjà, un message me l'annonce et ne l'int ègre pas
Merci
Salut,
une petite remarque, en passant :
il est dangereux d'interdire formellement la création de doublon pour
des personnes physiques.
Comme on dit chez nous : il y a plus d'un ane qui s'apelle MARTIN !
Je te conseil plutôt d'afficher une boîte de dialogue indiquant
qu'une personne disposant des mêmes informations existe déjà en BDD.
Cela te permettra de référencer de jumeaux ayant le même premier
prénom (c'est assez fréquent) et qui habiteraient ensemble...
A+
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto,
Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits
par exemple sur nom et prénom, de façon à ce que deux personnes pui ssent
avoir le même prénom, deux personnes puissent avoir le même nom, ma is que
l'association nom ET prénom soit unique,
Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le
refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une re quête
qui prendra en critères le nom et le prénom saisi et ira voir si cette
association existe déjà, et enverra dans ce cas un message à l'util isateur
pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple.
Bien cordialement à vous,
--
Marc ROBY - CAPCODE Conseil
http://www.capcode-conseil.fr/
"phil" <phil@free.fr> a écrit dans le message de news:
437b2f6d$0$20180$8fcfb975@news.wanadoo.fr...
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom,
prénom, ...
Je souhaiterai :
1) Donner un code pour chaque personne différente
2) Qu'une personne déjà existente dans la base ne soit pas rentré e 2 fois
au
niveau de ses coordonnées
3) Si une personne existe déjà, un message me l'annonce et ne l'int ègre
pas
une petite remarque, en passant : il est dangereux d'interdire formellement la création de doublon pour des personnes physiques. Comme on dit chez nous : il y a plus d'un ane qui s'apelle MARTIN !
Je te conseil plutôt d'afficher une boîte de dialogue indiquant qu'une personne disposant des mêmes informations existe déjà en BDD. Cela te permettra de référencer de jumeaux ayant le même premier prénom (c'est assez fréquent) et qui habiteraient ensemble...
A+
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto, Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits par exemple sur nom et prénom, de façon à ce que deux personnes pui ssent avoir le même prénom, deux personnes puissent avoir le même nom, ma is que l'association nom ET prénom soit unique, Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une re quête qui prendra en critères le nom et le prénom saisi et ira voir si cette association existe déjà, et enverra dans ce cas un message à l'util isateur pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple. Bien cordialement à vous,
-- Marc ROBY - CAPCODE Conseil http://www.capcode-conseil.fr/
"phil" a écrit dans le message de news: 437b2f6d$0$20180$
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom, prénom, ... Je souhaiterai :
1) Donner un code pour chaque personne différente 2) Qu'une personne déjà existente dans la base ne soit pas rentré e 2 fois au niveau de ses coordonnées 3) Si une personne existe déjà, un message me l'annonce et ne l'int ègre pas
Merci
phil
Comment écrire en VBA le parcours de la liste des personnes, et relever par rapport à une entrée une personne qui existe déjà dans cette base ?
Merci
"david" a écrit dans le message de news: Salut,
une petite remarque, en passant : il est dangereux d'interdire formellement la création de doublon pour des personnes physiques. Comme on dit chez nous : il y a plus d'un ane qui s'apelle MARTIN !
Je te conseil plutôt d'afficher une boîte de dialogue indiquant qu'une personne disposant des mêmes informations existe déjà en BDD. Cela te permettra de référencer de jumeaux ayant le même premier prénom (c'est assez fréquent) et qui habiteraient ensemble...
A+
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto, Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits
par exemple sur nom et prénom, de façon à ce que deux personnes puissent avoir le même prénom, deux personnes puissent avoir le même nom, mais que l'association nom ET prénom soit unique, Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une requête qui prendra en critères le nom et le prénom saisi et ira voir si cette association existe déjà, et enverra dans ce cas un message à l'utilisateur pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple. Bien cordialement à vous,
-- Marc ROBY - CAPCODE Conseil http://www.capcode-conseil.fr/
"phil" a écrit dans le message de news: 437b2f6d$0$20180$
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom,
prénom, ... Je souhaiterai :
1) Donner un code pour chaque personne différente 2) Qu'une personne déjà existente dans la base ne soit pas rentrée 2 fois
au niveau de ses coordonnées 3) Si une personne existe déjà, un message me l'annonce et ne l'intègre pas
Merci
Comment écrire en VBA le parcours de la liste des personnes, et relever par
rapport à une entrée une personne qui existe déjà dans cette base ?
Merci
"david" <capelle.david@worldonline.fr> a écrit dans le message de
news:1132149615.728258.109400@g44g2000cwa.googlegroups.com...
Salut,
une petite remarque, en passant :
il est dangereux d'interdire formellement la création de doublon pour
des personnes physiques.
Comme on dit chez nous : il y a plus d'un ane qui s'apelle MARTIN !
Je te conseil plutôt d'afficher une boîte de dialogue indiquant
qu'une personne disposant des mêmes informations existe déjà en BDD.
Cela te permettra de référencer de jumeaux ayant le même premier
prénom (c'est assez fréquent) et qui habiteraient ensemble...
A+
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto,
Pour le 2), mettez un clé sur les champs considérés (avec doublons
interdits
par exemple sur nom et prénom, de façon à ce que deux personnes puissent
avoir le même prénom, deux personnes puissent avoir le même nom, mais que
l'association nom ET prénom soit unique,
Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le
refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une requête
qui prendra en critères le nom et le prénom saisi et ira voir si cette
association existe déjà, et enverra dans ce cas un message à l'utilisateur
pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple.
Bien cordialement à vous,
--
Marc ROBY - CAPCODE Conseil
http://www.capcode-conseil.fr/
"phil" <phil@free.fr> a écrit dans le message de news:
437b2f6d$0$20180$8fcfb975@news.wanadoo.fr...
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes :
nom,
prénom, ...
Je souhaiterai :
1) Donner un code pour chaque personne différente
2) Qu'une personne déjà existente dans la base ne soit pas rentrée 2
fois
au
niveau de ses coordonnées
3) Si une personne existe déjà, un message me l'annonce et ne l'intègre
pas
Comment écrire en VBA le parcours de la liste des personnes, et relever par rapport à une entrée une personne qui existe déjà dans cette base ?
Merci
"david" a écrit dans le message de news: Salut,
une petite remarque, en passant : il est dangereux d'interdire formellement la création de doublon pour des personnes physiques. Comme on dit chez nous : il y a plus d'un ane qui s'apelle MARTIN !
Je te conseil plutôt d'afficher une boîte de dialogue indiquant qu'une personne disposant des mêmes informations existe déjà en BDD. Cela te permettra de référencer de jumeaux ayant le même premier prénom (c'est assez fréquent) et qui habiteraient ensemble...
A+
Bonjour,
Pour le 1), ajoutez un champ de numérotation auto, Pour le 2), mettez un clé sur les champs considérés (avec doublons interdits
par exemple sur nom et prénom, de façon à ce que deux personnes puissent avoir le même prénom, deux personnes puissent avoir le même nom, mais que l'association nom ET prénom soit unique, Pour le 3), si vous voulez être prévenu du doublon avant qu'Access le refuse, vous pouvez utilisez l'événement Avant MAJ pour lancer une requête qui prendra en critères le nom et le prénom saisi et ira voir si cette association existe déjà, et enverra dans ce cas un message à l'utilisateur pour le prévenir et annuler son action de validation de son formulaire.
J'ai choisi nom et prénom pour l'exemple. Bien cordialement à vous,
-- Marc ROBY - CAPCODE Conseil http://www.capcode-conseil.fr/
"phil" a écrit dans le message de news: 437b2f6d$0$20180$
Bonjour,
Dans une simple application, je rentre des coordonnées de personnes : nom,
prénom, ... Je souhaiterai :
1) Donner un code pour chaque personne différente 2) Qu'une personne déjà existente dans la base ne soit pas rentrée 2 fois
au niveau de ses coordonnées 3) Si une personne existe déjà, un message me l'annonce et ne l'intègre pas
Merci
david
salut,
créer un recordset basé sur l'instruction SQL : SQL_Str = "SELECT Count(*) As Nb FROM MaTable WHERE lCase(NomPers) = '" + Replace(lCase(Nom),"'","''") + "' lCase(PrenomPers)='" + Replace(lCase(Prenom),"'","''") + "';"
avec Nom et Prenom les contrôles où sont saisies les valeurs.
La fonction Replace est très importante car elle permet de remplacer les apostrophes par 2 apostrophes. Je sait c'est pas très clair à l'écran. La fonction lCase permet de tout mettre en minuscule (pas de question à ce poser sur la comparaison sensible ou non à la casse).
Il ne reste plus qu'à ouvrir un recordset avec (cnx étant la connexion à ta base) : set rst = cnx.execute(SQL_Str) if rst.EOF then 'Normalement, ce type de requête ne renvoi jamais de "liste vide", mais on ne sait jamais nb=0 else nb=rst.Fields("Nb") end if rst.Close: set rst=nothing
Maintenant, nb vaut le nombre de personne ayant le même nom et le même prénom (tu peux étendre avec l'adresse, ....). Si tu veux la liste, remplace count(*) As Nb par * pour obtenir tout les champs et nb=rst.fields("Nb") par nb=1. Mais dans ce cas, tu ne sais pas combien il y en a (sauf si tu parcours la totalité de la liste...).
A+
salut,
créer un recordset basé sur l'instruction SQL :
SQL_Str = "SELECT Count(*) As Nb FROM MaTable WHERE lCase(NomPers) = '"
+ Replace(lCase(Nom),"'","''") + "' lCase(PrenomPers)='" +
Replace(lCase(Prenom),"'","''") + "';"
avec Nom et Prenom les contrôles où sont saisies les valeurs.
La fonction Replace est très importante car elle permet de remplacer
les apostrophes par 2 apostrophes. Je sait c'est pas très clair à
l'écran.
La fonction lCase permet de tout mettre en minuscule (pas de question
à ce poser sur la comparaison sensible ou non à la casse).
Il ne reste plus qu'à ouvrir un recordset avec (cnx étant la
connexion à ta base) :
set rst = cnx.execute(SQL_Str)
if rst.EOF then 'Normalement, ce type de requête ne renvoi
jamais de "liste vide", mais on ne sait jamais
nb=0
else
nb=rst.Fields("Nb")
end if
rst.Close: set rst=nothing
Maintenant, nb vaut le nombre de personne ayant le même nom et le
même prénom (tu peux étendre avec l'adresse, ....).
Si tu veux la liste, remplace count(*) As Nb par * pour obtenir tout
les champs et nb=rst.fields("Nb") par nb=1. Mais dans ce cas, tu ne
sais pas combien il y en a (sauf si tu parcours la totalité de la
liste...).
créer un recordset basé sur l'instruction SQL : SQL_Str = "SELECT Count(*) As Nb FROM MaTable WHERE lCase(NomPers) = '" + Replace(lCase(Nom),"'","''") + "' lCase(PrenomPers)='" + Replace(lCase(Prenom),"'","''") + "';"
avec Nom et Prenom les contrôles où sont saisies les valeurs.
La fonction Replace est très importante car elle permet de remplacer les apostrophes par 2 apostrophes. Je sait c'est pas très clair à l'écran. La fonction lCase permet de tout mettre en minuscule (pas de question à ce poser sur la comparaison sensible ou non à la casse).
Il ne reste plus qu'à ouvrir un recordset avec (cnx étant la connexion à ta base) : set rst = cnx.execute(SQL_Str) if rst.EOF then 'Normalement, ce type de requête ne renvoi jamais de "liste vide", mais on ne sait jamais nb=0 else nb=rst.Fields("Nb") end if rst.Close: set rst=nothing
Maintenant, nb vaut le nombre de personne ayant le même nom et le même prénom (tu peux étendre avec l'adresse, ....). Si tu veux la liste, remplace count(*) As Nb par * pour obtenir tout les champs et nb=rst.fields("Nb") par nb=1. Mais dans ce cas, tu ne sais pas combien il y en a (sauf si tu parcours la totalité de la liste...).