اذهب الي المحتوي
أوفيسنا

نموذج اساسي بداخله نماذج فرعية //س: كيف اجعل المستخدم يعبئ النموذج الا


pinkpanther

الردود الموصى بها

السلام عليكم

كيف حالكم ... إن شاء الله طيبين ؟

لدي قاعدة بيانات فيها ثلاثة جداول:

الجدول الأول اسمه A وفيه 5 حقول والحقل الذي عليه المفتاح الأساسي اسمه ID

الجدول الثاني اسمه B وفيه 5 حقول والحقل الذي عليه المفتاح الأساسي اسمه Name وصممت له نموذج اسمه B

الجدول الثالث اسمه C وفيه 5 حقول والحقل الذي عليه المفتاح الأساسي اسمه Job وصممت له نموذج اسمه C

الجداول الثلاثة بينهم علاقة (رأس بأطراف) تبدأ بالجدول A ثم B ثم C

قمت بتصميم نموذج اسمه A وبداخله يوجد:

5 حقول لنفس النموذج (A) و

5 حقول من نموذج B و

5 حقول من نموذج C

===========================================================

ما أريد كتابته كـ VBA هو كالتالي وبشكل تسلسلي :

1- اذا قام المستخدم بفتح النموذج A لتعبئة سجل جديد ... فتصبح جميع الحقول (جامدة - لا يستطيع وضع مؤشر الماوس فيها) بستناء حقل واحد موجود بنموذج A اسمه ID فيمكن تعبئته

2- اذا قام المستخدم بتعبئة حقل ID :

-------أ- تصبح جميع الحقول المتصلة بالنموذج A قابلة للتعبئة وهي (4) حقول.

-------ب - وتصبح جميع الحقول المتصلة بالنموذج B و C وهي (10 حقول) (جامدة - لا يستطيع وضع مؤشر الماوس فيها) بستناء حقل واحد موجود بنموذج B اسمه Name فيمكن تعبئته

3- اذا قام المستخدم بتعبئة حقل Name :

-------أ- تصبح جميع الحقول المتصلة بالنموذج A و B قابلة للتعبئة وهي (9 حقول).

-------ب - تصبح جميع الحقول المتصلة بالنموذج C وهي (5 حقول) (جامدة - لا يستطيع وضع مؤشر الماوس فيها) بستناء حقل واحد موجود بنموذج C اسمه Job فيمكن تعبئته

4- اذا قام المستخدم بتعبئة حقل Job :

-------أ- تصبح جميع الحقول في جميع النماذج قابلة للتعبئة.

===========================================================

تحياتي لكم ...

اخوكم

بنك بانثر

رابط هذا التعليق
شارك

اخي بنك بانثر جرب استخدام (enabled.)

xxx.Enabled=False
او
box1.Enabled=true

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

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

رابط هذا التعليق
شارك

نموذج اساسي بداخله نماذج فرعية //س: كيف اجعل المستخدم يعبئ النموذج الاساسي اولا ثم الفرعي؟

هلا فيك lipra2004

صممت مثال بسيط لداتا بيز التي لدي وهي بالمرفقات

اتمنى أن أجد المساعده منكم

تحياتي لك

pro.zip

رابط هذا التعليق
شارك

ماتطلبه ممكن , لكن

أعتقد أن هناك حاجة لاعادة تصميم بناء الجداول

ماهي الفكرة المطلوب بالضبط ( أي لمذاذ اجبار التركيز على حقول معينة و فتحها و هكذا ؟؟)

حاول توصيف المشكلة بشكل أكثر

رابط هذا التعليق
شارك

هلا بمشرفنا العزيز

التوضيح:

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

عند تعبأة سجل جديد لا بد من ادخال رقم السجل المدني اولا وقبل اي شي وهو حقل ID

ومعلومات تابعة للسجل المدني... وهي الاربع حقول A2 A3 A4 A5 كمكان السجل وتاريخه وغيرها

ثم

يتم تعبأة اسم صاحب الـ ID في حقل Name

والمعلومات التابعة لهذا الاسم ... وهي الأربع حقول B2 B3 B4 B5 كسنة الميلاد والعنوان وغيرها

ثم

يتم تعبأة الأعمال التي أحيلة لهذا الشخص في حقل Job

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

تحياتي لك

رابط هذا التعليق
شارك

اخوي

طيب ليش كل هذي الجداول؟؟!!

الجدول A و B يكونوا جدول واحد للمعلومات الشخصيه ، ايش الفائده من وضع جدول مستقل للاسم و.... وجدول مستقل لرقم السجل المدني و......

اعمل جدولين ، الاول للمعلومات الشخصيه و الثاني للاعمال المناطه بالموظف. واذا لابدمن تعبئه جميع الحقول بامكانك استخدام داله IF لكي تعمل على التاكد من ان الحقول تم تعبئتها.

هناك فكره قد يمكن تعجبك وهي مثال تعبئه صفحات الانترنت ب عمل زر زر التالي

اي ان اول نموذج يكون نموذج البيانات الشخصيه وبعد\ اكمال تعبئتها تضغط على الزر "التالي" فاياخذك الى نموذج جديدواسمه اللاعمال وبعد الانتهاء منه تقوم بالضغط على زر "انهاء" وهكذا...

رابط هذا التعليق
شارك

فكرة معقولة

أيضا هناك كود يمكن وضعه في حدث عند الضغط على زر التالي للتأكد من تعبئة البيانات المطلوبة و فكرته كما يلي :

If IsNull(Me![ProductName]) Or Me![ProductName] = " " Then
      Response = MsgBox("Acc Number Was Not Entered!" & Chr$(10) & Chr$(13) & "This Record Was Not Saved", 32, "Missing Acc Number")
        If Response = 6 Then
      Cancel = True
      DoCmd.GoToControl "ProductName"
      Exit Sub
      Else
      Me.undo
       End If
      End If

حيث ProductName هو اسم حقل يراد تعبئته

فاذا كان هناك قيمة لهذا الحقل ( طبعا يمكنك نسخه عدة مرات لادراج أسماء عدة حقول ) ينفذ ضغط زر التالي , و الا سوف يرجع الى الحقل الفارغ من أجل تعبئته

رابط هذا التعليق
شارك

في هذه الحالة اجعل خاصية جميع الحقول

enabled=false

ماعدا الحقل الأول

و ذلك من خاصية العنصر في عرض التصميم

الآن تضع عند حدث بعد التعديل للحقل الأول

خاصية الاتاحة للحقل التالي كما يلي

me.NextItem.Enabled=True

و هكذا حتى نهاية العناصر

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information