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

نسخة كاملة : مشاكل تواجهني في البرنامج delphi +access
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم :
عندي برنامج مبيعات ومشتريات مصممه وكان يعمل بشكل طبيعي وعادي ولكن بدأ كل فترة تحصل مشكلة في الادخالات بشكل مختصر واجهة رئيسية وDBgrid والاعتماد على adoquery في الادخال والتخزين في الجدول المساعد قبل البيع المشكلة هي عندما يتم البحث والضغط على dbgrid ينتقل الى ايديت وبه ادخال الكمية ومن ثم يتم التخزين في الجدول المساعد بعض الاحيان الكود المخصص لصنف معين يخزن لصنف اخر ولا ادري ما هي المشكلة طبعاً في جهازي الذي اعمل عليه لم تحصل ولكن الجهاز الثاني الذي في العمل تحصل شكيت في فايروس وتم تنظيف الجهاز ولا زالت المشكلة الان شكي في الجهاز نفسه في الوندوز خاصة وان الجهاز لم ينزل عليه وندوز منذ 4 سنوات تقريباً ما رأيكم وهل من نصائح تفيدني من خلال خبراتكم وعملكم ولكم جزيل الشكر والاحترام .
وعليكم السلام ورحمة الله
لم تقدم أي شيء يوضح سبب الخطأ (رسالة الخطأ، الكود الذي سبب الخطأ، نسخة دلفي/المكونات المستخدمة...)
حاول التفصيل أكثر.
الســلام عليكم :
شكراً لك اخي على الاجابة ، بالنسبة لرسائل الخطأ لا توجد اي رسالة كنت اتمنى ان تظهر رسالة لكي اتأكد من مكان وقوع الخطأ طبعأ نسخة دلفي 7 انا اود ان تفيدوني بخبرتكم هل مشكلة في الوندوز تسبب لخبطة في البرنامج لان الخطأ هذا يحصل كل مدة وفجأة .... اتمنى ان تفيدوني ... شكراً
مرحبا

هل تأكدت من أن الاستعلامات Query تيجب أن تحوي على حقول ذات قيمة مميزة مثل رقم الصنف ورقم المعاملة؟
السلام عليكم :
ان لم افهم بالضبط ولكن رقم الصنف هو رقم داخلي تتم المقارنة وينسب للصنف
أهلا:
مثلا لو كان الاستعلام يتضمن "WHERE ItemNo = 20 " يجب أن نتأكد من أن حقل ItemNo هو حقل بقيمة فريدة،
أي يستحيل أن توجد تسجيلة أخرى بنفس الرقم. وإذا كان الاستعلام يقوم بعرض أو تحديث تسجيلة في جدول الأصناف
يجب أن يحوي الإستعلام إشارة لهذا الحقل ضمن SELECT أو WHERE.
أيضا، هل جربت المشكلة في كلا الجهازين بنفس البيانات.؟ قد تكون هناك تسجيلات هي التي أدت إلى ظهور المشكلة.

هل بالإمكان أن تعرض لنا جمل SQL التي استخدمتها في العرض والتحديث.
طبعا قد تكون المشكلة ليس لها علاقة بجمل SQL ، ولكن محاولة لتضييق الاحتمالات.
مرحبا :
بالنسبة لي استخدم التصفية لتصفية الاصناف ومن ثم يتم الضغط على التصفية الموجودة في DBgrid ومن ثم يتم الانتقال الى EDit الكمية ومن ثم ادراج ليتم ادراج اسم الصنف ورقم الصنف وهو المهم في الجدول المساعد قبل التخزين المشكلة تكمن في إن احياناً يتم تخزين رقم مختلف عن الرقم المخصص للصنف الذي تم الضغط عليه في ال DBgrid وهذه طريقة التصفية التي استخدمها في الاستعلام

كود :
SQL.Clear ; SQL.Add('select * from classes ') ; SQL.Add('Where ClassName LIKE ' + '"%'+Edit1.Text+'%"'); SQL.Add('order by classname') ; Open ;

**** ال****** ولكم الشكر
يبدو الاستعلام سليما.
هل تستطيع إعادة توليد الخطأ، حاول أن تنقل البيانات التي في جهاز العمل إلى جهازك . تأكد كما أسلفت أن كل جدول فيه حقل مميز أو Primary key.

- الملف المساعد: ماذا به، وكيف يتم التخزين فيه
السلام عليكم:
شكرا يا اخ shagrouni على سرعة التجاوب ، اخي العزيز انا **** ان تجاوبني عى سؤالي هل الوندوز يؤثر على عمل البرنامج وبالنسبة لسؤالك حول الجدول المساعد عادي يتم ادخال البيانات التي تم تصفيتها في الجدول وتخزينها في الجدول المساعد تمهيداً لحفظها في الجدول الريسي لفاتورة المبيعات ...
نعم يوجد خطأ شـ نــ ـيـــ ـع في هذا الكود
ماهو
ما
هو
يا أخي أولا لا أدري إن كانت هذه هي الجملة كاملة أم لا ولكن خطأك القاتل هو في الجملة التالية
كود :
SQL.Add('Where ClassName LIKE ' + '"%'+Edit1.Text+'%"');

استخدامك لجملة
like
خطأ في هذا المكان
والصحيح
كود :
'where classname ="' +edit1.text + '"'
في الحقيقة انا متلخبط
لا ادري ما الفائدة من هذه الجملة فهل انت تعتمد على اسم الفئة للوصول الى السجل المطلوب
عموما يجب الاعتماد على رقم الفئة
اسمحلي اكتب بالانجليزي
كود :
Oh! my dear you have to use primary keys only. don't depend on ununique fields for example: where classneme like "%10%" result= 10 1111110 10000000 101010101010 191910 BUT where classneme ="10" result= 10 or no record at all

ملاحظة هامة للجميع

لماذا الاحظ في المواقع العربية اخطاء كثيرة وعجيبة في كتابة الكلمات وبخاصة تاء التأنيث والألف المقصورة وووووغيره


ياريت لو كتب الجميع باللغة العربية الفصحى لكان افضل وأرقى وأوضح
الصفحات : 1 2