pour les bons a access et excel !!!!! URGENT - Windows & Software
Marsh Posté le 15-05-2001 à 15:32:18
il faut que lorsque tu valide ta vente
tu code une ouverture de table avec un changement dans le champ concerné:
ex:
Dim bd As Database, rd As Recordset ' definition variable
Set bd = CurrentDb ' ouverture de base
Set rd = bd.OpenRecordset("stock", dbOpenDynaset) 'ouverture de table
rd.FindFirst ("numero = '" & (Me.numero) & "'" )
' numéro etant l'index du produit ou le nom du produit (numero le nom du champ dans la base et me.numero le nom du champ dans le formulaire)
rd.Edit ' tu ouvres la fiche en ecriture
rd!nombre = rd!nombre - rd.nombre 'changement du stock
rd.update ' ecriture du changement
rd.close
bd.close
Marsh Posté le 15-05-2001 à 15:32:19
il faut que lorsque tu valide ta vente
tu code une ouverture de table avec un changement dans le champ concerné:
ex:
Dim bd As Database, rd As Recordset ' definition variable
Set bd = CurrentDb ' ouverture de base
Set rd = bd.OpenRecordset("stock", dbOpenDynaset) 'ouverture de table
rd.FindFirst ("numero = '" & (Me.numero) & "'" )
' numéro etant l'index du produit ou le nom du produit (numero le nom du champ dans la base et me.numero le nom du champ dans le formulaire)
rd.Edit ' tu ouvres la fiche en ecriture
rd!nombre = rd!nombre - rd.nombre 'changement du stock
rd.update ' ecriture du changement
rd.close
bd.close
Marsh Posté le 15-05-2001 à 15:44:16
ouah , il faut passer du code VB? j'y connais rien ,je pensais qu'une requete suffirait, t'aas pas un exemple tout fait ?? merci
Marsh Posté le 15-05-2001 à 15:45:31
envoie ta base sur mon mail, je vais te le faire de suite ca prend deux minutes
a+
Marsh Posté le 15-05-2001 à 15:51:28
En SQL non ?
un truc du genre REPLACE INTO Table1 (id_du_produit, quantite) VALUE(id_du_produit, nouvelle_valeur);
De meme pour 2nd table.
Marsh Posté le 15-05-2001 à 15:57:43
on peux effectivement faire une requete de ce style
mais les requetes directes et les macro sont les points faible d'access
tb1: table vente
tb2: table stock
ch1: champ du formulaire avec le nom du produit
ch2: champ du formualire avec la quantité prise
tch1: champ de la base tb2 avec le nom du produit
tch2: champ de la base tb2 avec les quantités
opération: nom du formulaire traitant la vente
nb: quantité vendu
UPDATE tb2 INNER JOIN tb1 ON tb1.[tch1] = tb2.[tb1] SET tb2.tch2 = [tb2].[tch2]-[forms]![operation]![nb]
WHERE (((logistique.numero)=[forms]![opération]![champ]));
Marsh Posté le 15-05-2001 à 15:59:24
dead hunter --> je veux bien te l'envoyer mais je n'ai pas ton mail
pourrais tu me la donner ?
mon fichier fais 1Mo
merci encore pour ton aide
Marsh Posté le 15-05-2001 à 16:15:25
ouaip ca a l'air simple mais je n'ai pas de formulaire pour traiter la vente, j'ai les données contenues dans une table, qui s'alimente par importation et requetes succesive... Le bordel quoi
Marsh Posté le 15-05-2001 à 17:13:46
Constante d'intégrité référentielle avec mise à jour en cascade.
Marsh Posté le 15-05-2001 à 18:12:04
C'est koi la structure de tes tables ??
Marsh Posté le 15-05-2001 à 18:20:26
alors, j'ai donc un lien externe qui continet:
ma commande , n° de com, ref1 à 5 avec leur quatité
et les infos sur les clients
Donc a partir de ca, je fais une table
commande avec n° nom prenom, et les refs et qté
et ensuite j'ai ma table stock avec un champ ref , un pour le stock a l'origine (inventaire) et un avec le stock actuel (mis a jour automatiquement donc
voila.. je galere comme pas possible !!
Marsh Posté le 15-05-2001 à 18:58:00
Tu connais Merise?
Marsh Posté le 15-05-2001 à 19:52:28
ouaip, je connais de nom , c'est une methode qui a l'air vachement compliqué mais bon comme j'apprend tout tout seul dans mon coin (jsuis en stage) et que j'ai jamais fais de bases de données sauf des trucs simple en PHP/mysql, je me galere!!!
A l'aaaaaaaaaaaaide !!
Marsh Posté le 15-05-2001 à 20:06:00
Tu devrais trouver un tutorial dessus, c pas assez simple et ça aide enormement surtout pour cette USINE A GAZ d'access et crois moi, je c de quoi je parle.
Marsh Posté le 16-05-2001 à 08:19:57
ouaip, mais ya pas beaucoup de site parlant de ca (access, BDD) et question bouquins, j'ai un budget ultra limite (ZERO!) donc je galere encore et toujours.....
Marsh Posté le 16-05-2001 à 08:34:18
dis donc ta base est en access 2000 ??
j'ai voulu l'ouvrir sur mon poste au bureau ce matin et niet je suis en 97 moi
pour 2000, cela sera chez moi, il doit etre installé amoins que tu es fini ??
a+
Marsh Posté le 16-05-2001 à 08:54:34
argh, ouaip je suis en 2000
sinon, petite question, j'ai une table excel qui gere le stock, avec chaque le total des ventes pour chaques produit. Ma base de donnée qui gere les commandes est sous excel a l'orgine (a cause de pas mal de probleme) et donc je peut, peut etre faire ma gestion des sotcks directements sous excel en liant les fichiers?
si tu sais comment on fait ... en fait il faut regarder dans quel mois est chaque commande, quel produit est concerné (ref et qté) et le deduire qq part... ohlala !!
Marsh Posté le 16-05-2001 à 10:01:37
bon premier conseil simple mais qui vient de mon expérience
EVITE LES INTERACTIONS ENTRE LES APPLI EXCEL ET ACCESS
quand tu auras une monté de versions tu devras refaire tes liens OLE
il faut importer les données excel dans access puis tout gérer depuis access, cette application sera déployée sur combien de postes ??
combien d'utilisateurs simultannés ??
a+
Marsh Posté le 16-05-2001 à 10:08:38
ola, c'est une appli toute "simple" pas de multi poste, pas de multiutilisateur, juste une personne a la fois donc je pense pour finir que je vais rester sous excel mais est ce que je peut faire tt ca sous excel (gestion du stock assez tordu) si oui comment??
Marsh Posté le 16-05-2001 à 10:15:56
toujours faisable
mais il faut voir la stabilité du truc et les personnes qui vont s'en servir
Marsh Posté le 16-05-2001 à 10:19:42
qu'est ce que tu veux dire par stabilité ? ya pas de probleme la dessus , je pensais, avec des liens entre les fichiers... les personnes qui s'en servent... une secretaire qui ne connait pas bien l'informatique, mais elle est souple pour apprendre si besoin est. Les fichiers ne changent jamais de place sur le dur donc pas de probleme . Mais comment faire pour pouvoir supprimer les produit par mois(année aussi et par reference dans mon stock?? je sais pas non plus trop comment m'y prendre pour pouvoir rajouter une année a chaque fois (genre 1 feuille par an qui s'ajoute automatiquement tt les ans? )
merci encore pour ton aide !
Marsh Posté le 16-05-2001 à 11:20:30
sous excel, j'ai mauvaise nouvelle pour toi tu vas devoir passer par des MACROS ou du code VBA
Or je crois que tu n'aimes pas trop...
Marsh Posté le 16-05-2001 à 11:36:03
bah , sous excel c'est plus facil les macros (on peut les enregistrer !!) et pis j'ai un autre pb, je voudrai une formule excel pour decouper un champ nom prenom ..
Je sais je suis nul!!
Marsh Posté le 16-05-2001 à 12:54:18
jsuis aussi une brêle mais je me sers du publipostage pour faire le lien entre des données brutes sur excell et une mise en forme sous word...access et les macros j bite keud
Marsh Posté le 16-05-2001 à 13:15:44
quand tu parles de decouper c'est d'extaire les données tirer d'une celulle
bon par exemple
Durand Pierre
Nom: Durand
Prénom: Pierre
il existe un moyen plus ou moins fiable de le faire, le problème vient des double prénom ou des personnes à particules
la methode et de partir de la gauche de rechercher le premier espace et ensuite d'extraire depuis la gauche jusqu'a l'espace de meme pour le prenom mais avec un depart juste apres l'espace
a+
Marsh Posté le 16-05-2001 à 13:20:19
ok pour la première solution proposée. Je vois pas trop comment faire simplement autrement. Ce que tu veux, ce n'est autre qu'une règle de gestion spécifique que tu veux coder... et passer par du SQL, je ne vois vraiment pas l'intéret... le code VBA est plus simple et beaucoup plus maintenable !!!!
voilà !
Marsh Posté le 16-05-2001 à 13:23:03
ok merci, pour la separaration tu utilise la fonction cherche et ensuite tu prend stxt ??
merci
Marsh Posté le 16-05-2001 à 14:12:22
ok merci beaucoup
je suppose que c'est pareil pour le nom (=droite(celule ; emplacement de l'espace) ok merci beaucoup les gars!!!
special greeting for dead hunter
Marsh Posté le 16-05-2001 à 14:22:03
n'oublies de spécifier dans ta doc et à l'écran qu'il ne faut pas laisser d'espace avant ni apres
ou si tu veux etre tranquille tu fait cela sur la cellule
=SUPPRESPACE('celulle')
cela ne laisse qu'un espace si la personne en tape deux d'affilé et cela supprime les espaces de debut et de fin de cellule
pour la fonction de recherche de l'espace c'est simple: TROUVE qui te retourne l'emplacement
tu bosses ou sur lille
Marsh Posté le 16-05-2001 à 14:28:42
jsuis en stage, a roubaix, tinkco, encres compatibles http://www.tinkco.com
sinon, j'ai cherché pas mal de trucs, j'ai mon nom au format M. Truc Machin donc je cherche le premier espace, le deuxieme, et je fais mes decoupe avec stxt et droite
voili
tu sais pas comment je peux faire pour mon probleme de stock? je dois donc tout gerer par ref et par mois ... galere!!
Marsh Posté le 16-05-2001 à 14:45:32
la malheureusement sans avoir la structure du truc sous les yeux
j'ai un peu plus de mal
mais selon moi sois tu code (je prefere toujours personnellement)
sois tu changes d'outils et on reveint a access
a+
Marsh Posté le 15-05-2001 à 15:02:05
salut, j'ai un truc que je sais pas faire, ca doit paraitre simple a la plupart donc merci de m'aider.
Mon problème : j'ai 2 tables, une pour les ventes, un pour le stock, je voudrai que lorsqu'un produit part (une quantité de produit) le stock se mette a jour en utilisant la reference du produit que contiendrai mes 2 tables...
merci de votre aide
[edit]--Message édité par bart70--[/edit]