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

مساعدة عاجلة لو تكرمتم فى منع التكرار

مغلق
بدأه khyrabak في 1 أبريل 2007 · 10 رد · 904 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

سؤالى لو تكرمت فى منع التكرار إدخال بيان أكثر من مرة

فى المثال المرفق أريد أن أمنع تكرار إدخال عينة لها نفس التاريخ

لدينا : شركة مياة بها

مرافق ( محطات كبرى فى مناطق مركزية)

فروع مرتبطة بالمرفق الكبير ( محطات إنتاج فى مناطق فرعية تسمى كومبكتات )

أبار فرعية من الفروع ( كل فرع بة أكثر من بئر )

المطلوب هو إما أن تكون العينة فى تاريخ معين إما من المرفق أو من الفرع أو من البئر

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

مرفق ـــــــ ــــــــ تاريخ العينة عينة من مرفق كبير

مرفق فرع ــــــــ تاريخ العينة عينة من فرع تابع لمرفق

مرفق فرع بئر تاريخ العينة عينة من بئر تابع لفرع

أرجو أن أكون وفقت فى توصيل المطلوب لأنها تعبتنى وزهقتنى ....

وأشكر لكم مقدما مساعدتكم

test.rar

test.rar

تم تعديل هذه المشاركة بواسطة khyrabak في 1 أبريل 2007 في 14:29

#2

للرفع

أرجو الرد من ذوى الخبرة وشكرا

#3

الاخ الكريم

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

بالنسبة لي لم تكن الصورة واضحة ابدا في مرفقاتك

ولكن حسب فهمي لسؤالك وعنوان موضوعك

اذا كنت ترغب في عدم تكرار مجموعة من الحقول في سجل واحد

فهذا سهل

فقط قم باستخدام (المفتاح الاساسي) على جميع الحقول التي لاترغب بتكرارها

وذلك بوضع الماوس عليها جميعا ثم استخدام المفتاح الاساسي

يعني على سبيل المثال لو كان عندنا جدول خاص بغياب طلاب مدرسة

فمن المستحيل ان يغيب الطالب مرتين او اكثر في اليوم نفسه بسبب ادخال البيانات اكثر من مرة بسبب النسيان مثلا

والحل هو وضع مفتاح اساسي على اسم او رقم الطالب + تاريخ الغياب (مثلا)

وبذلك لن يسمح البرنامج بادخال الاسم اكثر من مرة في نفس التاريخ

#4

السلام عليكم

شكرا للأخ Enjoy على مرورة

ليس هذا هو المطلوب

لأن الجدول بة إسم المنطقة / رقم الفرع/ رقم البئر / التاريخ للعينة

المطلوب هو عدم تكرار عينة فى تاريخ معين لنفس المنطقة أو

عدم تكرار عينة فى تاريخ معين لنفس المنطقة مع رقم الفرع أو

عدم تكرار عينة فى تاريخ معين لنفس المنطقة مع رقم الفرع مع رقم البئر

تكون البيانا فى الجدول كالتالى :

مرفق / ـــــــ / ـــــــ / تاريخ العينة عينة من مرفق كبير

مرفق / فرع / ــــــ / تاريخ العينة عينة من فرع تابع لمرفق

مرفق / فرع / بئر / تاريخ العينة عينة من بئر تابع لفرع

أرجو أن أكون إستطعت أن أشرح ما أريد وأتمنى أن أجد لديكم الإجابة لأن الموضوع تعبنى وشكرا

test.rar

#5

السلام عليكم

لدى فكرة باستخام dcount

'البئر

If DCount("*", "tbl_tahlilwekly_merf", "regname = forms!frm_tahlilwekly_merf!reg_name and comp_id = forms!frm_tahlilwekly_merf!comp_id and well_num = forms!frm_tahlilwekly_merf!well_num and date = forms!frm_tahlilwekly_merf!date") <> 0 Then

MsgBox " العينة مكررة للببئر", vbExclamation + vbMsgBoxRight + vbMsgBoxRtlReading, " تنبية"

Me.Undo

DoCmd.CancelEvent

End If

'الفرع

If DCount("*", "tbl_tahlilwekly_merf", "regname = forms!frm_tahlilwekly_merf!reg_name and comp_id = forms!frm_tahlilwekly_merf!comp_id and date = forms!frm_tahlilwekly_merf!date and well_num Is Null") <> 0 Then

MsgBox " العينة مكررة للفرع", vbExclamation + vbMsgBoxRight + vbMsgBoxRtlReading, " تنبية"

Me.Undo

DoCmd.CancelEvent

End If

If DCount("*", "tbl_tahlilwekly_merf", "regname = forms!frm_tahlilwekly_merf!reg_name and date = forms!frm_tahlilwekly_merf!date and comp_id = forms!frm_tahlilwekly_merf!comp_id and well_num = forms!frm_tahlilwekly_merf!well_num ") <> 0 Then

MsgBox " العينة مكررة", vbExclamation + vbMsgBoxRight + vbMsgBoxRtlReading, " تنبية"

Me.Undo

DoCmd.CancelEvent

End If

ولكن المشكلة كيف أنادى على قيمة فى الجدول فارغة لا تظبط معى

أتمنى أن أجد الطريقة عندكم

وشكرا

#6

السلام عليكم

لا تزال مشكلتى هى النداء أو المقارنة بقيمة فارغة فى الجدول

كما فى dcount أريد أن أقول إسم المرفق كما فى الفورم ورقم الفرع كما فى الفورم

ورقم البئر فارغ and well_num Is Null

والتاريخ للعينة كما فى الفورم

كيف ذلك بإستخدام dcount .

ولدى سؤال عن إستخدام Recordset ماهى المتطلبات لإستخدام هذا الكود

Dim db As Database, rst As Recordset

Set db = CurrentDb

Set rst = db.OpenRecordset("tbl_tahlilwekly_merf")

rst.MoveFirst

Do Until rst.EOF

If rst!regname = Me!reg_name And rst!comp_id = Me!comp_id And rst!well_num = Null And rst!date = Me!date Then

MsgBox " العينة مكررة للفرع ", vbExclamation + vbMsgBoxRight + vbMsgBoxRtlReading, " تنبية"

Me.Undo

DoCmd.CancelEvent

Exit Do

End If

rst.MoveNext

Loop

rst.close

بمعن ما هو المطلوب تعريفة من DAO وماذا أيضا ومن أين تعرف ولو ممكن بالصور كما عودتنا مشرفتنا الجميلة زهرة أتساءل أين هى من موضوعى يا ريت نظرة

وشكرا

وأعتذر للإطالة

#7

السلام عليكم

من الواضح أننى الوحيد الذى أقوم بالرد على نفسى

هناك فكرة أخرى عمل إستعلامات للمطلوب مثل فى الفورم frm_tahlilwekly_merf عمل 2 إستعلام الأول بة رقم البئر يكون فارغ لزوم الكشف عن تكرار البئر من عدمة والإستعلام الثانى يكون بة رقم الفرع ورقم البئر فارغ ( الشرط null ) لزوم الكشف عن تكرار المرفق

ولكن اعتقد انها فكرة غير ذكية وغير منطقية

أرجو أن أجد لدى أحدكم فكرة حيث لاتزال المشكلة هى كيفية مقارنة عمود فى الجدول قيمتة فارغة كما زكرت سابقا

وشكراااااااااااااااااااااااااا

#8

هل التاريخ المعين

هو تاريخ ثابت ومعروف في كل الاحوال او انت تختار هذا اليوم وبذلك يكون غير معروف

#10

الأخ engoy

والمشرفة العزيزة زهرة شكرا لمروركم الكريم واهتمامكم

سؤال الأخ

لا التاريخ غير ثابت هو أن يقوم الكيمائى بالنزول لأخذ عينات يوميا من أى مكان

مثال الأخت زهرة أواجه مشكلة فى تنزيلة ثقيل جدا ولا يكتمل هل من الممكن ارفاقة مرة أخرى

وشكراااااااااا جزيلا

#11

نزلت الملف

وجارى مراجعتة

شكرااااااااا

هذا الموضوع مغلق.

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