1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Questions générale
Sujet n° 487 |
problème de variable |
le 11/03/2011 : 14:26 par lemeruvien
visiteur |
bonjour a tous, encore un mystère que je n'arrive pas à résoudre!dans mon formulaire, après validation j'ai mis dans la procédure:Dim solde As Integer DoCmd.OpenForm "liste des paiements", , , "saison=forms![menu general].saison" solde = Forms![liste des paiements].[soldetotal]stop Forms![liste des paiements].DataEntry = True Forms![liste des paiements].soldeinitial = solde Forms![liste des paiements].[solde total] = solde Si je regarde en direct la valeur de Forms![liste des paiements].[soldetotal] elle est bonne, par exemple 500Mais la valeur de solde reste à zéro!!Alors, que ce passe -t-il encore??merci de me dépannerroger |
|
|
Réponse n° 9 -------- le 12/03/2011 : 14:20 par 3Stone
Administrateur
|
re,
Je pense que tu as oublié de joindre la base...
Cordialement, Pierre(3stone) |
|
|
Réponse n° 11 -------- le 22/03/2011 : 14:14 par 3Stone
Administrateur
|
Bonjour Roger, et un modele de ma base
Heu... je t'ai répondu le 12 mars
Comme tu n'as pas répondu, ni plus rien envoyé... je ne pouvais qu'attendre. J'ai eu ton message, mais pas de base!
Cordialement, Pierre(3stone) |
|
|
Réponse n° 12 -------- le 22/03/2011 : 18:16 par 3Stone
Administrateur
|
Ok, bien recu...
Je regarde et je reviens ici...
Cordialement, Pierre(3stone) |
|
|
Réponse n° 13 -------- le 24/03/2011 : 02:46 par 3Stone
Administrateur
|
Bonjour Roger,
Comme je le pensais, ton montage est totalement contraire à la bonne méthode pour ce qui est de l'organisation des données
Si l'on regarde la table "tbl des paiements", on voit les champs:
- soldeinitial
- dépense
- recette
- solde total
Il est incroyable de voir que tu "penses" encore et toujours à une organisation tableur, ou comme j'aime le dire tu penses Excel.
En fait, tu n'as jamais fait l'effort d'assimiler la base, le b-a ba, de la normalisation des données dans une base de données. Pourtant, pour éviter ces erreurs grossières, il suffit de lire 4 pages ici sur mon site. Les lire et éventuellement faire l'exercise doit permettre de comprendre tout l'avantage de s'y conformer.
Dans la table cité plus haut, si tu ajoute une recette, à quoi servent les champs soldeinitial, dépense et solde total ??? Rien que cela devrait te mettre la puce à l'oreille En appliquant ta méthode, tu devrais alors logiquement créer 2 tables, l'une pour les entrées et l'autre pour les sorties. Mais, dans ce cas tu remarques rapidement que pour savoir le "solde total" tu dervas t'adresser à deux tables et cela te crée un problème! Alors tu penses le résoudre en collant tous les champs dans la même table... En fait, les deux solutions sont mauvaises!
Comme souvent dit et répété: Un champ "soldeinitial" et "solde total" n'ont rien à faire dans une table de paiements. Les champs dépense et recette sont regroupé dans un seul champ "mouvement". Si le mouvement est une entrée, la valeur sera positive et si le mouvement est une sortie, la valeur sera négative. On ajoutera un champ type_mouvement pour son identification. On ajoutera également un champ DateMouvement (date/heure) pour pouvoir tracer exactement les mouvements réalisés. Un champ comme actuellement "Saison" où l'on retrouve la répétition "2009/2010" n'apporte pas grand chose et ne permet surtout pas de savoir à quel moment la saisie à été faite.
Si tu penses qu'il serait difficile de connaître le "soldeinitial" au début de l'année, détrompe-toi! Il suffit de faire la somme du champ Mouvement et de donner comme critère "plus petit que 1er janvier de l'année". La somme de tous les mouvements, entrées comme sorties représentent bien la valeur en caisse en début d'année! Cette (bonne) manière de faire rend superflu le genre de manipulation (que je trouve suicidaire) comme tu tentes de la faire.
Ceci dit, comme je sais que tu vas t'entêter et garder "ta" méthode, encore une remarque (souvent répété). Si tu as un champ "Client" modifie le nom de la zone de texte sur le formulaire en ajoutant le préfixe txt, ce qui donne alors txtClient. De cette façon, Access comprend mieux si tu t'adresse au champ "Champ" ou à la zone de texte "txtClient". Donc, dans l'exemple que tu m'as envoyé, dans le formulaire "liste des payements", modifie le nom de la zone de texte "soldeinitial" en "txtsoldeinitial". Puis, dans le formulaire "cloture d'exercice", tu modifies l'appel: Code :Forms![liste des paiements].soldeinitial = solde
en Code :Forms![liste des paiements].txtsoldeinitial = solde
Cordialement, Pierre(3stone) |
|
|
Réponse n° 14 -------- le 24/03/2011 : 07:39 par lemeruvien
visiteur |
Bonjour Pierre, je te remercie beaucoup pour tous ces renseignement, et effectivement, n'ayant jamais pris de cours sur access, je ne connais malheureusement pas tous les truc logique, et je dois me contenter de mon systéme, qui tout de même marche pas trop mal, j'ai déja fait une cinquantaine de bases, sans problème!Je ne vais pas pouvoir faire les modifs que tu me dis, car ma base n'a pas que les formulaires que je t'ai envoyés, mais bien d'autre liés à ceux-ci! et ça entrainerait surement beaucoup de problèmes ailleurs!!Pour cette base, je vais me passer du transfer du "soldeinitial", en le saisissant manuellement à chaque changement de saison (1 fois/an, en juin)Merci encore! A+ roger |
|
|
Réponse n° 15 -------- le 24/03/2011 : 13:37 par 3Stone
Administrateur
|
Bonjour Roger, Citation :n'ayant jamais pris de cours sur access, je ne connais malheureusement pas tous les truc logique
Tu avais à ta disposition bien plus qu'un simple cours... Tu as fréquenté pendant des années le newsgroup Access, mais, au lieu d'y apprendre les solutions et bonnes méthodes en lisant tous les messages, tu t'es contenté de venir poser tes petites questions et d'attendre la réponse. Lorsque le répondeur te disait que la méthode était mauvaise, tu n'en tenais pas compte Citation :j'ai déja fait une cinquantaine de bases, sans problème
Détrompe-toi ! Je suis certain qu'une partie de ces bases ne sont plus opérationnelles et toute adaptation ou correction équivaut à tout recommencer. Citation :Pour cette base, je vais me passer du transfer du "soldeinitial", en le saisissant manuellement à chaque changement de saison
Pourquoi ? Je t'ai indiqué ce que tu dois modifier pour que cela fonctionne...
Il n'y a pas plus sourd que celui qui ne veut entendre...
Cordialement, Pierre(3stone) |
|
|
Réponse n° 16 -------- le 25/03/2011 : 08:14 par lemeruvien
visiteur |
Bonjour Pierre,
Oui, tu n'as pas entièrement tort, mais pour ce qui est des cours, tout ce que j'ai pu apprendre dans les news, j'en ai fait un cahier de plus de 40 pages, et il me sert beaucoup!
Pour les bases que j'ai fait, a commencer par la mienne, ça marche trés bien, la plus ancienne date de 2000, et bien sur j'interviens toujours dessus, mais pour des modifs, sinon elle fonctionne toujours, et j'ai d'autres exemples, celle que je n'entend plus parler, c'est pas forcément qu'elle ne sont plus opérationnelles, c'est tout simplement que les utilisateurs ne l'utilise plus, et surtout ne me donnent plus de leurs nouvelles, tu doit en avoir toi aussi ?
Et enfin pour finir, finalement, tout marche, mais effectivement, je te promet que si des problèmes se reproduises, j'appliquerais tes conseils !Merci encore!
Amicalement
Roger |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|