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 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 18 avril 2020 à 13:14
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 18 avril 2020 à 13:14
A voir également:
- Alerte doublon sur champ calculé
- Supprimer doublon excel - Guide
- Fausse alerte connexion facebook - Guide
- Calculer une moyenne sur excel - Guide
- Fausse alerte - Guide
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
3 réponses
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
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
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
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.