anamo قام بنشر نوفمبر 18, 2007 قام بنشر نوفمبر 18, 2007 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته وهاأنا أطمع بكرمك مرة أخرى وأطرح عليكم سؤالا أرجو ممن لديه الحل أن لا يبخل علي بالإجابة وحتى لا أطيل عليكم سأبدأ بسؤال مباشرة , السؤال كالتالي: لدي جدول يسمىMainTb فيه خانة Disease وهذه الخانة تأخذ قيمها من جدول خاص بأسماء الأمراض يسمى Disease .. المهم عملت نموذج وأخذت قيم من الجدول MainTb .. وما أرديه هو أني عندما أختار إسم المرض (لنفرض مثلا الحمى) فإنه عندما أنتقل إلى خانة أخرى لا يظهر هذا المرض من ضمن القائمة.. أي أريد إخفاء إسم المرض المختار حتى لا يتم اختياره مرة أخرى , وذلك منعا من التكرار .. أعرف أنه يوجد طريقة يتم فيها منع التكرار,, لكن ما أريده هو عدم ظهور إسم المرض إذا تم اختياره من قبل,, أرجو أنني لا أكون قد أطلت عليكم .. وشكرا لكم Anamo.zip
zahrah2016 قام بنشر نوفمبر 18, 2007 قام بنشر نوفمبر 18, 2007 أخي الفاضل السلام عليكم ورحمة الله وبركاته قد لا تكون هذه الميزه متوفره في مبع التحرير والسرد في برنامج الأكسيس لأن مربع التحرير والسرد ComboBox يعتمد على منشىء الإستعلام والذي بدوره معتمد على جدول معين وهو جدول Disease لهذا سوف تظهر كل الحقول مهما حاولت فهذه الخاصية غير متوفرة . ولكن يمكن التحايل على هذا الوضع بعمل التالي : 1. انشاء جدول جديد بإسم Disease2 مشابه تماما للجدول Disease ولكنه فارغ من البيانات . 2. نقوم بإنشاء استعلام الحاق بإسم مثلا qryDisease ومهمته هذا الإستعلام تكون في الحاق ما نقوم بإختياره كل مره من الجدول Disease الى الجدول Disease2 حسب معيار الشرط الموجود في جملة الإستعلام هذه INSERT INTO Disease2 ( DiseaseName ) SELECT Disease.DiseaseName FROM Disease WHERE (((Disease.DiseaseName) Like [forms]![main]![Disease])); حيث نلاحظ في المعيار انه يقوم بإلحاق العبارة او المرض المشابه فقط لمربع التحرير والسرد الذي اخترناه . الآن يجب ان نقوم بحذف هذا المرض من الجدول لأننا قد الحقناه الى الجدول الثاني Disease2 وستكون جملة الإستعلام الخاصة بالحذف حسب الشرط السابق DELETE Disease.DiseaseName FROM Disease WHERE (((Disease.DiseaseName) Like [forms]![main]![Disease])); هنا ايضا نلاحظ انه تم حذف المرض المختار من الجدول Disease نهائيا وهذا لا يهمنا في شيء طالما اننا قد قمنا بإلحاقه الى الجدول الثاني . الآن نقوم بالتجربه في النموذج وسنجد انه عند حدث بعد التحديث لمربع التحرير والسرد سيتم حذف كل مرض يتم اختياره حتى نكمل جميع الأمراض ولا يتبقى في مربع التحرير والسرد اي مرض لأنها الحقت الى الجدول الثاني . من خلال هذا الكود الذي يقوم بإستدعاء استعلام الإلحاق واستعلام الحذف معا وفي نفس الوقت Private Sub Disease_AfterUpdate() DoCmd.SetWarnings False DoCmd.OpenQuery "qryDisease" DoCmd.OpenQuery "qrydel" Me.Disease.Requery Me.Refresh DoCmd.SetWarnings True End Sub 3. الآن بقى عندنا خطوه وهي ارجاع ما تم الحاقه الى الجدول Disease2 الى الجدول Disease وستم ذلك من خلال عملية عكسية للحالة السابقة حيث نقوم بإنشاء استعلام الحاق من الجدول Disease2 الى الجدول Disease وحذف البيانات من الجدول Disease2 ليكون جاهزا لأي مهمه جديده . من خلال الإستعلامين التاليين INSERT INTO Disease ( DiseaseName ) SELECT Disease2.DiseaseName FROM Disease2; DELETE Disease2.DiseaseName FROM Disease2; والخطوة الأخيره هي ان نقوم بإنشاء زر امر لكي يقوم بإستدعاء هذين الإستعلامين من خلال الكود التالي Private Sub RestorTable_Click() DoCmd.SetWarnings False DoCmd.OpenQuery "qry2" DoCmd.OpenQuery "qry3" Me.Refresh End Sub قد تكون الطريقة طويله ولكنها تفي بالغرض ويتم عملها لمرة واحدة فقط اي انها الآن جاهزة للإستخدام ولا تحتاج الى اي تعديل وهذا ملفك بعد التعديل قم بالتجربه عليه من خلال اختيار جميع الأمراض مع ملاححظة وضع الـ SerialNumber قبل اختيار اي مرض لأنه سوف ينتقل مباشرة الى الجدول الثاني استمر في اكمال جميع الأمراض حتى النهاية ولا تحاول ضغط زر الأمر استعادة جدول الأمراض وانت في منتصف الأمراض الموجوده في مربع التحرير والسرد حتى لا تفقد البيانات من كلا الجدولين لذا يجب ان تقوم بإنتهاء كاملا من جميع الأمراض وحتى ترى ان مربع التحرير والسرد اصبح فارغا في هذه اللحظة تستطيع استعادة جدول الأمراض من جديد . za_Anamo_up.rar
anamo قام بنشر نوفمبر 18, 2007 الكاتب قام بنشر نوفمبر 18, 2007 أختي زهرة , لا أعرف إن كانت كلمة مدبعة أو عبقرية تفي بالغرض ... فعلا أنت كما تعودنا عليك ,, لا مستحيل أمامك.. فعلا أنا عاجز عن شكرك , لأنك قمتي بالحل المطلوب تماما بوقت أكثر من رائع .. أرجو أن تكوني صبورة .. لأنني سأكون أول الطامعين بمساعدتك ومساعدة جميع أعضاء المنتدى الرائع .. ألف شكر لك مرة أخرى , وتقبلي تحياتي ..
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.