delphi4arab منتديات دلفي للعرب
كيف يمكنني تحويل قيمة من سجل الى اخر - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يمكنني تحويل قيمة من سجل الى اخر (/showthread.php?tid=9085)

الصفحات: 1 2


كيف يمكنني تحويل قيمة من سجل الى اخر - medreg - 01-01-2018

السلام عليكم ورحمة الله تعالى وبركاته
لدي جدول به 3 حقول
والمطلوب هو كيف يمكنني تحويل قيمة الحقل 
Nbre_Tot الموجودة بالسجل رقم 1
الى الحقل Nbre_Ant الموجودة بالسجل الثاني وهكذا بباقي السجلات 
حسب ما هو موضح بالصورة المرفقة
[attachment=3660]


RE: كيف يمكنني تحويل قيمة من سجل الى اخر - AX302 - 02-01-2018

وعليكم السلام
فقط اعمل هدا في حلقة تكرارية
table1.fieldbyname('Nbre_Ant').value := table1.fieldbyname('Nbre_Tot').value


RE: كيف يمكنني تحويل قيمة من سجل الى اخر - medreg - 02-01-2018

(02-01-2018, 12:15 AM)AX302 كتب : وعليكم السلام
فقط اعمل هدا في حلقة تكرارية
table1.fieldbyname('Nbre_Ant').value := table1.fieldbyname('Nbre_Tot').value
السلام عليكم بارك الله فيك على المرور
لاكن بعد ما عملت الحلقة التكرارية
تعمل فقط على نفس السحل ولا تحول القيمة من السجل الاول الى السجل الثاني
ربما هناك خطأ في الكود من طرفي
اليك الكود المستعمل
كود :
procedure TFrm1.Button1Click(Sender: TObject); Var i,n:integer; begin  with DM do  begin  n:=Table1.RecordCount;    for i := 1 to n do    begin      if Table1.FieldValues['Cde']=i then      begin      Table1.Edit;      Table1.fieldbyname('Nbre_Ant').value := Table1.fieldbyname('Nbre_Tot').value;      Table1.Post;      end;    end;  end; end; علما ان الحقل Cde  هو مفتاح الجدول



RE: كيف يمكنني تحويل قيمة من سجل الى اخر - AX302 - 03-01-2018

السلام عليكم 
جرب هكدا 
 Table1.Edit;
 while not table1.Eof do
  begin
   Table1.fieldbyname('Nbre_Ant').value := Table1.fieldbyname('Nbre_Tot').value;
  end;
 table1.post;


RE: كيف يمكنني تحويل قيمة من سجل الى اخر - medreg - 03-01-2018

(03-01-2018, 12:39 AM)AX302 كتب : السلام عليكم 
جرب هكدا 
 Table1.Edit;
 while not table1.Eof do
  begin
   Table1.fieldbyname('Nbre_Ant').value := Table1.fieldbyname('Nbre_Tot').value;
  end;
 table1.post;

الكود يخمد لا يستجيب


RE: كيف يمكنني تحويل قيمة من سجل الى اخر - AX302 - 03-01-2018

جرب هكدا
كود :
while not Table1.EOF do begin  Table1.Edit;  Table1.fieldbyname('Name').value := Table1.fieldbyname('Name').value;  Table1.Post;  Table1.Next; end;



RE: كيف يمكنني تحويل قيمة من سجل الى اخر - medreg - 03-01-2018

(03-01-2018, 01:11 AM)AX302 كتب : جرب هكدا
كود :
while not Table1.EOF do begin  Table1.Edit;  Table1.fieldbyname('Name').value := Table1.fieldbyname('Name').value;  Table1.Post;  Table1.Next; end;

شكرا على المحاولات 
لكن ربما المقصود فير مفهوم
كل ما في الامر هو جلب المجموع اي Nbre_Totمن السجل رقم 1
ووضعه في العدد السابق Nbre_Ant بالسجل رقم 2
وكل ما اضيف سجل جديد يأتي بالمجموع من السجل الذي يسبقه ويضعه في العدد السابق للسجل الحالي
وهذا مرقث كمثال
[attachment=3663]


RE: كيف يمكنني تحويل قيمة من سجل الى اخر - محمد عبد العزيز - 03-01-2018

السلام عليكم، جرب هذا
كود :
Var St: String; begin Table1.First; while not Table1.EOF do begin if Table1.RecNo=1 then St:='0'; Table1.Edit; Table1.fieldbyname('Nbre_Ant').value :=St; Table1.Post; St:=Table1.fieldbyname('Nbre_Tot').AsString; Table1.Next; end; end;



RE: كيف يمكنني تحويل قيمة من سجل الى اخر - medreg - 03-01-2018

(03-01-2018, 01:30 PM)B.M.AbdelAziZ كتب : السلام عليكم، جرب هذا
كود :
Var St: String; begin Table1.First; while not Table1.EOF do begin if Table1.RecNo=1 then St:='0'; Table1.Edit; Table1.fieldbyname('Nbre_Ant').value :=St; Table1.Post; St:=Table1.fieldbyname('Nbre_Tot').AsString; Table1.Next; end; end; بارك الله فيك اخي عبدالعزيز  الا انه هناك ملاحظة بالنسبة للسجل الأول يجب ان تبقى القيمة المتعلقة بـ Nbre_Ant كما هي لا تتغير على سبيل المثال إذا كانت القيمة 0 تبقى كما هي بدون تغيير واذا كانت القيمة اكبر من 0 اي 10 او 1 الخ تبقى بدون تغيير وما يجري الان انها تأخذ القيمة 0 حتى ولو كانت تحتوي على اكبر من 0 والمفروض تبقى كما كانت وجزاكم الله عنا كل خير



RE: كيف يمكنني تحويل قيمة من سجل الى اخر - AX302 - 03-01-2018

جرب هكدا 
كود :
Var St: String; FirstRecord : integer; begin Table1.First; FirstRecord :=  Table1.FieldByName('Nbre_Tot').AsInteger;   while not Table1.EOF do     begin       if (Table1.RecNo=1) and (FirstRecord = 0) then St:='0';         Table1.Edit;         Table1.fieldbyname('Nbre_Ant').value :=St;         Table1.Post;         St:=Table1.fieldbyname('Nbre_Tot').AsString;         Table1.Next;     end;   end; end;