كيف أرجع الكمية المحذوفة الى جدول المواد المخزنة عند الغاء التسجيل من فاتورة
#4
بسم الله الرحمن الرحيم
الصلاة والسلام على رسول الله

جرب هذا المثال : ربما تجد الحل

كان جوابي  حسب الكود الذي وضعته



ولكن تقوم ببعض تغيرات فقط كي تستطيع تطبيقيه
على قاعدة البيانات التي تعمل عليها

كود :
unit Bachirsoft; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics,   Controls, Forms,   Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids; type   TForm1 = class(TForm)     Button1: TButton;     TArticleX4: TTable;     TLigne_Comptoire: TTable;     TArticle: TDBGrid;     Query1: TQuery;     DataSource1: TDataSource;     DBGrid1: TDBGrid;     DataSource2: TDataSource;     Table1: TTable;     procedure Button1Click(Sender: TObject);     procedure FormCreate(Sender: TObject);    end; var   Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin //spSkinMessage.  if messagedlg('Recuperer les quantité du stock?',mtconfirmation,[mbyes,mbno],0)=mryes then      begin    TArticleX4.DisableControls; // من أجل تسريع    TLigne_Comptoire.DisableControls;    try      TLigne_Comptoire.First;         while not TLigne_Comptoire.eof do         begin          TArticleX4.First;          while not TArticleX4.eof do           begin             if TArticleX4.fieldbyname('Designation_Art').asstring=              TLigne_Comptoire.FieldByName('Designation_LC').asstring             then               begin                TArticleX4.Edit;                TArticleX4.FieldByName('Quantite_Art').asinteger:=                TArticleX4.FieldByName('Quantite_Art').asinteger-                TLigne_Comptoire.FieldByName('Qte_LC').asinteger;                TArticleX4.Post;                TArticle.Refresh;                Break;  //الخروج من الحلقة عند أول تساوي للكميتين                // اذا كنت تريد مقارنة عدة قيم أقف عمل                // Break;               TArticleX4.Next; // يضع داخل شرط وخارج شرط               end;                TArticleX4.Next; // يضع داخل شرط وخارج شرط              end; // وداخل الحلقة;              TLigne_Comptoire.Next; // وداخل الحلقة           end;    finally     TArticleX4.EnableControls;     TLigne_Comptoire.EnableControls;   end;   end; end; procedure TForm1.FormCreate(Sender: TObject); begin     if not fileExists('fat_LC.db') then     begin      Query1.Close;      Query1.SQL.Clear;      Query1.SQL.Add('CREATE TABLE "fat_LC.db"(Designation_LC CHAR(20),Qte_LC CHAR(20))');      Query1.ExecSQL;     end;     if not fileExists('fat_Art.db') then     begin      Query1.Close;      Query1.SQL.Clear;      Query1.SQL.Add('CREATE TABLE "fat_Art.db"(Designation_Art CHAR(20),Quantite_Art CHAR(20))');      Query1.ExecSQL;     end;     Query1.Close;     if (fileExists('fat_Art.db'))and(fileExists('fat_LC.db')) then     begin       TArticleX4.TableName := 'fat_Art.db';       TLigne_Comptoire.TableName := 'fat_LC.db';       DataSource1.DataSet := TArticleX4;       DataSource2.DataSet := TLigne_Comptoire;       TArticle.DataSource := DataSource1;       dbgrid1.DataSource := DataSource2;       TArticleX4.Open;       TLigne_Comptoire.Open;     end; end; end.


الملفات المرفقة
.rar   Bachirsoft.rar (الحجم : 2.25 ك ب / التحميلات : 34)
الرد


الردود في هذا الموضوع
RE: كيف أرجع الكمية المحذوفة الى جدول المواد المخزنة عند الغاء التسجيل من فاتورة - بواسطة sabre - 12-03-2017, 10:37 AM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم