مشاهدة النسخة كاملة : فشل في حذف عنصرين بنفس الاسم
amar_del2007
27-03-2010, 10:52 AM
السلام عليكم:
عندي في مشكلة في عملية حذف عنصرين يحملان نفس الاسم مادة 1 وتحتها ايضاً مادة 1 تظهر رسالة خطأ مفادها "معلومات العمود الاساسي غير كافية او غير صحيحة تأثرت صفوف كثيرة اثتاء التحديث " ... عندي حل قد يكون بدائي لهذه المشكلة وهو اضافة تسلسل لكل مادة عند اضافة تسلسل لكل مادة حتى لو كانت متشابهة يتم الحذف بشكل طبيعي ولكن نريد الوصول الى حل نموذجي من قبل اراء الاخوة الاعضاء هل يمكن الحذف بطريقة اخرى حاول بواسطة
asnaf.delete وايضاً delete * from asnaf ولكن نفس الشيء .. **** ان يفيدوني الاعضاء بكل الآراء ولكم الشكر ..
B.M.AbdelAziZ
27-03-2010, 11:09 AM
السلام عليكم
ما رسالة الخطا ؟
amar_del2007
27-03-2010, 11:17 AM
السلام عليكم
تظهر رسالة خطأ مفادها "معلومات العمود الاساسي غير كافية او غير صحيحة تأثرت صفوف كثيرة اثتاء التحديث " ...
B.M.AbdelAziZ
27-03-2010, 11:27 AM
عفوا ضع رسالة الخطا كما هي دون تعريب
ايضا ما الامر الذي اردت تنفيذه ؟ ان كان استعلام اذكره
amar_del2007
27-03-2010, 11:35 AM
السلام عليكم:
اخ الكريم رسالة الخطأ هي
http://i44.tinypic.com/jjlil2.jpg
.. تظهر هذه الرسالة عندما يكون العنصرين متشابهين ..
يتم الحذف بواسطة asnaf.delete المرتبطين بواسطة كويري
B.M.AbdelAziZ
27-03-2010, 11:49 AM
لم تذكر الاستعلام Query
ان كان استعلام اذكره
amar_del2007
27-03-2010, 12:03 PM
السلام عليكم :
طبعاً الفاتورة تحتوي على راس وذيل عند اطلب فاتورة معينة
يتم ذلك بواسطة استعلام
with adoquery1 do
begin
close;
SQL.Clear;
SQL.Add('select * from sell_invoice where fatora_num=:a ');
Prepared;
Parameters.ParamByName('a').Value:=edit2.Text;
open;
end;
هذه عندما افتح فاتورة معينة عندما آتي لحذف عنصر موجود ضمن عناصر متشابهة كما ذكرت مادة 1 ، مادة 1
تظهر الرسالة التي ذكرتها ... اتمنى ان اكون قد اوضحت الطريقة .. ولك الشكر
B.M.AbdelAziZ
27-03-2010, 12:15 PM
استخدمت adoquery1 للحذف ؟
amar_del2007
27-03-2010, 12:25 PM
نعم استخدمته للحذف
amar_del2007
27-03-2010, 12:27 PM
السلام عليكم :
عفواً .. استخدمته للحذف حيث كما قلت في حالة وجود للصنف تسلسل مثلاً
1 مادة1
2 مادة 1
3 مادة 1
تكون الامور طبيعية ويتم الحذف
ولكن
مادة1
مادة1
مادة1
تظهر رسالة الخطأ ... مشكور اخي على سرعة التجاوب
B.M.AbdelAziZ
27-03-2010, 12:30 PM
باختصار كقاعدة عامة
استعمل ADOQuery لجلب البيانات أوعرضها
استخدم ADOCommand لتعديل البيانات او حذفها
وبالتوفيق
B.M.AbdelAziZ
27-03-2010, 12:33 PM
عندما كنت اكتب ردي السابق لم ارى ردك الاخير
مادة1
مادة1
مادة1
لا اعرف ما الذي تريد القيام به فاتورة او ما شابه من المفروض الا تظهر المادة اكثر من مرة
وفي حالة ظهورها اكثر من مرة هناك حقل ما للتفرقة بينها
shagrouni
27-03-2010, 12:48 PM
السلام عليكم
يبدو كما قال الأخ B.M.AbdelAziZ
تأكد من وجود حقل به قيمة فريدة كمعرف للتسجيلة.
راجع تصميم الجدول واضف حقل يكون من نوع AutoIncr على سبيل المثال.
amar_del2007
27-03-2010, 12:49 PM
السلام عليكم:
يعني اخي الكريم قصدك مثل ما ذكرت اضافة حقل تسلسل فاصل بينها .. ولكن تكمن صعوبة هذا في حال حذف عنصر فان التسلسل سوف يتلخبط وايضاً في حال اضافة اصناف جديدة للفاتورة فات التسلسل يجب اعادة ترتيبه من جديد ..
amar_del2007
27-03-2010, 12:53 PM
السلام عليكم :
يعني اخي من الافضل اضافة حقل autoincr .. وهل مشكلة في الحذف بواسطة adoquery لانه البيانات تظهر بواسطة dbgrid والداتا سيت تابعة ل adoquery وشكراً لكم مرة ثانية
B.M.AbdelAziZ
27-03-2010, 12:54 PM
فان التسلسل سوف يتلخبط
افهم جيدا انه ليس شرط ظهور كل الحقول للمستخدم
هناك حقول تستخدمها انت للعمل الصحيح للبرنامج
amar_del2007
27-03-2010, 01:03 PM
السلام عليكم:
اخ عبد العزيز نعم اعرف ذلك الحقول التي يريدها الزبون فقط هي التي تظهر ، واشكرك جزيل الشكر على تفاعلك ولكن اخي الكريم هل توجد مشكلة مستقبلية في عملية الحذف بواسطة adoquery ام انك تفضل adocomand وكيف يتم ذلك عندما يتم عرض البيانات في dbgrid اشكركم جزيل الشكر .
shagrouni
27-03-2010, 01:05 PM
كقاعدة ذهبية:
كل جدول جديد تقوم بإنشائه يجب أن تقوم أو شيء بإنشاء حقل فريد، مثلا AutoNumber.
vBulletin® , Copyright ©2008-2012