Alerte doublon sur champ calculé
Résolu/Fermé
traderpierre
Messages postés
291
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
6 janvier 2024
-
Modifié le 18 avril 2020 à 02:14
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 - 18 avril 2020 à 13:14
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 - 18 avril 2020 à 13:14
A voir également:
- Alerte doublon sur champ calculé
- Fausse alerte mcafee - Accueil - Piratage
- Supprimer doublon excel - Guide
- Calculer une moyenne sur excel - Guide
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
- Alea entre bornes sans doublon - Forum Excel
3 réponses
yg_be
Messages postés
23400
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 décembre 2024
Ambassadeur
1 557
18 avril 2020 à 09:01
18 avril 2020 à 09:01
bonjour, je suppose que DetectDoublon n'est pas un champ d'une table, et est un contrôle dans un formulaire.
as-tu essayé en retirant dcount?
as-tu essayé en retirant dcount?
traderpierre
Messages postés
291
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
6 janvier 2024
6
18 avril 2020 à 12:57
18 avril 2020 à 12:57
Votre solution ne fonctionne pas !!!
traderpierre
Messages postés
291
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
6 janvier 2024
6
18 avril 2020 à 13:02
18 avril 2020 à 13:02
Je viens de trouver la solution, ça fonctionne super bien !!!
La voici expliquée en détail
Détecter Doublon sur champ Calculé de ma table Dépenses Charges Syndic
Dans cette table, créer un champs calculé "DetectDoublon" qui concatène certains champs dans leur ordre de saisie :
= Année([Date dépenses])&"-"&[Libellé] & "-" & [Réf A-P Syndic]
Ensuite créer une requête "Doublons pour Dépenses Charges SyndicReq" qui Recherche les doubons sur le champs "DetectDoublon" de cette table :
Code Sql :
SELECT [Dépenses Charges Syndic].DetectDoublon, [Dépenses Charges Syndic].Libellé, [Dépenses Charges Syndic].[Réf A-P Syndic], [Dépenses Charges Syndic].[Date dépenses]
FROM [Dépenses Charges Syndic]
WHERE ((([Dépenses Charges Syndic].DetectDoublon) In (SELECT [DetectDoublon] FROM [Dépenses Charges Syndic] As Tmp GROUP BY [DetectDoublon] HAVING Count(*)>1 )))
ORDER BY [Dépenses Charges Syndic].DetectDoublon;
Ensuite dans le formulaire adossé à la saisie des datas de cette table ;
dans l'évènement Après mise à jour du dernier champs saisi en l'occurence le champ "Réf A-P Syndic"
je rentre ce code VBA :
Private Sub Réf_A_P_Syndic_AfterUpdate()
If DCount("*", "Doublons pour Dépenses Charges SyndicReq", Me.DetectDoublon) > 0 Then
MsgBox "Cet ajout ferait un doublon !", vbCritical
Cancel = True
End If
End Sub
ça fonctionne super bien
La voici expliquée en détail
Détecter Doublon sur champ Calculé de ma table Dépenses Charges Syndic
Dans cette table, créer un champs calculé "DetectDoublon" qui concatène certains champs dans leur ordre de saisie :
= Année([Date dépenses])&"-"&[Libellé] & "-" & [Réf A-P Syndic]
Ensuite créer une requête "Doublons pour Dépenses Charges SyndicReq" qui Recherche les doubons sur le champs "DetectDoublon" de cette table :
Code Sql :
SELECT [Dépenses Charges Syndic].DetectDoublon, [Dépenses Charges Syndic].Libellé, [Dépenses Charges Syndic].[Réf A-P Syndic], [Dépenses Charges Syndic].[Date dépenses]
FROM [Dépenses Charges Syndic]
WHERE ((([Dépenses Charges Syndic].DetectDoublon) In (SELECT [DetectDoublon] FROM [Dépenses Charges Syndic] As Tmp GROUP BY [DetectDoublon] HAVING Count(*)>1 )))
ORDER BY [Dépenses Charges Syndic].DetectDoublon;
Ensuite dans le formulaire adossé à la saisie des datas de cette table ;
dans l'évènement Après mise à jour du dernier champs saisi en l'occurence le champ "Réf A-P Syndic"
je rentre ce code VBA :
Private Sub Réf_A_P_Syndic_AfterUpdate()
If DCount("*", "Doublons pour Dépenses Charges SyndicReq", Me.DetectDoublon) > 0 Then
MsgBox "Cet ajout ferait un doublon !", vbCritical
Cancel = True
End If
End Sub
ça fonctionne super bien
yg_be
Messages postés
23400
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 décembre 2024
1 557
Modifié le 18 avril 2020 à 13:20
Modifié le 18 avril 2020 à 13:20
je me demande si tu ne peux pas simplifier ta requête et ne garder que:
ou même, sans utiliser le champ calculé, qui ne sert peut-être à rien:
dans les deux cas, supprimer la troisième paramètre de dcount
SELECT [DetectDoublon],count(*) FROM [Dépenses Charges Syndic] GROUP BY [DetectDoublon] HAVING Count(*)>1
ou même, sans utiliser le champ calculé, qui ne sert peut-être à rien:
SELECT Année([Date dépenses]), [Libellé], Réf A-P Syndic], count(*) FROM [Dépenses Charges Syndic] GROUP BY Année([Date dépenses]), [Libellé], Réf A-P Syndic] HAVING Count(*)>1
dans les deux cas, supprimer la troisième paramètre de dcount
Modifié le 18 avril 2020 à 09:32
ce que tu peux aussi faire sans le contrôle DetectDoublon.