calculs dans Access

gaston gaston
1 621 contributions
Membre depuis le 01/03/2001
Envoyé le 22/05/2004 à 16:06


bonjour !
je débute dans Access... [°)]
j\'ai une table avec des champs Date, Nom,et des champs numériques
je n\'ai aucune idée de comment faire des soldes par jour pour les champs numériques ? Puis pour reporter ces soldes dans une autre table, c\'est possible ?
carpe diem
cameleon30 cameleon30
784 contributions
Membre depuis le 25/06/2001
Envoyé le 22/05/2004 à 17:24


Regarde le site suivant :[url]membres.lycos.fr/clicmalin/Office2000/Access2000/Access.htm[/url]. Tu auras des cours sur Access ou sur [url]membres.lycos.fr/clicmalin/Cours/SommaireAccess2000.htm[/url]
http://www.helpclic.net
cameleon30 cameleon30
784 contributions
Membre depuis le 25/06/2001
Envoyé le 22/05/2004 à 17:27


Oups erreur de frappe [url]membres.lycos.fr/clicmalin/Office2000/Access2000/Access2000.htm[/url] pour les cours et le deuxième lien c un tutoriaux Access 2000
http://www.helpclic.net
spiralbol spiralbol
5 370 contributions
Membre depuis le 11/02/2003
Envoyé le 22/05/2004 à 20:43


je ne sais pas exactement ce que tu veut faire GASTON, mais je peut te donner un conseil d\'ordre général

ne cherche pas a faire de celcul savant avec ACCESS tu va te prendre la tete pour rien

utilise le seulement pour ranger et trier des donnés, la il est imbatable, si tu a des statistique ou des calcul savant a faire, sert toi d\'une requete pout trier les données que tu veut analyser et envoie le tout dans EXELS, lui sait faire ça tres bien, et c\'est beaucoup moin compliqué, d\'autant plus que la relation access<>exels est transparente a travers office

autre petit conseil, tu verra a la longue que tu aurra inévitablement des requete croisé, c\'est a dire des requete qui en utilise des autres, si au debut cela parait simple, a la longue quand tu te retrouve avec plus 50 requetes, et que tu veut rajouter quelque chose a ta base de donné au bout de 6 mois, tu ne sait plus qui fait quoi et comment, je te raconte pas la prise de tete

Donc petit conseil, n\'esite pas a metttre un maximum de commentaire, même s\'il parraisse inutile au debut, tu sera bien content de les retrouver plus tard, s\'il te vient l\'idéé de modifier la base de donner

et, petit truc que j\'utilise systematiquement

quelque soit le nom que tu donne a tes requete, et de preference des nom parlant, fait les demarer par une lettre suivi du trait bas et utilise toujours cette lettre en reference quand cette requete est utiliser par une autre:
petit exemple

tu construit 3 requete: compte,total, moyenne
compte n\'utile que les table
total utilise le requete compte
et moyenne utlise total

ça te parrait logique sur le moment mais, dans un an tu ne t\'en rapelera plus

par contre si tu les apelles


A_compte
il n\'y a qu\'un seul repere A_ donc cette requette est imdependante

B_A_total
B_ est le repere de la requete et A_ signifie qu\'elle utilse A_compte

C_B_moyenne
C_ est le repere et B_ signifie qu\'elle utilise B_total ( donc aussi A_compte)

si tu en fait une quatrieme apelon la gaston, elle debutera par D_ et si celle ci utilise les trois autre son nom sera D_A_B_C_gaston

les proceder est bizarre mais crois moi lorsque tu relira tes requetes dans 2 ans, tu saura exactement qui utilise qui, et qui fait quoi, et tu me remerçiras( j\'attendrais je ne suis pas pressé [:D] [:D] [:D] [:D] [:D] [:D] )

gaston gaston
1 621 contributions
Membre depuis le 01/03/2001
Envoyé le 25/05/2004 à 11:34


merci pour l\'adresse cameleon (+)
spirabol: en fait je suis passé d\'Excel à Access, parce je n\'arrivai pas à faire certaines choses sur Excel, et que sur le newsgroup microsoft Excel, on m\'a conseillé de passer sur Acces, parce que mon classeur devenait un peu \"usine à gaz\".
En fait je gère une précomptabilité, j\'ai donc dans mon classeur:
1) 1 feuille journal de banque
2) 1 feuille sur laquelle je télécharge mes comptes bancaires depuis le net (afin de pouvoir faire un rapprochement bancaire)
3) 1 feuille prévision
4) 1 feuille acptes et crédits
5) 1 feuile caisse
6) 1 feuille chiffre d\'affaire
(très exactement j\'ai 12 fois ces 6 feuilles: 1 par mois)
mes calculs ne sont pas très compliqués (enfin...sur le papier [;)] ):
[S]pour la 1ère[/S]:je fais mes saisies au jour le jour (entrées CH CB VT depot d\'espèces, sorties: chèques, cartes, prélèvements etc) il me faut le total entrées, le total sorties, le solde (au jour le jour et au total), la liste (et le total) des trucs rapprochés et non rapprochés, et bien sur les cumuls.
[S]pour la 2ème[/S]: total entrées, total sorties, soldes, rapproché ou non
[S]pour la 3ème[/S]: total entrées, total sorties, soldes, cumul avec le solde de la feuille 1
[S]pour la 4ème[/S]: ça se complique un peu: saisie au jour le jour avec nom client et 4 colonnes (1 seule remplie par client) acptes émis, acptes régul, crédit émis, crédit encaissé; il me faut le total acptes émis, total acptes régularisés, total crédits émis, total crédits encaissés, le tout par jour, par mois et à l\'année, et aussi en séparant les acptes et les crédits, les soldes par client, avec les dates d\'émission et de dernière régul. Possibilité de faire apparaître uniquement les clients dont le solde est différent de zéro.
[S]pour la 5ème[/S]: saisie au jour le jour (entrées espèces, sorties espèces: timbres, facture, prélevement, mise ne banque etc) ; il me faut total entrées, total des différents type de sorties, total général des sorties, solde, le tout par jour, par mois et cumuls, calcul du fond de caisse.
[S]pour la 6ème[/S]: reprise des entrées (par type et au total) des feuilles 1 et 2, des totaux acptes émis, acptes régul et crédits émis, crédits enc de la feuille 4, calcul du solde journalier (entrées - acptes émis + acptes régul + crédits émis - crédits régul) cette dernière feuille est en fait une synthèse, un état imprimable.
c\'est tout ! [;)]
bon: à part ça, j\'ai le logiciel de compta Ciel, sur lequel je reprends tout ça, mais j\'aime bien avoir un état \"intermédiaire\" pour effectuer des contrôle plus aisément, parce que mon logiciel professionnel est loin d\'être performant pour tout ça...
carpe diem
spiralbol spiralbol
5 370 contributions
Membre depuis le 11/02/2003
Envoyé le 25/05/2004 à 14:04


y\'a pas de doute que pour faire de la saisie de donnée ACCES est largement superieur a EXELS, ne serait ce que la comception des tables et des formulaire de saisie qui sont un jeux d\'enfant.
J\'ai conçu un monstre il ya quelque temps, pour une association de location de livre scolaires, sans access j\'y serait encore [:D] et avec access seul j\'y serait toujours [:D]

pour toute les analyse de donnée, (statistique, graphique etc..) je passe part exels apres avoir trié les données utile dans access avec les requete, de même pour les raports, je trie les données dans ACCESS avec des requetes et j\'envoies le purées dans WORD qui est beaucoup moins chiant a parametré surtout pour les mise en page pour le publipostage.

les gens qui utilise ma base de donnée, ne savent même pas sur quoi il travaille, tantot sur exels , tantot sur word, tantot sur access, il n\'y voit que du feu, ce qui compte pour eux c\'est que cela marche et ce qui compte pour moi c\'est que cela ne prenne pas le tete [:D]

Le seul imperatif a respecter c\'est l\'emplacement des fichiers directeur, la liaison EXELS<>ACCESS<>WORD ce fesant a travers des fichiers modèle types, qui doivent toujours etre a la meme place pour que chacun y retrouve ces billes.

voila [:D]

a tu compris le truc que je t\'expliquais pour les repere de requete ?

un autre truc comme cela en passant, ne laisse pas ACCESS mettre des cle d\'index automatiquement sinon tu risque d\'avoir des surprises, si tu utilise des table croisée en relation, tu risque au bout du compte de te retrouver avec des cles plutot que des valeurs.
exemple de base de donnée carnet d\'adresse

1er table ( prenom)
champ1 :prénom
champ2: index automatique généré par access ( un chiffre )

2em table (nom)
champs 1 : NOM
Champs 2 : prenom <<< ( pris dans la table prenom, en fait access ecrira l\'index de la table prenom, qui lui permetra d\'aller chercher le prenom)

j\'usque la pas de probleme, la ou cela ce gate c\'est lorque tu fait une autre table qui va chercher les prenom dans la table \"NOM\" ( champ n°2 ) tu n\'y trouvera que des chiffres [8(] et c\'est la vrai merde pour lui faire comprendre que ces chiffre conresponde a un index qui doit renvoyer un prenom de la table 1.

Bon c\'est peut etre pas clair, mais a l\'utilisation tu comprendra

Aller bonne bourre [:D] [:D]
gaston gaston
1 621 contributions
Membre depuis le 01/03/2001
Envoyé le 26/05/2004 à 10:44


a tu compris le truc que je t\'expliquais pour les repere de requete ?

oui j\'ai compris et je vais l\'appliquer: merci du conseil (+)
pour les index automatiques ou non je vais également suivre ton conseil, seulement le hic c\'est: quoi mettre comme index si ce n\'est des chiffres ? [:o]
...et j\'aurais sûrement besoin de tes lumière pour faire des liaisons avec Excel ou word, parce que ça j\'ai encore jamais fait, déjà que dans Access je patauge ! [:D] c\'est le 8ème essai de base de donnée que je fais depuis la semaine dernière. Pourtant comme tu as vu j\'ai une idée très précise de ce qu\'il me faut... mais je pige pas bien le pourquoi du comment: j\'ai pas encore eu le déclic [;)]

tiens en passant, petite question: j\'arrive à faire des opérations avec une requête sur une table, mais quand je veux faire une requête sur plusieurs tables, y a pas la ligne opération [:o] comment on fait ?
carpe diem
spiralbol spiralbol
5 370 contributions
Membre depuis le 11/02/2003
Envoyé le 26/05/2004 à 15:51


pour les index te prend pas le choux, le pc sont assez rapide pour que l\'absence d\'index ne ce voient pas a l\'utilisation, les index c\'etait bon au temps es 486 avec des tables de millier de donnée, les index numerique accelerant un peut le proccessuse de trie
. Et puis manipulé les index c\'est le vrai bordel, si c\'est toujours des chiffres, si peut que tu est des table croisé, tu ne retrouve plus tes billes.
l\'indexation est surtout utile pour mettre des table en liaison , donc tu peut indexer un champ contenant une donnée alphanumerique , un nom par exemple, ce n\'est pas grave. Ce qui compte c\'est qu\'il y est au moins un index dans ta table. Mais je le repete choisi le toi méme, ne laisse pas access le faire a ta place.

pour exels et word, la procedure est relativement simple, le truc est c\'est d\'arrivé a lancer WORD ou EXELS a partir d\'access,

je prend l\'exemple du publipostage ( c\'est le plus simple )
supose que tu est une base de donné pour gerer un fichier client
et que tu veut envoyer un offre a tous tes clients, la seule chose qui t\'interresse est le nom et l\'adresse:
Tu crée une requete que tu appel A_nom_ adrs qui va trier les noms et les adresse

puis tu ouvre WORD, tu crée ta lettre type, et tu clic sur publipostage, WORD te demandera le fichier de donné source, a ce moment la tu lui designe la requete dans la base donnée, word ira chercher tous seule comme un grand tout ce que tu a besoin.
pour lancer le publipostage en automatique, il suffit de faire un raccoucis du document type, que tu colle sur un formulaire dans ACCESS et quand tu cliquera dessus, le proccessus va demarer tous seule, ouverture du documen,t type dans WORD, puis ouverture de la requete par word, et le tour est jouer.

Pour exels c\'est pareil, pour un graphique par exemple, tu cree une requete avec les donné qui t\'intereresse, puis tu ouvre EXELS tu clic sur donnée EXTERNE tu suit la proccedure pour designer la requete dans la base de donnée, et exels ira les chercher

quand tu l\'auras fait une fois tu aurra tous compris, c\'est vachement simple

pour ta petite question j\'ai pas tellement compris ou tu voulais en venir [:oZ]

alors je ne garantie pas la reponse [:D]

si tu veut faire des operation dans une meme requete avec des donnée qui viennet de plusieur table. il faut tout d\'abort faire des requete pour extraire de chaque table le donnée que tu a besoin, puis tu fait une requete qui fait les calculs avec les requete de valeurs trié

Dans ACCESS tout le truc est la: Bien isoler les donnée que tu veux traiter, par exemple si tu dois utiliser un seul champ d\'une table qui en posséde 10, n\'esite pas a faire une requete qui extrait cette valeur, puis utilise cette requète, sa fait beaucoup de requete, ( dout l\'utilité de mon truc sur les repère)mais c\'est beaucoup plus simple a gérré, parce que Access ne ce melangera pas les crayon avec les autre champs de la table qui suivant les relation que tu a fait peuvent donner des resultat bizarre.

et surtout je le repete, ne soit pas avare de commentaire, meme simpliste, tu sera tres content des les retrouver le jours ou tu devra modifier quelque chose.

pour info le monstre que j\'ai fait pour l\'assoc dont je te parlait precedement, possede 12 table [:oZ] et plus de 100 requete, tu voie le cirque [:D] , surtout qu\'a l\'epoque je n\'avait pas encore mis en pratique mon systeme de repere, et navait ecrit aucun commentaire, et mes requete porte des nom a la con du genre PRE_4_INFOS:( vachement parlant [:o)] )
resultat 2 an apres, je sais qu\'il y a des requete qui ne servent absolument a rien, mais lesquels ???????
et pour modifier un tout petit truc de rien du genre, ajouter un champ sur un formulaire, ça me prend des heures.

C\'est ce que l\'on apelle dans le jargon informatique, un plat de spaguetie, et l\'image est tres revelatrice, sa ce croisent dans tout les sens, et on voie jamais le bout [:D] [:D] [:D] [:D]
gaston gaston
1 621 contributions
Membre depuis le 01/03/2001
Envoyé le 26/05/2004 à 17:24


c\'est tout à fait ce que je voulais ! (+)

bon mais y a un truc que je comprends pas comment faire...par exemple:
j\'ai une table avec date, nom, Acpte émis, Acpte régul, et à partir de là je voudrais une requête qui me donne les totaux des 2 colonnes acompte + le total de ces 2 colonne (le solde, quoi) par jour (des sous-totaux en quelque sorte) et une autre qui me donne les totaux des 2 colonnes acompte + les soldes mais par client, cette fois, et pouvoir éventuellement ne visualiser que les soldes clients différents de zéro.
Et je vois pas du tout comment faire [:o]
alors bon j\'ai fait des essais, au moins pour la première et je me heurte à un premier gros souci: quand je mets dans les critères de la date \"entre[01/01/04]et[31/012/04]\" quand j\'appelle ma requête y a une boite dialogue qui s\'ouvre et qui me demande le paramètre de départ, et une autre ensuite pour le paramètre d\'arrivée. je saisis par exemple 22/05/04 et 23/05/04 et là rien n\'apparait sauf le titre des colonnes alors que je suis sûr d\'avoir des données pour ces dates ! [:o] qu\'es aco ?
carpe diem
spiralbol spiralbol
5 370 contributions
Membre depuis le 11/02/2003
Envoyé le 26/05/2004 à 23:07


la tu a trouver le point faible d\'access, c\'est ce que je te disais par \"analyse\"

en effet ACCESS ne sait obsolument pas faire de totaux consecutif, par exemple si tu fait un livre de compte sous access et que tu desire afficher les trois colonnes classique \"DEBIT , CREDIT, SOLDE\"

ACCES est incapable de te fournir le solde au jours le jours, c\'est ce que j\'apel le totaux consecutifs, je sais c\'est con mais c\'est comme cela [°)] , il est capable de calculer la somme du contenu des champs, pour toute la table,mais pour avoir le solde au jours le jours, il y a trois solution,

1 er utiliser le visual basic ( macro ) mais j\'avous ne pas mettre pencher sur la question le visual et moi on ne ce parle pas [:D] et je ne sais meme pas si c\'est possible

2 em solution tu fait une requete pour chaque jours, ce qui implique 365 requete pour un an, puis une requete qui regroupe tout les resultat, un vrai merdier quoi, enplus c\'est pas ce qu\'il y a de plus rapide [8(]

3em solution tu crée une requete qui trie les date le debit et le credit et tu envoie la purée dans exels qui lui c\'est tres bien faire le solde ligne par ligne, ( c\'est ce que je ferais )

___________

Pour les dates , créé une table apelé reference dans laquels tu mettra des champs de reference en fonction des besoin,

par exemple tu créé un champ, date de depart; et un champ date de fin
tu créé un petit formulaire pour modifier la date en fonction de tes besoin, et dans la requete de tries tu fait un champ de comparaison entre la date de donné a lire et les date de ta table de reference: un truc dans ce genre là:
REQUETE
1 er champ >>>> date de depart > pris dans la table reference
2 em champ >>>> date de fin > IDEM
3 em date des donnée a trier
4 em champ une formule de trie du genre SI (etou(CHAMP3<CHAMP1 ; champ 3<CHAMP2); champ3; \"\")
mettre an relation (1 a plusieur) les date de la table de reference et les date de la table de donnée a trier
apres il faut faire une requete qui n\'affiche que les valeur du champ 4 s\'il n\'est pas vide

je sais c\'est un peut le bordel, mais j\'en revient a ce que je te disais, il faut bien isolé les données a traité, a l\'aide des requete, sinon tu ne tant sort pas.

j\'espere ne pas t\'avoir embrouiller plus qu\'aider [:D]

gaston gaston
1 621 contributions
Membre depuis le 01/03/2001
Envoyé le 27/05/2004 à 15:56


tiens ? c\'est marrant, j\'aurais juré que j\'avais posté une réponse ce matin ? j\'ai dû déraper sur une touche [:D]
donc: avant de me pencher sur visual basic (que je maîtrisais relativement sur Excel), je vais quand même essayer de découvrir les bases d\'access .
Pour l\'instant je suis arrivé à faire un champ calculé, c\'est déjà ça ! [:D] encore que ça me calculait rien du tout au départ ! [:(] et qu\'il a fallu que je trouve qu\'il fallait mettre Nz pour tester les valeurs des champs [:o]

Par contre ce que je sais pas à faire, c\'est à partir d\'une liste, faire une requête ou qqchose comme ça, qui me permette par exemple d\'avoir une liste déroulante pour choisir une date (ou un client) et ne visualiser que ce qui concerne cette date (ou ce client) Tu pourrais me mettre sur la voie ? (il suffit que j\'y arrive une fois et après j\'adapterai à ce que je veux)
carpe diem
spiralbol spiralbol
5 370 contributions
Membre depuis le 11/02/2003
Envoyé le 27/05/2004 à 20:16


la liste deroulante tu l\'obtien lors de la conception du formulaire de saisie,
la fenetre que tu a créé dans le formulaire ce raporte a un champ dans une table.
en mode création de formulaire, tu fait un clic droitt sur cette fenetre de sasie, et dans le menue contextuel tu a l\'option \" remplacer par....\" cela te donne différent format pour cette fenetre , dont le format \" liste deroulante\", tu va dire que c\'est tout bete, he oui, je suis persuader que tu aurais finir par le decouvrir, si ce n\'est deja fait [:D]
gaston gaston
1 621 contributions
Membre depuis le 01/03/2001
Envoyé le 29/05/2004 à 11:54


pfffff ! heureusement que le week end arrive: je sature ! et puis, et puis, je ne sais pas finalement si je vais faire mon truc avec access: excel m\'offre quand même plus de facilité, si ce n\'est quelques petits soucis quand je veux automatiser, mais j\'entrevois une soluce depuis que j\'ai re-visité le site de bipbipcoyote.
tiens à propos tu devrais aller voir, spirabol: ça va t\'inspirer pour faire des calculs dans access [;)]

par contre dans excel, mon souci existe toujours: je veux faire plusieurs sous-totaux de types différents [S]sur une même ligne[/S] ; j\'y arrive, mais en étant obligé de faire le premier, puis copier la liste sur une feuille de transit, faire le 2ème, copier coller la colonne dans la première feuille, et rebelote jusqu\'à ce que tous mes sous totaux soient faits; or, c\'est assez lourd et lent, et je cherche comment remplacer ça par quelque chose de plus rapide...et je n\'ai pas encore trouvé... [;(]

carpe diem
spiralbol spiralbol
5 370 contributions
Membre depuis le 11/02/2003
Envoyé le 29/05/2004 à 15:27


pour exels c\'est comme pour access, il faut decomposer

je ne veut pas te prendre la téte, en ce moment tu a de quoi faire, mais si tu veut t\'amuser, dit moi ou je peut t\'envoyer un petit classeur exels, qui contien un petit chalenge, c\'est vachement simple a faire, le seul probleme c\'est que les macros sont INTERDITE, c\'est l\'exemple typique de la DECOMPOSITION des calcul.
gaston gaston
1 621 contributions
Membre depuis le 01/03/2001
Envoyé le 29/05/2004 à 15:42


le pire c\'est que dans Excel, je suis plus calé en macros que dans le reste [:D]
carpe diem

Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum