Rechercher : dans
Par :

Impossible de mettre à jour le Recorset

Dernière réponse le 7 aoû 2009 à 15:44:50 Richard (un autre!), le 8 sep 2004 à 16:46:30 
 Signaler ce message aux modérateurs

Bonjour à tous.
Moi aussi, j'ai un souci et je commence à peine dans Access2000.
Imaginons une société qui ait 3 agences principales (a,b,c) et chacune d'entre-elles, 4 points de vente secondaires(a1,a2...c3,c4). On a un champ effectifpdv qui représente... l'effectif du point de vente dans la table "points de vente". On cherche, en accédant à l'enregistrement a1 ou a2, ou a3, à afficher le total de l'effectif de a, c'est à dire l'effectif de a1 + l'effectif de a2...
J'ai créé pour cela une requête avec un champ de regroupement (tout les points de vente qui dépendent de l'agence a) et un champ de somme des effectifs. J'ai une zone dans mon formulaire "points de vente" dont la source est la requete que je viens de décrire.
Il est alors impossible de mettre à jour les autres données à partir du formulaire "points de vente". Message "impossible de mettre à jour le recordset" en bas de la fenêtre Access.

Question : pourquoi?
Question : comment faire?

Merci à tous les cerveaux!

Meilleures réponses pour « Impossible de mettre à jour le Recorset » dans :
Webmastering - Maintenance et mise à jour d'un site web Voir Maintenance Prévoir la logistique Mise à jour Vérification des liens Il n'est pas rare que les liens hypertextes présents sur le site deviennent obsolètes, on parle alors de liens brisés ou liens cassés. Le risque est d'autant plus grand que...
Télécharger Norton Antivirus Mise à jour Voir Voici la dernière mise à jour téléchargeable pour l'antivirus Norton pour vous assurer une protection optimale contre les virus. Prend en charge les versions suivantes des logiciels antivirus de Symantec : Norton Antivirus 2009 for Windows XP...
Mise à jour des pilotes de la carte graphique Voir Mise à jour des pilotes graphiques Quelle carte Graphique je possède ? Sous Windows Xp Sous Windows Vista Mise à jour Mise à jour des pilotes graphiques Pour mettre à jour les pilotes de la carte graphique, il vous faut connaître la...
Comment mettre à jour le firmware de sa PSP ? VoirIl est recommandé de mettre à jour le firmware (logiciel système) de sa PSP pour corriger les bogues, failles, améliorer/ajouter des fonctionnalités et pour jouer aux nouveaux jeux entre autres. Pour connaître la version du firmware, il suffit...
Utiliser un proxy pour les mises à jour VoirSi vous n'avez accès à internet qu'à travers un proxy, il faut activer le support proxy pour pouvoir installer les mises à jour de sécurité Ubuntu. Voici comment procéder : Proxy avec Synaptic Proxy avec apt-get et aptitude Proxy avec...

1

blux, le 9 sep 2004 à 10:10:02

Salut,

ton formulaire, tu l'as créé comment :

- ex-nihilo ?
- en te servant d'un assistant et donc basé sur une table/requête ?

Si c'est le deuxième cas, alors, il peut y avoir problème...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

Richard (un autre!), le 9 sep 2004 à 11:19:41

Bonjour,
C'est pas ex-nihilo :
j'ai créé le formulaire à partir d'une requête qui appelle les champs d'une table "Décisions" (champ: Décision.*), plus la requête de calcul du total des effectifs, dans laquelle je choisis d'afficher le champ SommedeEffectifs.

A quel genre de problème fais tu allusion?

Merci (déjà pour une réponse!)
Richard.

Répondre à Richard (un autre!)

3

blux, le 9 sep 2004 à 11:48:47

Je pense que, comme le formulaire est rattaché à une source, tous les champs qui y sont présents (à moins d'être indépendants) sont prêts à mettre à jour les données... c'est-à-dire, le champ de la requête, les autres ne sont rattachés à rien, ce qui peut expliquer le message d'erreur

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

4

Richard (un autre!), le 9 sep 2004 à 13:44:43

Je suis pas sur de saisir ce que tu exposes. Tu as l'air de dire que si tous les champs sont présents, ça devrait marcher. (Je n'ai pas de champ indépendant).
Sinon, je peux essayer de m'en sortir comment?

Richard.

Répondre à Richard (un autre!)

5

blux, le 9 sep 2004 à 14:14:52

Tu as un formulaire basé sur une requête.
Dans ton formulaire, il y a un (ou plusieurs) champ(s) dont la source est liée à ta requête.
Si tu as d'autres champs, mais qui ne font pas partie de la requête sur laquelle est basée le formulaire, alors tu ne peux pas les mettre à jour...

C'est plus clair ? ou alors j'ai pas compris ton problème ! :-)

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

6

Richard (un autre!), le 9 sep 2004 à 15:47:59

Bingo! J'ai compris.

J'ai essayé de prendre la requête de somme des effectifs en modification, ajouter un à un les champs de latable "Décisions" : là, je doit choisir une opération (j'ai choisi "premier", même si ça donne pas quelque chose de cohérent). j'enregistre le tout et j'en fait un formulaire instantané que... je ne peux toujours pas modifier!
Bon, reste t'il quelque chose à essayer?

Répondre à Richard (un autre!)

7

blux, le 9 sep 2004 à 15:54:06

Une requête "somme" ne te permettra jamais de modifier quoi que ce soit dans ACCESS...

Il faut baser ton formulaire sur une requête "visualisation"...

Tu souhaites faire quoi, au juste ?

afficher les sommes ?
modifier des données ?

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

8

Richard (un autre!), le 9 sep 2004 à 17:12:00

Ben... les 2.
Voilà : on doit mettre à jour les données concernant le point de vente b1 par exemple - d'où, un formulaire qui repésente la table "Décisions", avec la possibilité de dire "il faut 3 bureaux", "on va mettre un bureau d'accueil" etc...
Pour prendre une décision, on veut afficher comme renseignement le total des effectifs de b1 à b4, mais c'est juste pour aider à prendre la décision.
Si on veut travailer sur le point de vente b2, on va naturellement afficher la même chose en total des effectifs, mais on va pouvoir modifier les données spécifiques au point de vente b2.
Je sais, c'est pas forcément évident...

Y a de la patience dans l'air de ta part!

Répondre à Richard (un autre!)

9

blux, le 9 sep 2004 à 17:17:36

Donc, un formulaire avec une liste déroulante qui permet de choisir le point de vente.

Des zones dépendantes du choix précédent qui sont "mise à jourables"

Une zone indépendante qui affiche le résultat de la requête somme qui est la même quel que soit le point de vente choisi (si j'ai bien lu).

C'est tout !

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

10

Richard (unautre!), le 9 sep 2004 à 17:48:42

Oui, c'est bien ça.
En précisant que si j'interroge et/ou modifie le point de vente c3, la zone est censée afficher le total des effectifs de tous les points de vente cxx.

Répondre à Richard (unautre!)

11

blux, le 10 sep 2004 à 09:00:57

Eh ben, vas-y ! ;-)))

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

12

Richard (un autre!), le 10 sep 2004 à 09:41:48

Désolé, je ne comprends pas ta réponse.
Ca bloque toujours le formulaire pour les autres zones...

Répondre à Richard (un autre!)

13

blux, le 10 sep 2004 à 09:44:16

Si tu veux, tu peux m'envoyer ta base (zippée) à l'adresse suivante :

denis[point]mail[point]list[chez]free[point]fr

Si bien entendu, il n'y a pas de données sensibles, je verrai ce que je peux faire...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

14

Richard (un autre!), le 10 sep 2004 à 12:14:48

Voilà, c'est fait. J'ai quand même pris le temps de l'alléger.

Merci à toi.

Richard

Répondre à Richard (un autre!)

15

blux, le 10 sep 2004 à 14:38:04

Pour moi, il y quelques problèmes de conception dans ta base :

la table agencesprincipales possède un champ 'totaleffectifagence'
la table définitionagence ne possède pas de champ 'effectif'

Comment arrives-tu à calculer la somme des effectifs des agences dépendant d'une agence principale (ayant le même codagprincipal) dans ce cas ?

Il faut savoir qu'access est très bien dans la gestion automatique des liens entre les tables et formulaires, mais ceci au prix d'une conception initiale relativement bien structurée (je n'ôte rien à ton mérite, mais je te mets en garde ;-))

Je veux pas que le CA y ferme, ma femme bosse à Greencam :-)

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

16

Richard (un autre !), le 10 sep 2004 à 15:11:02

Oui pour les 2 remarques.
Explication :
le champ TotalEffAgence de la table EffectifAgence est quelque chose que j'avais essayé (mise à jour en dynamique, mais ça coince aussi) ; je ne m'en sers pas et on peut le virer, et dans la requete aussi.

si tu ouvres la requête en modif, il y a 3 tables concernées : agencesprincipales, definitionagence et effectif agence qui me permettent de faire la liaison entre les agences principales et l'effectif des points de vente. L'effectif du point de vente est calculé dans le formulaire effectifagence (par somme) et mis à jour dans la table par une requête mise à jour.
Je prends le codeagprincipale de ma table definitionagence comme critère pour chercher tous les enregistements correspondants, je fais la somme des valeurs des champs totaleffpdv, et c'est tout.
Et c'est cette somme que j'affiche dans le formmulaire Apositionner
Si ça te dis, on peut se joindre par tél?

Répondre à Richard (un autre !)

17

blux, le 10 sep 2004 à 15:51:48

Oui, c'est vrai, j'ai fini par voir ce champ, mais mon post était déjà parti !

J'ai beau tourner dans tous les sens, je n'arrive rien à faire ressortir, que ce soit avec ta méthode, ou avec la mienne (sous-formulaires +VBA).

Je pense, mais SGDG, qu'access doit se prendre les pieds dans le tapis avec les relations 1-1, qui ont la même clé, et donc théoriquement ne devraient pas être dans des tables séparées... mais c'est le cas, et ça ne devrait pas poser physiquement de problème. Il doit y avoir une option quelconque pour interdire la MAJ, chargée avec le filtre du form 'A Positionner par NCA', mais je ne sais pas où... ou alors, il déduit cette impossibilité de la façon dont sont liés les forms...

Désolé, mais je ne peux plus t'aider...

Je suis quand même preneur d'une explication, si tu la trouves :-)

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

18

Richard (un autre!), le 13 sep 2004 à 08:00:18

OK.
Ta remarque concernant les relations un à un est juste, toutefois, les renseignements contenus dans chaque table n'ont vraiment rien à faire avec ceux d'autre tables.
Sauf que j'ai trouvé quelque chose qui fonctionne! (ça chauffe parfois mieux le week-end!) : on prend cette fichue requête en modification, on en fait un formulaire instantané "FormulaireCalculTotalEffectif" (avec une macro de rafraichissement sur "activé"). On prend le formulaire "Apositionner" et on insère une zone de sous formulaire avec le nouveau formulaire comme source et ...ça marche!
Je suppose que le sous formulaire est devenu "indépendant" et que ça ne bloque plus les données.
Je n'ai pas d'autre explication.
Je souhaite vivement te remercier pour les idées et le temps que tu y a passé et je citerai JC Bellamy (www.jcbellamy.com).
"La connaissance s'accroit quand on la partage".

Richard.

Répondre à Richard (un autre!)

19

cloe, le 13 avr 2007 à 10:26:53

Mais j'ai le meme soucis mais sa ne marche toujours pas!!!!! snif
moi a partir dun formulaire je choisi une activité un lieu et une période
grace a ces choix!!! il ma'affiche dans mon sous formulaire toutes les reponses!!!!!
Or sur ce sous formulaire je ne peut pas modifier un champs!!!
il me marque mise à jour de recordset impossible!!!!
comment faire svp!!!!!!!!!!!

Répondre à cloe

20

 Puples, le 7 aoû 2009 à 15:44:50

Bien que ce soit un vieux message j'ai trouvé la solution pour ma part et vu que ce post arrive en bonne position j'ai juste changé dans mon sous formulaire le type de recordset :

Feuille rép.dyn.(MAJ globale)

Et ça a marché.

++ PUPLES

Répondre à Puples
Collection CommentÇaMarche.net