delphi4arab منتديات دلفي للعرب

نسخة كاملة : ما هي الطريقة لعمل قائمة بالطلبات وعند التأكيد على الطلبات تملئ في قاعدة البيانا
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4
السلام عليكم و رحمة الله و بركاته
ما هي الطريقة لعمل قائمة بالطلبات وعند التأكيد على الطلبات تملئ في قاعدة البيانا
مثال: هناك زبون و يريد اقتناء مجموعة من السلع (حليب، قهوة، شاي، سكر، ملح، صابون)، ما هي الطريقة لعمل قائمة بالطلبات و عند التأكيد على الطلبات تملئ في قاعدة البيانات.
السلام عليكم...

أحد الحلول أن تستخدم StringGrid إما بالسماح للمستخدم أن يكتب فيها مباشرةً، أو أن يقوم بتعبئة مربعات نص (Edit) ثم يتم الإدراج فيها برمجياً (عن طريق زر إدراج مثلاً). و عند الانتهاء من تعبئة الطلبات في الـ StringGrid يتم حفظ محتوياتها في قاعدة البيانات (عند النقر على زر حفظ مثلاً).

سلام.
السلام عليكم

حل اخر: تستخدم جدول (مؤقت) بقاعدة البيانات (مربوط بDBGrid أو أي مكونات DB) تضع به ما تشاء، عند التاكد تنسخ محتواه بالجدول المعني بقاعدة البيانات
انا اعتمد على نفس فكرة الاستاذ B.M.AbdelAziZ
سوا فى فواتير البيع او فواتير الشراء والامر ناجح والحمد لله
جزاكم الله خيرا اخواني الأكارم على مداخلتكم، في الحقيقة أخي عبد العزيز الفكرة طرأت في ذهني عند إستعدادي للنوم :d:d و لما استيقضت وجدتك طرجت نفس الفكرة WinkWink.

لكن المشكلة أني لما أقوم بتعبئة المواد المطلوبة فإن القيمة تطرح من آخر مادة، بمعني أني لما أختار 10 زيت، 10 سكر، 10 قهوة، فمن المفروض أن العدد يتنقاص من كل مادة في المخزن لكن الذي يحدث أن القيمة تنقص من القهوة فإذا كان في المخزن 100 بإنه يصبح 70 أي كأن الزبون اشترى 30 قهوة فقط.

و شكرا لكم اخواني
هذا هو الكود الذي استعملته
حيث أنه ينسخ من الجدول المؤقت إلى الجدول النهائي و يعدل كمية السلع في الجدول الأساسي

كود :
with (abstable1) do begin open; first; while abstable3.Eof = false do begin abstable1.Open; abstable1.Append; abstable1.Insert; abstable1.FieldByName('article').AswideString:=abstable3.FieldByName('article').AswideString ; abstable1.FieldByName('qnt').AsString:=abstable3.FieldByName('qnt').AsString ; abstable1.FieldByName('prix_U').AsString:=abstable3.FieldByName('prix_U').AsString; abstable1.FieldByName('prix_g').AsString:=abstable3.FieldByName('prix_g').AsString; ABSTable3.Edit; ABSTable1.FieldValues['qnt'] := form1.ABSTable1.FieldValues['qnt'] - abstable3.FieldValues['qnt'] ; form1.ABSTable1.Edit; form1.ABSTable1.FieldValues['qnt']:= form1.ABSTable1.FieldValues['qnt'] - abstable3.FieldValues['qnt']; abstable1.Post; abstable3.Post; abstable3.Delete; end; end;
السلام عليكم

اكتب abstable1.Open; قبل الحلقة While
ايضا First
هذا خطأ
كود :
abstable1.Append; abstable1.Insert;
يكفي ان تكتب واحدة منهما فقط
في الكود مكتوب abstable1. وايضا form1.ABSTable1. هل هما نفس الجدول ام جدولا مختلفان (ان نعم ما العلاقة بينهما)؟

الكود التالي خطأ
كود :
abstable1.Post; abstable3.Post; abstable3.Delete;

السلام عليكم و رحمة الله و بركاته

تفضل ياصديقي

مثال في حالة البيع

PHP كود :
begin
                 ventes
.First;
                 While (
not ventes.Eof) Do
      If       
Produits.FindKey([ventesID_ART.Value])then

       begin
          
if   ventesQte.Value > ProduitsQte.Value then
             begin
               Main
.spSkinMessage1.messagedlg(Errormsg0014 + '0002',mtWarning, [mbok], 0);
               
ventes.edit;
               
ventesQte.AsInteger:= 0;
             
end
          
else
             
begin
               Produits
.Edit;
               
ProduitsQte.AsInteger:= ProduitsQte.AsInteger - ventesQte.AsInteger;
               
Produits.Post;
             
end ;
       
// Charger;
                
ventes.Next;
               
end; 
B.M.AbdelAziZ كتب :السلام عليكم

اكتب abstable1.Open; قبل الحلقة While
ايضا First
هذا خطأ
كود :
abstable1.Append; abstable1.Insert;
يكفي ان تكتب واحدة منهما فقط
في الكود مكتوب abstable1. وايضا form1.ABSTable1. هل هما نفس الجدول ام جدولا مختلفان (ان نعم ما العلاقة بينهما)؟

الكود التالي خطأ
كود :
abstable1.Post; abstable3.Post; abstable3.Delete;

و عليكم السلام، شكرا على التدخل

الجدول form1.ABSTable1 هو الجدول الذي يحتوي على المواد، و الجدول ABSTable1 هو جدول الفاتورة.

جربت ما قلت لكن بقيت نفس المشكلة.
anter2010 كتب :السلام عليكم و رحمة الله و بركاته

تفضل ياصديقي

مثال في حالة البيع

PHP كود :
begin
                 ventes
.first;
                 while (
not ventes.eof) do
      if       
produits.findkey([ventesid_art.value])then

       begin
          
if   ventesqte.value > produitsqte.value then
             begin
               main
.spskinmessage1.messagedlg(errormsg0014 + '0002',mtwarning, [mbok], 0);
               
ventes.edit;
               
ventesqte.asinteger:= 0;
             
end
          
else
             
begin
               produits
.edit;
               
produitsqte.asinteger:= produitsqte.asinteger - ventesqte.asinteger;
               
produits.post;
             
end ;
       
// charger;
                
ventes.next;
               
end; 

لم أفهم شيء من الكود، عملا أني جربت ما حسبت أني فهمت، لكن لم يعمل !!!
الصفحات : 1 2 3 4