Une question probablement simple pour certains, mais sur laquelle je butte :
Je dois faire une bdd pour saisir des points (numériques) qui se trouvent
dans des secteurs (numériques).
Il y a donc une table "PP" avec les infos sur les points et une table
"Secteurs" avec des infos sur les secteurs.
Les clés primaires sont NrPoint et NrSecteur
Toutefois, il existe des points à la frontière des secteurs. Ils sont donc
dans plusieurs secteurs.
J'ai créé un formulaire pour la saisie des points.
Dans ce formulaire, un sous-formulaire pour les secteurs dans lesquels se
trouvent ces points.
C'est LÀ le problème.
Lorsque je saisis un point, pas de pbl. Mais lorsque j'essaye de mettre un
numéro de secteur dans le sous-formulaire, je reçois invariablement le
message : "Modification non effectuée : risque de doublons dans le champs
index, clé primaire ou relation interdisant les doublons. Modifiez les
données des champs contenant les doublons, enlevez ou redéfinissez l'index
pour permettre les doublons et recommencez."
Je butte sur ce message depuis ce matin.
C'est quoi qui n'est pas correct dans les tables, dans ma relation ou dans
mon formulaire ?
Comme tous les numéros de secteurs sont déjà dans la table avec leurs
spécifications, j'ai une relation un à plusieurs où j'inclus tous les
enregistrements de la table PP et les enregistrements de la table Secteurs
pour lesquels les champs joints sont égaux.
"Dan" a écrit dans le message de news: 4486e31c$0$927$
Dans ce cas, tu peux verrouiller la saisie dans le form Secteurs : groupe de propriétés Données du formulaire : Modif, Suppr, Ajout, Entrée de données à Non... Le sous-form servira juste à visualiser les points du secteur courant...
A+ Dan
Merci Dan
"Dan" <service.informatique@riorges.fr.pas.de.pub> a écrit dans le message
de news: 4486e31c$0$927$ba4acef3@news.orange.fr...
Dans ce cas, tu peux verrouiller la saisie dans le form Secteurs : groupe
de propriétés Données du formulaire : Modif, Suppr, Ajout, Entrée de
données à Non...
Le sous-form servira juste à visualiser les points du secteur courant...
"Dan" a écrit dans le message de news: 4486e31c$0$927$
Dans ce cas, tu peux verrouiller la saisie dans le form Secteurs : groupe de propriétés Données du formulaire : Modif, Suppr, Ajout, Entrée de données à Non... Le sous-form servira juste à visualiser les points du secteur courant...
A+ Dan
Dan
"Jean-Marc" a écrit dans le message de news: hpBhg.25046$
C'est à peu près ce que j'ai fais, sauf la liste déroulante, puisque chaque point peut-être attribué à plusieurs secteurs (s'il est sur la frontière de 2 secteurs, il sert aux 2 secteurs et doit donc se retrouver dans les 2). De même, chaque secteur contient plusieurs points. Cela fonctionne, maintenant.
Mais là je suis à l'étape suivante et je bute sur autre chose.
Dans chaque secteur il y a un nombre de lots (un champs numérique dans la table secteur) Il existe des points avants et des points arrières (un champs oui/non dans la table Points)
Pour qu'un secteur soit valide, il faut qu'il y ait au moins 1 point par 3 lots. Il faut aussi que 20% des points du secteur soient des points arrières. Je pensais créer 2 champs dans le formulaire Secteurs. Dans un champs, serait écrit qu'il y a un point par X lots dans ce secteur et dans l'autre champs, le pourcentage de points arrières, mais je bute la requête à faire.
Bon...
Commençons par décomposer les prérequis de la validation d'un secteur : - dans ton form Secteurs, crée 2 zones de textes : NbPoints_Total, NbPoints_Arrières - NbPoints_Total aura pour source une requête comptabilisant les points du secteur - NbPoints_Arrières aura pour source une requête comptabilisant les points arrières du secteur
Requête : RNbPoints_Total - basée sur la table Sectorisations - critère secteur = Forms!Secteurs!CodeSecteur - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Requête : RNbPoints_Arrières - basée sur la table Sectorisations liée à la table des Points - critère secteur = Forms!Secteurs!CodeSecteur - critère Arrière = oui - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Il restera à définir une procédure permettant de décider, à l'aide de tout ça (les lots, le total des points, le total des points arrières), si ton secteur est valide...
Ensuite, il faudra décider si tu fais le calcul de la validité du Secteur à chaque affichage (SurActivation), ou bien si un traitement devra mettre à jour un indicateur Secteur_Valide dans la table des secteurs... La première hypothèse te garantit un indicateur à jour en permanence, mais sera gourmande en temps d'affichage, la seconde sera plus rapide à l'affichage, mais te fera courir le risque des suppressions dans la table Sectorisations ou des modifications du nombre de lots...
On va y aller piano, si tu veux... A+ Dan
"Jean-Marc" <jmdeneyerENLEVEZCECI@yahoo.com> a écrit dans le message de
news: hpBhg.25046$S61.15712@edtnps90...
C'est à peu près ce que j'ai fais, sauf la liste déroulante, puisque
chaque point peut-être attribué à plusieurs secteurs (s'il est sur la
frontière de 2 secteurs, il sert aux 2 secteurs et doit donc se retrouver
dans les 2). De même, chaque secteur contient plusieurs points.
Cela fonctionne, maintenant.
Mais là je suis à l'étape suivante et je bute sur autre chose.
Dans chaque secteur il y a un nombre de lots (un champs numérique dans la
table secteur)
Il existe des points avants et des points arrières (un champs oui/non dans
la table Points)
Pour qu'un secteur soit valide, il faut qu'il y ait au moins 1 point par 3
lots. Il faut aussi que 20% des points du secteur soient des points
arrières.
Je pensais créer 2 champs dans le formulaire Secteurs. Dans un champs,
serait écrit qu'il y a un point par X lots dans ce secteur et dans l'autre
champs, le pourcentage de points arrières, mais je bute la requête à
faire.
Bon...
Commençons par décomposer les prérequis de la validation d'un secteur :
- dans ton form Secteurs, crée 2 zones de textes : NbPoints_Total,
NbPoints_Arrières
- NbPoints_Total aura pour source une requête comptabilisant les points du
secteur
- NbPoints_Arrières aura pour source une requête comptabilisant les points
arrières du secteur
Requête : RNbPoints_Total
- basée sur la table Sectorisations
- critère secteur = Forms!Secteurs!CodeSecteur
- colonne Comptage : CompteDeCodePoint (option des opérations sur les
requêtes)
Requête : RNbPoints_Arrières
- basée sur la table Sectorisations liée à la table des Points
- critère secteur = Forms!Secteurs!CodeSecteur
- critère Arrière = oui
- colonne Comptage : CompteDeCodePoint (option des opérations sur les
requêtes)
Il restera à définir une procédure permettant de décider, à l'aide de tout
ça (les lots, le total des points, le total des points arrières), si ton
secteur est valide...
Ensuite, il faudra décider si tu fais le calcul de la validité du Secteur à
chaque affichage (SurActivation), ou bien si un traitement devra mettre à
jour un indicateur Secteur_Valide dans la table des secteurs...
La première hypothèse te garantit un indicateur à jour en permanence, mais
sera gourmande en temps d'affichage, la seconde sera plus rapide à
l'affichage, mais te fera courir le risque des suppressions dans la table
Sectorisations ou des modifications du nombre de lots...
"Jean-Marc" a écrit dans le message de news: hpBhg.25046$
C'est à peu près ce que j'ai fais, sauf la liste déroulante, puisque chaque point peut-être attribué à plusieurs secteurs (s'il est sur la frontière de 2 secteurs, il sert aux 2 secteurs et doit donc se retrouver dans les 2). De même, chaque secteur contient plusieurs points. Cela fonctionne, maintenant.
Mais là je suis à l'étape suivante et je bute sur autre chose.
Dans chaque secteur il y a un nombre de lots (un champs numérique dans la table secteur) Il existe des points avants et des points arrières (un champs oui/non dans la table Points)
Pour qu'un secteur soit valide, il faut qu'il y ait au moins 1 point par 3 lots. Il faut aussi que 20% des points du secteur soient des points arrières. Je pensais créer 2 champs dans le formulaire Secteurs. Dans un champs, serait écrit qu'il y a un point par X lots dans ce secteur et dans l'autre champs, le pourcentage de points arrières, mais je bute la requête à faire.
Bon...
Commençons par décomposer les prérequis de la validation d'un secteur : - dans ton form Secteurs, crée 2 zones de textes : NbPoints_Total, NbPoints_Arrières - NbPoints_Total aura pour source une requête comptabilisant les points du secteur - NbPoints_Arrières aura pour source une requête comptabilisant les points arrières du secteur
Requête : RNbPoints_Total - basée sur la table Sectorisations - critère secteur = Forms!Secteurs!CodeSecteur - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Requête : RNbPoints_Arrières - basée sur la table Sectorisations liée à la table des Points - critère secteur = Forms!Secteurs!CodeSecteur - critère Arrière = oui - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Il restera à définir une procédure permettant de décider, à l'aide de tout ça (les lots, le total des points, le total des points arrières), si ton secteur est valide...
Ensuite, il faudra décider si tu fais le calcul de la validité du Secteur à chaque affichage (SurActivation), ou bien si un traitement devra mettre à jour un indicateur Secteur_Valide dans la table des secteurs... La première hypothèse te garantit un indicateur à jour en permanence, mais sera gourmande en temps d'affichage, la seconde sera plus rapide à l'affichage, mais te fera courir le risque des suppressions dans la table Sectorisations ou des modifications du nombre de lots...
On va y aller piano, si tu veux... A+ Dan
Dan
J'ai oublié :
Dans le form Secteurs, la zone de texte NbPointsTotal a pour source = rechdom("[Comptage]";"[RNbPoints_Total]") Pareil pour les points Arrières...
A+ Dan
J'ai oublié :
Dans le form Secteurs, la zone de texte NbPointsTotal a pour source =
rechdom("[Comptage]";"[RNbPoints_Total]")
Pareil pour les points Arrières...
Dans le form Secteurs, la zone de texte NbPointsTotal a pour source = rechdom("[Comptage]";"[RNbPoints_Total]") Pareil pour les points Arrières...
A+ Dan
Jean-Marc
Bon, les requêtes sont faites. Je n'ai pas eu de pbl pour la première, mais ça a été plus dur pour la seconde. Je recevais toujours le nombre total de points dans le secteur, mais j'ai fini par comprendre et c'est fait. Maintenant, quand je crée les champs dans le formulaire secteur et que je mets sa source sur le champs de la requête, je reçois #Nom ? dans le champs. C'est quoi qui n'est pas correct ? La requête fonctionne, mais je n'arrive pas à mettre le résultat dans le champs.
"Dan" a écrit dans le message de news: 4486e9e3$0$994$
"Jean-Marc" a écrit dans le message de news: hpBhg.25046$
C'est à peu près ce que j'ai fais, sauf la liste déroulante, puisque chaque point peut-être attribué à plusieurs secteurs (s'il est sur la frontière de 2 secteurs, il sert aux 2 secteurs et doit donc se retrouver dans les 2). De même, chaque secteur contient plusieurs points. Cela fonctionne, maintenant.
Mais là je suis à l'étape suivante et je bute sur autre chose.
Dans chaque secteur il y a un nombre de lots (un champs numérique dans la table secteur) Il existe des points avants et des points arrières (un champs oui/non dans la table Points)
Pour qu'un secteur soit valide, il faut qu'il y ait au moins 1 point par 3 lots. Il faut aussi que 20% des points du secteur soient des points arrières. Je pensais créer 2 champs dans le formulaire Secteurs. Dans un champs, serait écrit qu'il y a un point par X lots dans ce secteur et dans l'autre champs, le pourcentage de points arrières, mais je bute la requête à faire.
Bon...
Commençons par décomposer les prérequis de la validation d'un secteur : - dans ton form Secteurs, crée 2 zones de textes : NbPoints_Total, NbPoints_Arrières - NbPoints_Total aura pour source une requête comptabilisant les points du secteur - NbPoints_Arrières aura pour source une requête comptabilisant les points arrières du secteur
Requête : RNbPoints_Total - basée sur la table Sectorisations - critère secteur = Forms!Secteurs!CodeSecteur - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Requête : RNbPoints_Arrières - basée sur la table Sectorisations liée à la table des Points - critère secteur = Forms!Secteurs!CodeSecteur - critère Arrière = oui - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Il restera à définir une procédure permettant de décider, à l'aide de tout ça (les lots, le total des points, le total des points arrières), si ton secteur est valide...
Ensuite, il faudra décider si tu fais le calcul de la validité du Secteur à chaque affichage (SurActivation), ou bien si un traitement devra mettre à jour un indicateur Secteur_Valide dans la table des secteurs... La première hypothèse te garantit un indicateur à jour en permanence, mais sera gourmande en temps d'affichage, la seconde sera plus rapide à l'affichage, mais te fera courir le risque des suppressions dans la table Sectorisations ou des modifications du nombre de lots...
On va y aller piano, si tu veux... A+ Dan
Bon, les requêtes sont faites.
Je n'ai pas eu de pbl pour la première, mais ça a été plus dur pour la
seconde. Je recevais toujours le nombre total de points dans le secteur,
mais j'ai fini par comprendre et c'est fait.
Maintenant, quand je crée les champs dans le formulaire secteur et que je
mets sa source sur le champs de la requête, je reçois #Nom ? dans le champs.
C'est quoi qui n'est pas correct ?
La requête fonctionne, mais je n'arrive pas à mettre le résultat dans le
champs.
"Dan" <service.informatique@riorges.fr.pas.de.pub> a écrit dans le message
de news: 4486e9e3$0$994$ba4acef3@news.orange.fr...
"Jean-Marc" <jmdeneyerENLEVEZCECI@yahoo.com> a écrit dans le message de
news: hpBhg.25046$S61.15712@edtnps90...
C'est à peu près ce que j'ai fais, sauf la liste déroulante, puisque
chaque point peut-être attribué à plusieurs secteurs (s'il est sur la
frontière de 2 secteurs, il sert aux 2 secteurs et doit donc se retrouver
dans les 2). De même, chaque secteur contient plusieurs points.
Cela fonctionne, maintenant.
Mais là je suis à l'étape suivante et je bute sur autre chose.
Dans chaque secteur il y a un nombre de lots (un champs numérique dans la
table secteur)
Il existe des points avants et des points arrières (un champs oui/non
dans la table Points)
Pour qu'un secteur soit valide, il faut qu'il y ait au moins 1 point par
3 lots. Il faut aussi que 20% des points du secteur soient des points
arrières.
Je pensais créer 2 champs dans le formulaire Secteurs. Dans un champs,
serait écrit qu'il y a un point par X lots dans ce secteur et dans
l'autre champs, le pourcentage de points arrières, mais je bute la
requête à faire.
Bon...
Commençons par décomposer les prérequis de la validation d'un secteur :
- dans ton form Secteurs, crée 2 zones de textes : NbPoints_Total,
NbPoints_Arrières
- NbPoints_Total aura pour source une requête comptabilisant les points du
secteur
- NbPoints_Arrières aura pour source une requête comptabilisant les points
arrières du secteur
Requête : RNbPoints_Total
- basée sur la table Sectorisations
- critère secteur = Forms!Secteurs!CodeSecteur
- colonne Comptage : CompteDeCodePoint (option des opérations sur les
requêtes)
Requête : RNbPoints_Arrières
- basée sur la table Sectorisations liée à la table des Points
- critère secteur = Forms!Secteurs!CodeSecteur
- critère Arrière = oui
- colonne Comptage : CompteDeCodePoint (option des opérations sur les
requêtes)
Il restera à définir une procédure permettant de décider, à l'aide de tout
ça (les lots, le total des points, le total des points arrières), si ton
secteur est valide...
Ensuite, il faudra décider si tu fais le calcul de la validité du Secteur
à chaque affichage (SurActivation), ou bien si un traitement devra mettre
à jour un indicateur Secteur_Valide dans la table des secteurs...
La première hypothèse te garantit un indicateur à jour en permanence, mais
sera gourmande en temps d'affichage, la seconde sera plus rapide à
l'affichage, mais te fera courir le risque des suppressions dans la table
Sectorisations ou des modifications du nombre de lots...
Bon, les requêtes sont faites. Je n'ai pas eu de pbl pour la première, mais ça a été plus dur pour la seconde. Je recevais toujours le nombre total de points dans le secteur, mais j'ai fini par comprendre et c'est fait. Maintenant, quand je crée les champs dans le formulaire secteur et que je mets sa source sur le champs de la requête, je reçois #Nom ? dans le champs. C'est quoi qui n'est pas correct ? La requête fonctionne, mais je n'arrive pas à mettre le résultat dans le champs.
"Dan" a écrit dans le message de news: 4486e9e3$0$994$
"Jean-Marc" a écrit dans le message de news: hpBhg.25046$
C'est à peu près ce que j'ai fais, sauf la liste déroulante, puisque chaque point peut-être attribué à plusieurs secteurs (s'il est sur la frontière de 2 secteurs, il sert aux 2 secteurs et doit donc se retrouver dans les 2). De même, chaque secteur contient plusieurs points. Cela fonctionne, maintenant.
Mais là je suis à l'étape suivante et je bute sur autre chose.
Dans chaque secteur il y a un nombre de lots (un champs numérique dans la table secteur) Il existe des points avants et des points arrières (un champs oui/non dans la table Points)
Pour qu'un secteur soit valide, il faut qu'il y ait au moins 1 point par 3 lots. Il faut aussi que 20% des points du secteur soient des points arrières. Je pensais créer 2 champs dans le formulaire Secteurs. Dans un champs, serait écrit qu'il y a un point par X lots dans ce secteur et dans l'autre champs, le pourcentage de points arrières, mais je bute la requête à faire.
Bon...
Commençons par décomposer les prérequis de la validation d'un secteur : - dans ton form Secteurs, crée 2 zones de textes : NbPoints_Total, NbPoints_Arrières - NbPoints_Total aura pour source une requête comptabilisant les points du secteur - NbPoints_Arrières aura pour source une requête comptabilisant les points arrières du secteur
Requête : RNbPoints_Total - basée sur la table Sectorisations - critère secteur = Forms!Secteurs!CodeSecteur - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Requête : RNbPoints_Arrières - basée sur la table Sectorisations liée à la table des Points - critère secteur = Forms!Secteurs!CodeSecteur - critère Arrière = oui - colonne Comptage : CompteDeCodePoint (option des opérations sur les requêtes)
Il restera à définir une procédure permettant de décider, à l'aide de tout ça (les lots, le total des points, le total des points arrières), si ton secteur est valide...
Ensuite, il faudra décider si tu fais le calcul de la validité du Secteur à chaque affichage (SurActivation), ou bien si un traitement devra mettre à jour un indicateur Secteur_Valide dans la table des secteurs... La première hypothèse te garantit un indicateur à jour en permanence, mais sera gourmande en temps d'affichage, la seconde sera plus rapide à l'affichage, mais te fera courir le risque des suppressions dans la table Sectorisations ou des modifications du nombre de lots...
On va y aller piano, si tu veux... A+ Dan
Dan
Exécute ta requête et regarde les champs qu'elle t'affiche : tu dois reprendre exactement le nom de la colonne qui comptabilise les points (dans mon exemple, c'était Comptage)
A demain !!! Dan
Exécute ta requête et regarde les champs qu'elle t'affiche : tu dois
reprendre exactement le nom de la colonne qui comptabilise les points (dans
mon exemple, c'était Comptage)
Exécute ta requête et regarde les champs qu'elle t'affiche : tu dois reprendre exactement le nom de la colonne qui comptabilise les points (dans mon exemple, c'était Comptage)
A demain !!! Dan
Jean-Marc
Dans le formulaire, j'ai créé un champs vierge et dans sa source J'ai utilisé le générateur d'expression pour aller chercher le champs, mais je reçois quand-même le message d'erreur dans le champs. Je ne comprend pas.
Merci de ton aide et bonne soirée, Jean-Marc
"Dan" a écrit dans le message de news: 4486f1e9$0$848$
Exécute ta requête et regarde les champs qu'elle t'affiche : tu dois reprendre exactement le nom de la colonne qui comptabilise les points (dans mon exemple, c'était Comptage)
A demain !!! Dan
Dans le formulaire, j'ai créé un champs vierge et dans sa source J'ai
utilisé le générateur d'expression pour aller chercher le champs, mais je
reçois quand-même le message d'erreur dans le champs.
Je ne comprend pas.
Merci de ton aide et bonne soirée,
Jean-Marc
"Dan" <service.informatique@riorges.fr.pas.de.pub> a écrit dans le message
de news: 4486f1e9$0$848$ba4acef3@news.orange.fr...
Exécute ta requête et regarde les champs qu'elle t'affiche : tu dois
reprendre exactement le nom de la colonne qui comptabilise les points
(dans mon exemple, c'était Comptage)
Dans le formulaire, j'ai créé un champs vierge et dans sa source J'ai utilisé le générateur d'expression pour aller chercher le champs, mais je reçois quand-même le message d'erreur dans le champs. Je ne comprend pas.
Merci de ton aide et bonne soirée, Jean-Marc
"Dan" a écrit dans le message de news: 4486f1e9$0$848$
Exécute ta requête et regarde les champs qu'elle t'affiche : tu dois reprendre exactement le nom de la colonne qui comptabilise les points (dans mon exemple, c'était Comptage)
A demain !!! Dan
Jean-Marc
Ca y est. J'y suis.
Merci beaucoup de ton aide qui m'a fait gagner un temps précieux, Dan, Jean-Marc
"Dan" a écrit dans le message de news: 4486ef61$0$866$
J'ai oublié :
Dans le form Secteurs, la zone de texte NbPointsTotal a pour source = rechdom("[Comptage]";"[RNbPoints_Total]") Pareil pour les points Arrières...
A+ Dan
Ca y est. J'y suis.
Merci beaucoup de ton aide qui m'a fait gagner un temps précieux, Dan,
Jean-Marc
"Dan" <service.informatique@riorges.fr.pas.de.pub> a écrit dans le message
de news: 4486ef61$0$866$ba4acef3@news.orange.fr...
J'ai oublié :
Dans le form Secteurs, la zone de texte NbPointsTotal a pour source =
rechdom("[Comptage]";"[RNbPoints_Total]")
Pareil pour les points Arrières...