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

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

بدأه very في 3 يناير 2012 · 13 رد · 1,605 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وقمت بانشاء قاعدة جديدة ولا يتحقق بها هذا وانا اريد تحقيقة سارفق جزء من القاعدة الجديدة وجزء من القديمة

واريد ان اصل الى الفكرة تحياتى للجميع

newaccdb.rar

old.rar

من يعرف ان يعمل حسنا و لا يعمل فذلك خطية له.(يعقوب 4: 17)

#2

اخي الفاضل

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

هل تقصد هذه الرساله في البرنامج القديم ؟؟؟

post-15367-052365200 1325602637_thumb.gi

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

حيث ان المفتاح الرئيسي SN الموجود في الجدول الرئيسي statument مرتبط بعلاقة واحد الى متعدد مع المفتاح id_statument في الجدول trans

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

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

طبعا لن تستطيع لأن محرك قاعدة البيانات Jet 4 سيمنعك من ذلك ويقوم بمسح السجل الذي قمت بإضافته لأنه ليس له سجل رئيسي في النموذج الرئيسي .

بالتوفيق

المرفقات
AAX.gif

تم تعديل هذه المشاركة بواسطة zahrah في 3 يناير 2012 في 18:12

#3

استاذتى العزيزة زهرة هذا لا يحدث فى البرنامج الجديد بل يسمح باضافة السجلات فى النموذج الفرعى دون الاضافة فى النموذج الرئيسى

شاكر لاهتمامك

85953986.png

تم تعديل هذه المشاركة بواسطة very في 3 يناير 2012 في 18:21

من يعرف ان يعمل حسنا و لا يعمل فذلك خطية له.(يعقوب 4: 17)

#4
very كتب:

استاذتى العزيزة زهرة هذا لا يحدث فى البرنامج الجديد بل يسمح باضافة السجلات فى النموذج الفرعى دون الاضافة فى النموذج الرئيسى

شاكر لاهتمامك

85953986.png

بعد اذن اختى ومعلمتى الفاضله زهره

اشارك برايى دون الاطلاع على القاعده لعدم تسطيب اوفيس 2007 الان

اخى الكريم على ما اعتقد بان هذا يحدث فى حال عدم وجود علاقه بين الجدولين تاكد من انشاء العلاقه بينهم

هذا والله اعلم

واليك رابط لمنع التسجيل فى حقول النموذج الفرعى قبل الانتهاء من النموذج الرئيسى تعديل اختنا زهره بارك الله فيها

كيف أمنع الكتابة في النموذج الفرعي كيف امنع الكتابة في النموذج الفرعي قبل ان تكتم ليانات النموذج الاصلي

تم تعديل هذه المشاركة بواسطة طالب علم مبتدىء في 3 يناير 2012 في 18:45

#5

استاذى طالب علم مبتدء العلاقة موجودة

والمثال المرفق لاختنا زهرة ايضا سبق وان اطلعت علية قبل اضافة الموضوع وهو ايضا يسمح بالاضافة . للاسف الشديد

من يعرف ان يعمل حسنا و لا يعمل فذلك خطية له.(يعقوب 4: 17)

#6

اخى الكريم

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

#7
very كتب:

استاذتى العزيزة زهرة هذا لا يحدث فى البرنامج الجديد بل يسمح باضافة السجلات فى النموذج الفرعى دون الاضافة فى النموذج الرئيسى

شاكر لاهتمامك

85953986.png

اخي الفاضل : very

كما ابلغتك انك لا تستطيع حفظ السجلات اذا كانت هناك علاقة واحد الى متعدد عندما تقوم بإضافة سجل جديد في النموذج الرئيسي ولا تكتب فيه اي شيء

قد تستطيع ادخال 100 سجل في النموذج الفرعي ولكن بدون فائدة سوف يتم مسحها فورا بمجرد الذهاب الى السجل السابق او سجل جديد آخر في النموذج الرئيسي لأن هذا امر مفروغ منه بالنسبة لمحرك قواعد البيانات JET 4 فلن يسمح لك بالحفظ في الجدول الفرعي طالما ان النموذج الرئيسي فارغ من السجلات .

عموما يبدو ان الفكره لم تصلك بعد ولهذا تفضل ملفك بعد التعديل

الآن قم بإضافة سجل جديد في النموذج الرئيسي واتركه فارغا من البيانات ثم اذهب الى النموذج الفرعي وادخل به اي بيانات وانظر النتيجة

post-15367-049786200 1325610044_thumb.gi

za-newaccdb-UP.rar

بالتوفيق

المرفقات
V1.gif
#8
اقتباس
قد تستطيع ادخال 100 سجل في النموذج الفرعي ولكن بدون فائدة سوف يتم مسحها فورا بمجرد الذهاب الى السجل السابق او سجل جديد آخر في النموذج الرئيسي لأن هذا امر مفروغ منه بالنسبة لمحرك قواعد البيانات JET 4 فلن يسمح لك بالحفظ في الجدول الفرعي طالما ان النموذج الرئيسي فارغ من السجلات .

معلمتى ا/ زهرة انا اتفق معكى تمام الاتفاق ان القيم لم تظهر لانها غير مرتبطة بسجل رئيسى ليظهرهاااااااااااا وهذا واضح وظاهر لى

ولكن المشكلة تكمن فى ان القيم المدخلة (100 سجل على حد قولك) كلها تذهب الى الجدول الخاص بالنموذج الفرعى وبناء علية يتم احتساب قيم خاطئة ولا يظهر للمستخدم ما سبب هذة القيم الخاطئة .

حضرتك تقولى لن يسمح بالحفظ والحقيقة انة يتم الحفظ فى الجدول الفرعى دون ربطة بالجدول الرئيسى ويظهر قيم خاطئة

93225987.jpg

حضرت تقولى "لأن هذا امر مفروغ منه بالنسبة لمحرك قواعد البيانات JET 4 فلن يسمح لك بالحفظ "

ان مفهمش الحاجات دية لو تعطينى لنك شرح اكون شاكر ليكى جدااااااااااااااااا

بالنسبة لمثالك المرفق هذا ما كنت اطلبة فعلا وهذا ايضا ما كنت سبق وفعلتة فى الملف القديم ولكنى لم اعرف كيف تم عملة قد لاحظت فى انشائك للعلاقة انك علمتى على الثلاث خيارات وانا لم اكن افعل هذا بل فقط فرض التكامل المرجعى ولكن بعد فعلى هذا ايضا يسمح باضافة سجلات

فبعد اذن حضرتك رجاء اعلامى كيف اصنع هذا؟ لانى ساطبقها على الكثير من النماذج فى قاعدة بيانات كبيرة نسبياً

وطبعا لسانى عاجز عن الشكر والتقدير الذى تستحقية

53e35528a2.gif

تم تعديل هذه المشاركة بواسطة very في 4 يناير 2012 في 08:25

من يعرف ان يعمل حسنا و لا يعمل فذلك خطية له.(يعقوب 4: 17)

#9

اذهب الى الجدول المرتبط واختر الحقل المرتبط بالمفتاح الرئيسي

وضع خاصية هذا الحقل على ( مطلوب = نعم )

post-15367-005565400 1325655668_thumb.gi

بالتوفيق

المرفقات
V2.gif
#10

اولا شكرا جزيلا على سرعة الرد واهتمامك

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

انا تعبك معايا

شكرا جزيلا مرة اخرى

من يعرف ان يعمل حسنا و لا يعمل فذلك خطية له.(يعقوب 4: 17)

#11

الغريب انى فى البرنامج القديم يصنع المطلوب فى الجديد لاsad.gifblink.gif

من يعرف ان يعمل حسنا و لا يعمل فذلك خطية له.(يعقوب 4: 17)

#12

تفضل اخي الكريم

جرب هذا التعديل

تم استبعاد مطلوب = لا

عدم استخدام تتالي التحديث والحذف في العلاقات

الآن حاول تقوم بإدراج اي بيانات في النموذج الفرعي اذا كان احد حقول النموذج الرئيسي فارغ وانظر هل يتم الحفظ ام لا

za-newaccdb-UP2.rar

بالتوفيق

#13

تسلم ايدك هو دة

الف مليون شكر

1000000000 شكر smile.gif

وعايز اقولك على حاجة وصلتلها

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

وعمل فى الفورم الرئيسى حقل غير مرتبط يحسب دالة ماكس للايدى - واضفت فى القيمة الافتراضية لحق الايدى الحقل الغير مرتبط + واحد ليجمع على ويعطينى حقل مساوى للاوتو نمبر

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

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

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

من يعرف ان يعمل حسنا و لا يعمل فذلك خطية له.(يعقوب 4: 17)

#14

الاخ very

جرب هذه الطريقه يمكن هذا ما تريد

افتح الفورم الرئيسي في وضع التصميم واضف حدث جديد في الخاصية "في الحالي" Form_Current

واكتب الكود التالي :

If Me.NewRecord = True Then
Me.[اسم النموذج الفرعي].Enabled = False
Else
Me.[اسم النموذج الفرعي].Enabled = True
End If

وبالتوفيق

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…