الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عرض السجلات المتشابهة داخل جدول

بدأه ahmed_zedian في 28 سبتمبر 2009 · 2 رد · 956 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي جدول في برنامج اكسس

المفتاح الأساسي autonumber

وأقوم بادخال البيانات باستخدام فورم فيجوال بيزيك 2008

وبالتالي هناك سجلات تتكرر داخل الجدول

أرجو المساعدة في عدم تكرار السجلات داخل الجدول

أو عرض السجلات المتكررة داخل الجدول حتي يمكن حذفها

وبارك الله فيكم

#2

أهلاً أخي الكريم،

إذا كنت تستخدم مفتاح أساسي ( AutoNumber ) فلا يمكن أن يتم تكرار السجل وذلك لأن في كل مرة تضيف سجل جديد فيها يتم زيادة المُعرف بمقدار واحد وهذا يعني أن كل سجل له رقم خاص به، فمالذي تقصده بالتكرار ؟

بالتوفيق :)

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#3

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

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

1- أنك تختبر البيانات المدخلة بعد أن يضغط المستخدم زر حفظ وتقارنها مع قاعدة بيانات فإذا كان هناك تكرار لاتقبل الحفظ وتوضح للمستخدم أن هناك سجل بنفس هذه البيانات وهذه الطريقة ليست عملية أبدا ومتعبه .

2- الطريقة الثانية أن تختار المفتاح الرئيسي بدقة مثال :

السيناريو : عندك جدولين الجدول الأول : أصناف رئيسية وبه عامود واحد فقط يحمل إسم الصنف وهذا العمود pk

الجدول الثاني : أصناف فرعية وبه عمودين إسم الصنف الرئيسي FK وإسم الصنف الفرعي ( تأخذ هذين العمودين على أساس أنهما pk ويسمو هذا النوع من composite pk )

مثال للإدخال :

في جدول الأصناف الرئيسية : أدخلت سيارة

في جدول الأصناف الفرعية : أدخلت سيارة في عمود الأسماء الرئيسية وأدخلت بترول في عمود الأصناف الفرعية ( هذا مقبول )

في جدول الأصناف الفرعية : أدخلت سيارة في عمود الأسماء الرئيسية وأدخلت بترول (مرة ثانية ) في عمود الأصناف الفرعية ( هذا مرفوض )

في الفيجول سيتديو :

تقوم إما بتحويل الخطأ التي سترسله قاعدة بيانات إلى رسالة تنبيه أن هذا الصنف الفرعية السيارة مكررر وترفض هنا عملية الحفظ ( كود الإختبار سطر واحد تقريبا )

أو تقوم بفحص البيانات المدخلة وتقارنها بهذه العمودين فإذا كانت البيانات متاشبهة رسالة تنبيه أن هذا الصنف الفرعية السيارة مكررر وترفض هنا عملية الحفظ ( كود الإختبار 5 سطور أو 4 )

بالنسبة للـ AutoNumber فالأخ Bashar Rabat أوضح المسألة لن يكون هناك تكرار إذا كان نوع العمود pk وتلقائي الترقيم ( التكرار لن يحصل فقط في عمود id وليس إلى العواميد الأخرى في نفس الجدول ) مثال :

جدول الزبون

id (pk ), cus name , cus address

بيانات عمود id لن تتكرر

بيانات عمود الإسم والعنوان قابلة للتكرار

لمنع هذه المشكلة : مثل أردت أن لا يتكرر الإسم أيضا فعليك : id , cus name (pk),cus adress

العنوان ممكن يتكرر لكن الإسم + الـ id لن يتكرر في نفس الجدول

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

أخووك

زيدان

تم تعديل هذه المشاركة بواسطة vbzaidan في 30 سبتمبر 2009 في 20:57

مواضيع مشابهة