bonjour.
J'effectue une base de donnée avec des personnes qui effectuent des demandes.
J'ai attribué une clé primaire sur un num d'usager automatique.
J'aimerai savoir comment éviter des doublons c'est à dire si une personne à
déja fait une demande que sa fiche apparaisse directement et non comme une
nouvelles personne (même nom - même prénom - même date de naissance)
Merci de m'aider
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
Argyronet
Bonjour
Plusieurs solution sont possibles... En voici une : Prenez un objet RecordSet avec une chaîne SQL correspondante...
Dim strNom As String Dim strPrenom As String Dim strDateNaissance As String Dim oRS As DAO.Recordset Dim blnExiteDeja As Boolean
strNom = Me!Nom strPrenom = Me!Prenom strDateNaissance = Format(Me!DateNaissance, "mm/dd/yyyy") blnExiteDeja = False SQL = "SELECT Nom, Prenom, DateNaissance FROM MaTable WHERE Nom='" & strNom & "' AND Prenom ='" & strPrenom & "' AND DateNaissance = #" & strDateNaissance & "#;" Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset) If Not oRS.EOF Then blnExiteDeja = True End If oRS.Close Set oRS = Nothing
Vous pouvez mettre cela dans une fonction booléenne qui retourne la valeur de blnExiteDeja. De là, vous pouvez décider de la marche à suivre : MsgBox(), Undo etc...
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
bonjour. J'effectue une base de donnée avec des personnes qui effectuent des demandes. J'ai attribué une clé primaire sur un num d'usager automatique. J'aimerai savoir comment éviter des doublons c'est à dire si une personne à déja fait une demande que sa fiche apparaisse directement et non comme une nouvelles personne (même nom - même prénom - même date de naissance) Merci de m'aider
Bonjour
Plusieurs solution sont possibles... En voici une :
Prenez un objet RecordSet avec une chaîne SQL correspondante...
Dim strNom As String
Dim strPrenom As String
Dim strDateNaissance As String
Dim oRS As DAO.Recordset
Dim blnExiteDeja As Boolean
strNom = Me!Nom
strPrenom = Me!Prenom
strDateNaissance = Format(Me!DateNaissance, "mm/dd/yyyy")
blnExiteDeja = False
SQL = "SELECT Nom, Prenom, DateNaissance FROM MaTable WHERE Nom='" & strNom
& "' AND Prenom ='" & strPrenom & "' AND DateNaissance = #" &
strDateNaissance & "#;"
Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
If Not oRS.EOF Then
blnExiteDeja = True
End If
oRS.Close
Set oRS = Nothing
Vous pouvez mettre cela dans une fonction booléenne qui retourne la valeur
de blnExiteDeja.
De là, vous pouvez décider de la marche à suivre :
MsgBox(), Undo etc...
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
bonjour.
J'effectue une base de donnée avec des personnes qui effectuent des demandes.
J'ai attribué une clé primaire sur un num d'usager automatique.
J'aimerai savoir comment éviter des doublons c'est à dire si une personne à
déja fait une demande que sa fiche apparaisse directement et non comme une
nouvelles personne (même nom - même prénom - même date de naissance)
Merci de m'aider
Plusieurs solution sont possibles... En voici une : Prenez un objet RecordSet avec une chaîne SQL correspondante...
Dim strNom As String Dim strPrenom As String Dim strDateNaissance As String Dim oRS As DAO.Recordset Dim blnExiteDeja As Boolean
strNom = Me!Nom strPrenom = Me!Prenom strDateNaissance = Format(Me!DateNaissance, "mm/dd/yyyy") blnExiteDeja = False SQL = "SELECT Nom, Prenom, DateNaissance FROM MaTable WHERE Nom='" & strNom & "' AND Prenom ='" & strPrenom & "' AND DateNaissance = #" & strDateNaissance & "#;" Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset) If Not oRS.EOF Then blnExiteDeja = True End If oRS.Close Set oRS = Nothing
Vous pouvez mettre cela dans une fonction booléenne qui retourne la valeur de blnExiteDeja. De là, vous pouvez décider de la marche à suivre : MsgBox(), Undo etc...
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
bonjour. J'effectue une base de donnée avec des personnes qui effectuent des demandes. J'ai attribué une clé primaire sur un num d'usager automatique. J'aimerai savoir comment éviter des doublons c'est à dire si une personne à déja fait une demande que sa fiche apparaisse directement et non comme une nouvelles personne (même nom - même prénom - même date de naissance) Merci de m'aider
zOrg2net
Bonjour à tous, J'ai essayé ce bout de code, il fonctionne à merveille. Je l'ai mis dans l'évènement Après MAJ d'une zone de texte "Date de naissance" et encadré dans un test: If Not IsNull(Me.Nom) And Not IsNull(Me.prenom) then ----- le code----- End If
P.S. Ne pas oublier de dimensionner la variable SQL si on a activé l'Option Explicit. Merci beaucoup pour cet article que je déclare d'utilité publique ;o)).
zOrg2net
Bonjour
Plusieurs solution sont possibles... En voici une : Prenez un objet RecordSet avec une chaîne SQL correspondante...
Dim strNom As String Dim strPrenom As String Dim strDateNaissance As String Dim oRS As DAO.Recordset Dim blnExiteDeja As Boolean
strNom = Me!Nom strPrenom = Me!Prenom strDateNaissance = Format(Me!DateNaissance, "mm/dd/yyyy") blnExiteDeja = False SQL = "SELECT Nom, Prenom, DateNaissance FROM MaTable WHERE Nom='" & strNom & "' AND Prenom ='" & strPrenom & "' AND DateNaissance = #" & strDateNaissance & "#;" Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset) If Not oRS.EOF Then blnExiteDeja = True End If oRS.Close Set oRS = Nothing
Vous pouvez mettre cela dans une fonction booléenne qui retourne la valeur de blnExiteDeja. De là, vous pouvez décider de la marche à suivre : MsgBox(), Undo etc...
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
bonjour. J'effectue une base de donnée avec des personnes qui effectuent des demandes. J'ai attribué une clé primaire sur un num d'usager automatique. J'aimerai savoir comment éviter des doublons c'est à dire si une personne à déja fait une demande que sa fiche apparaisse directement et non comme une nouvelles personne (même nom - même prénom - même date de naissance) Merci de m'aider
Bonjour à tous,
J'ai essayé ce bout de code, il fonctionne à merveille. Je l'ai mis dans
l'évènement Après MAJ d'une zone de texte "Date de naissance" et encadré dans
un test: If Not IsNull(Me.Nom) And Not IsNull(Me.prenom) then
----- le code-----
End If
P.S. Ne pas oublier de dimensionner la variable SQL si on a activé l'Option
Explicit.
Merci beaucoup pour cet article que je déclare d'utilité publique ;o)).
zOrg2net
Bonjour
Plusieurs solution sont possibles... En voici une :
Prenez un objet RecordSet avec une chaîne SQL correspondante...
Dim strNom As String
Dim strPrenom As String
Dim strDateNaissance As String
Dim oRS As DAO.Recordset
Dim blnExiteDeja As Boolean
strNom = Me!Nom
strPrenom = Me!Prenom
strDateNaissance = Format(Me!DateNaissance, "mm/dd/yyyy")
blnExiteDeja = False
SQL = "SELECT Nom, Prenom, DateNaissance FROM MaTable WHERE Nom='" & strNom
& "' AND Prenom ='" & strPrenom & "' AND DateNaissance = #" &
strDateNaissance & "#;"
Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
If Not oRS.EOF Then
blnExiteDeja = True
End If
oRS.Close
Set oRS = Nothing
Vous pouvez mettre cela dans une fonction booléenne qui retourne la valeur
de blnExiteDeja.
De là, vous pouvez décider de la marche à suivre :
MsgBox(), Undo etc...
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
bonjour.
J'effectue une base de donnée avec des personnes qui effectuent des demandes.
J'ai attribué une clé primaire sur un num d'usager automatique.
J'aimerai savoir comment éviter des doublons c'est à dire si une personne à
déja fait une demande que sa fiche apparaisse directement et non comme une
nouvelles personne (même nom - même prénom - même date de naissance)
Merci de m'aider
Bonjour à tous, J'ai essayé ce bout de code, il fonctionne à merveille. Je l'ai mis dans l'évènement Après MAJ d'une zone de texte "Date de naissance" et encadré dans un test: If Not IsNull(Me.Nom) And Not IsNull(Me.prenom) then ----- le code----- End If
P.S. Ne pas oublier de dimensionner la variable SQL si on a activé l'Option Explicit. Merci beaucoup pour cet article que je déclare d'utilité publique ;o)).
zOrg2net
Bonjour
Plusieurs solution sont possibles... En voici une : Prenez un objet RecordSet avec une chaîne SQL correspondante...
Dim strNom As String Dim strPrenom As String Dim strDateNaissance As String Dim oRS As DAO.Recordset Dim blnExiteDeja As Boolean
strNom = Me!Nom strPrenom = Me!Prenom strDateNaissance = Format(Me!DateNaissance, "mm/dd/yyyy") blnExiteDeja = False SQL = "SELECT Nom, Prenom, DateNaissance FROM MaTable WHERE Nom='" & strNom & "' AND Prenom ='" & strPrenom & "' AND DateNaissance = #" & strDateNaissance & "#;" Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset) If Not oRS.EOF Then blnExiteDeja = True End If oRS.Close Set oRS = Nothing
Vous pouvez mettre cela dans une fonction booléenne qui retourne la valeur de blnExiteDeja. De là, vous pouvez décider de la marche à suivre : MsgBox(), Undo etc...
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
bonjour. J'effectue une base de donnée avec des personnes qui effectuent des demandes. J'ai attribué une clé primaire sur un num d'usager automatique. J'aimerai savoir comment éviter des doublons c'est à dire si une personne à déja fait une demande que sa fiche apparaisse directement et non comme une nouvelles personne (même nom - même prénom - même date de naissance) Merci de m'aider