|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Bonjour à tous,
Je suis en formation d'informatique (niveau technitien BAC+2), et il y a quelques semaines nous avons eu des cours sur Access SQL, cela m'a donné envie de créer ma propre base de donnée. Pour situer les choses, il y a quelques mois j'ai créé un comparateur d'objet pour World Of Warcraft sous Excel, s'était plutot brouillons mais tout était dynamique et parfait, hélas aucune information n'étant stocké, tout était volatile. Je n'y joue plus depuis plusieurs mois maintenant, mais l'envie de reprendre ce fait sentir, et avec elle, une envie de faire une Base Access. Voici donc le topo, j'ai trois tables : Objet, Emplacement, et Apport. Un formulaire qui rassemble toutes les informations de l'objet. Et des requêtes vides xD puisque je n'arrive donc pas à faire ce que je veux. La Table "Apport" possède en clé primaire un champs "Date d'Enregistrement" en liaisons avec la Table "Objet" qui possède également ce champs, c'est le seul moyen que j'ai trouvé pour lié ces deux tables, sans quoi elles ne voulaient pas travailler ensemble, j'ignore pourquoi. Dans le Formulaire, deux chôses ce cotoie, les statistiques des "Objets" et l'"Apport" des Statistique, hors, visiblement, c'est incompatible, rien n'est sauvegardé, il y a des messages d'erreur de partout dès qu'on rentre quelque chose dans les deux tables (sur le formulaire). De plus, la cellule "Base Toucher" affiche des "#########", il n'existe aucune différence entre elle et les autres, j'ignore la raison de ce phénomène mystique. Mais le vrai soucis, c'est d'arriver à additionner les cellules "X" (je parle de cellule, car il s'agis de l'intersection des champs et des enregistrement, mais je sais que ce n'est pas dans la terminologie) dans chacun enregistrement de manière séparée. "X" correspondant par exemple à "Base Endurance" + "Chasse Endurance N" + "Bonus Chasse Endurance" Dois-je me servir d'une requête pour faire cela ? (Oui, mes cours ne m'ont pas vraiment aidé...) Ou est-ce que je peux faire un calcul dans une cellule comme sous Excel ? (Je n'y suis pas arrivé) Voila, dans l'espoir que ce projet un peu atypique pourra réveiller des envies de challenge à certain, malgrès que cela reste pour le moins basique je suppose Voici les objets sous DropBox, modifiable par tout le monde il me semble : http://dl.dropbox.com/u/21043222/Pro...oW_Stuff.accdb http://dl.dropbox.com/u/21043222/Pro...W_Stuff.laccdb |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Cellule d'un formulaire = controle. Tu peux faire des calculs dans un controle. Il suffit de la mettre dans la propriété Source du controle. Tu peux également l'utiliser dans la requete source de ton formulaire. comme ceci. Code :
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Je vais tester tout cela, merci bien
EDIT : Bien, pour la première solution, il m'affiche un "#Nom ?". Je test la seconde solution. EDIT2 : Et concernant la requête, elle ne fonctionne tout simplement pas, j'ai mis à jour dans la DropBox. http://dl.dropbox.com/u/21043222/Pro...oW_Stuff.accdb |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 583 ![]() |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Hmmmm j'ai du mal à saisir la question.
La Propriété Source de Contrôle de de la Zone de Texte dans le formulaire est la suivante : Code :
=[Table-Objet]![Base Endurance]+[Table-Objet]![Chasse Endurance 1]+[Table-Objet]![Chasse Endurance 2]+[Table-Objet]![Chasse Endurance 3]+[Table-Objet]![Bonus Chasse Endurance] EDIT : Okay je vien de comprendre le soucis, ce sont les noms de contrôle qu'il faut mettre et non des champs. Cela dit je n'ai pas réussi. |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 583 ![]() |
Re
En principe les contrôles ont le même nom que les champs (si tu as construit ton formulaire en partant de la table) mais il ne faut pas mettre le nom de la table devant. Dans la mesure où tous les champs sont dans le même formulaire il n'est pas obligatoire de faire précéder leur nom du nom du formulaire car implicite. Essayes d'ajouter les champs un par un dans ta formule pour vérifier où ça coince. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Le soucis survient dès que je place le symbole "+" pour additionner, avec ou sans espace (les espaces disparaissent tout seul d'ailleurs).
Ainsi : fonctionne, mais : Code :
=[Base Endurance] + [Chasse Endurance 1] |
|
|
00
|
|
|
#8 | |||
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Plusieurs idées :
Mal écrit, Pas placé dans la bonne propriété, Champ n'existe pas, Citation:
Citation:
Citation:
Avec ce que tu nous donnes comme infos nous risquons d'y passer du temps. Ma boule de cristal est en vacance, comme moi bientôt.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|||
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
DropBox est un utilitaire de partage de donnée communautaire (comme GoogleDoc, en différent), en d'autres terme, je vous fournis mon ACCDB pour que vous y jettiez un coup d'oeil.
Bon, j'acquière les bases sur le tât, quelques cours vidéo OnLine, deux trois petites astuces via Forum, et hop roulez jeunesse Donc je réexplique. Dans la propriété "Source de Contrôle" lorsque j'écris : Ca ce transforme en : C'est ici que les espaces disparaissents. Donc quel serais le soucis à votre avis ? Dans l'exemple c'est écris : Donc je ne vois pas trop où j'aurais fauté. |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Pour ces espaces c'est normal ça n'a aucune incidence à cause des crochets. Ces 3 noms sont-ils des noms de controles ou des noms de champs ? Si il s'agit de noms de champs qui ne représentent pas un controle (controle et champ porte le même nom) il faut mettre le nom de la table avant. Je ne vois vraiment pas pourquoi tu ne mets pas cette expression dans la source de ton formulaire ?
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Je pense que ces noms sont ceux des champs, par contre, j'ignore si les contrôles porte le même (faut-il le configurer quelque part ?).
Tu a regardé mon ACCDB ? |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Non absolument pas regardé. Je verrais ça ce soir si j'ai un peu de temps.
Le nommage ne se fait pas à la légère. Suivant le type de conception (qui serait trop long à détailler ici) on utilise soit un nom différent entre le champ et le controle (10% des cas et surtout pour les gens qui ont une très grande connaissance des mécanismes d'ACCESS). Soit le même pour le champ et le controle qui les représente. Pour le savoir c'est simple : Propriété Nom = Propriété Source Contrôle Si c'est le même pas besoin de préfixer avec le nom de la table. Sinon il faut préfixer. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Hmmmmm je crois que je vien de comprendre.
On ne parle de Contrôle que lorsqu'on tire une information d'un Enregistrement et d'un Champs et uniquement lorsqu'on l'exploite dans un Formulaire (et un Etat ?), je m'acharnais à chercher dans la Table... Donc effectivement, les Contrôles de mon Formulaire porte des noms du type "Texte 1", "Texte 2", etc... Je renomme tout et je vous dit ce que ça donne. Le calcul fonctionne ! Victoire ! EDIT : Bon, dès que je met plus de 3 expressions ça ce passe plus....... EDIT 2 : J'ai mis "0" en valeurs par défaut, et "après" avoir entré au moins une valent dans un ensemble (il existe deux ensembles, un pour chaque table), ça met des zéro partout et les calculs fonctionnent parfaitement. Je confirme donc que j'ai réussi et que ça marche. |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Super !
Tu peux donc cliquer sur Résolu.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Eeeeeh pas encore
Ne criont pas victoire trop vite :p j'ai eu un soucis et heureusement que j'utilise DropBox pour récupérer des versions antérieurs :o ! |
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Alors, j'ai eu un bug dans mon formulaire :
J'ai supprimé deux Champs dans une de mes tables, et à l'ouverture de mon formulaire il me demande des valeurs pour ces champs manquant (ils n'y a pas de contrôles dans le formulaire, mais il persiste à les réclâmer). Et pas moyen de suprimer cette entrée :o ... Une idée ? |
|
|
00
|
|
|
#17 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Et dans la source du formulaire ?
Dans une expression quelconque ? A chaque problème son fil de discussion (cf les règles), sinon ça vite devient incompréhensible.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : juillet 2011 Messages : 18 ![]() |
Effectivement, bien, on dirais que tout fonctionne correctement, je vais donc clore ce topic.
Je remercie tout les participants qui m'ont permis de beaucoup progresser et de mener à bien ce projet atypique. EDIT : Impossible d'EDIT mon premier post :o ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com