Delhi, Maj de la quantité en stock

abouhaytem Messages postés 7 Date d'inscription mardi 13 juillet 2010 Statut Membre Dernière intervention 6 juin 2013 - 15 oct. 2010 à 11:41
boualem34 Messages postés 8 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 24 mai 2011 - 24 mai 2011 à 07:26
Salut à tous,

Je développe une appli. de gestion de stock en delphi 7, S.G.B.D. paradox 7.
Je veux mettre à jour la quantité en stock, dans une table 'ARTICLE' suite à une sortie (Qté. sortie). En insertion çà marche mais quand je fais une modification de la qté. sortie, la qté. en stock est erronnée.
Aidez-moi S.V.P. C'est extrêmement urgent.
Merci.

4 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
21 oct. 2010 à 17:36
bonsoir,

En insertion çà marche mais quand je fais une modification de la qté. sortie, la qté. en stock est erronnée.

Normal !
Il faut choisir, soit tu automatises, soit tu saisis

mais pas les deux..

dans un bon logiciel, on automatise cette fonction

cantador
0
Lunasoft Messages postés 75 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 16 août 2011
1 nov. 2010 à 17:04
Une quantité erronnée. Ça arrive à tout le monde d'avoir des drôles de "bug" logique ou physique.

Je veux essayer de t'expliquer. Malheureusement t'as pas mis quelques uns de tes codes pour comprendre ton lapsus.

Si t'as par exemple sur un Tform sur lequel se passe toute cette combinaison de quantité et consorts. Essaie de rafraîchir ta base de donnée en mettant:

nomBaseDonnee.Close;
nomBaseDonnee.Open;

Tu peux mettre ceci même au début du code qui commande les stocks. Mais je te conseilles de les mettre dans l'évènement OnShow (ou OnActivate);
De là; à chaque fois que tu fais une sortie d'un produit du stock. Il doit automatique rafraîchir ta base. Si je comprends bien ta base se plante.
Ben, c'est mieux de mettre les codes essentiels pour pourvoir comprendre ton soucis.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
2 nov. 2010 à 12:36
nomBaseDonnee.Close;
nomBaseDonnee.Open;

fermer sa base de données pour rafraîchir.
c'est un peu brutal ce truc là..

imagine si cette base gère des transactions bancaires...

cantador
0
boualem34 Messages postés 8 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 24 mai 2011
24 mai 2011 à 07:26
salut j'ai presque le meme problem mais avec bdd access et noila le code que j'ai mis
procedure TDMexamen.ADOTCommandeAfterPost(DataSet: TDataSet);
begin
if not (DMexamen.ADOTL_Commande.IsEmpty) then
//while DMexamen.ADOTCommandeNum_cmd.Value=DMexamen.ADOTL_CommandeNum_cmd.Value do
begin

while not (DMexamen.ADOTL_Commande.Eof)do
begin
ADOTL_Commande.First;
DMexamen.ADOTProduit.Edit;
if (DMexamen.ADOTL_CommandeNum_prod.Value=DMexamen.ADOTProduitNum_prod.Value) then
begin

//DMexamen.ADOTProduit.SetFields(0);
DMexamen.ADOTProduitQty_prod.Value:=dmexamen.ADOTProduitQty_prod.Value-
DMexamen.ADOTL_CommandeQty_cmd.Value;
DMexamen.ADOTL_Commande.Next;

end;
DMexamen.ADOTProduit.Post;
end;
end;
{end else
begin
Fcommande.DBGrid1.SetFocus;
Fcommande.dbgrid1.selectedfield:=DMexamen.ADOTL_CommandeNum_prod;
end; }

end;
0
Rejoignez-nous