Emad Fawzy Armanious قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 Dim i As Integer Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb 'حيث Table 1 يحتوى على عمود به القيم التى يراد التأكد من مطابقتها ("Set rs = db.OpenRecordset("Table1 For i = 0 To 2 'حيثNo هو الرقم الموجود في الجدول ويراد التأكد من مطابقته معMe.MNo If rs!No.Value = Me.MNo Then 'حيث Dashbord هو النموذج المراد فتحه في حالة تحقق الشرط "DoCmd.OpenForm "Dashboard Else If rs!No.Value <> Me.MNo Then 'حيث Copyهو النموذج المراد فتحه في حالة عدم تحقق الشرط "DoCmd.OpenForm "Copy End If End If Next i المشكلة انه في حالة تحقق الشرط وعدم تحقق الشرط يتم فتح النموذج Copy يرجى المساعدة في حل ه\ه المشكلة ولكم جزيل الشكر
Khalid Jnb قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 (معدل) السلام عليكم المفروض يكون الكود بدالة (if ) كالتالي If rs!No.Value = Me.MNo Then DoCmd.OpenForm "Dashboard" Else DoCmd.OpenForm "Copy" End If تم تعديل ديسمبر 6, 2019 بواسطه خالد سيسكو 3
محمد أبوعبدالله قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 الكود بالشكل بالتالي يعمل ان شاء الله Dim i As Integer Dim db As DAO.Database Dim rs As DAO.Recordset Dim x As Integer Set db = CurrentDb Set rs = db.OpenRecordset("Table1") x = rs!No.Value For i = 0 To 2 If x = Me.MNo Then DoCmd.OpenForm "Dashboard" ElseIf x <> Me.MNo Then DoCmd.OpenForm "Copy" End If Next i واعتقد انك لو استخدمت الكود بدون For ... Next سيكون افضل Dim i As Integer Dim db As DAO.Database Dim rs As DAO.Recordset Dim x As Integer Set db = CurrentDb Set rs = db.OpenRecordset("Table1") x = rs!No.Value If x = Me.MNo Then DoCmd.OpenForm "Dashboard" ElseIf x <> Me.MNo Then DoCmd.OpenForm "Copy" End If تحياتي في 6/12/2019 at 11:47, خالد سيسكو said: السلام عليكم المفروض يكون الكود بدالة (if ) كالتالي Expand المعذرة استاذتا الفاضل @خالد سيسكو لم انتبه الى ردك فارجو المعذرة ولك الشكر تحياتي 2
محمد أبوعبدالله قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 وهذه طريقة بدالة Case Dim i As Integer Dim db As DAO.Database Dim rs As DAO.Recordset Dim x As Integer Set db = CurrentDb Set rs = db.OpenRecordset("Table1") x = rs!No.Value Select Case Me.MNo Case Me.MNo If x = Me.MNo Then DoCmd.OpenForm "Dashboard" Else DoCmd.OpenForm "Copy" End If Case Else End Select تحياتي 2
Emad Fawzy Armanious قام بنشر ديسمبر 6, 2019 الكاتب قام بنشر ديسمبر 6, 2019 شكرا استاذ خالد شكرا استاذ محمد عند تنفيذ الكود تم ظهور الرسالة المرفقة وتظليل الجزء التالي من الكود باللون الاصفر x = rs!No.Value
AlwaZeeR قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 بعد اذن الاخوة الزملاء قم بتغيير الكود Dim x As Integer الى Dim x As Long 3
Emad Fawzy Armanious قام بنشر ديسمبر 6, 2019 الكاتب قام بنشر ديسمبر 6, 2019 شكرا ابو الكرم تم التغيير ولكن نفس المشكلة الجدول به عدة صفوف للحقل No منهم قيمة واحدة صحيحة ما اريده هو ان يتم فحص هذه القيمه في كل صفوف الجدول وفي حالة تحقق الشرط يتم فتح النموذج المطلوب Dashbord وفي حالة عدم التحقق يتم فتح نموذ أخر Copy
Khalid Jnb قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 (معدل) اخي العزيز ارفق ملف يكون افضل للتصحيح تم تعديل ديسمبر 6, 2019 بواسطه خالد سيسكو
Emad Fawzy Armanious قام بنشر ديسمبر 6, 2019 الكاتب قام بنشر ديسمبر 6, 2019 شكرا لكل الأستاذة الافاضل الذين تفاعلوا مع طلبى جازاكم الله كل خير توضيح إضافي هناك قيمة في النموذج المسمى Dashboard في ال Text Box المسمى MNo تساوى 1 وهناك مجموعة من القيم في الجدول Table 1 في العمود No المطلوب هو عندما تتطابق القيمة في النموذج المسمى Dashboard في ال Text Box المسمى MNo مع اي من القيم في الجدول Table 1 في العمود No يظل النموذج المسمى Dashboard وعنندما لا تتطابق القيمة في النموذج المسمى Dashboard في ال Text Box المسمى MNo مع اي من القيم في الجدول Table 1 في العمود No يتم فتح النموذج المسمى Copy فوق النموذج المسمى Dashboard مرفق ملف Loop.rarFetching info...
محمد أبوعبدالله قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 تفضل اخي الكريم Private Sub Form_Open(Cancel As Integer) Dim i As Integer Dim db As DAO.Database Dim rs As DAO.Recordset Dim x As Long Set db = CurrentDb Set rs = db.OpenRecordset("Table1") x = rs!No.Value Select Case Me.MNo Case Me.MNo If x = Me.MNo Then DoCmd.OpenForm "Dashboard" DoCmd.Close acForm, "Copy" Else DoCmd.OpenForm "Copy" DoCmd.Close acForm, "Dashboard" End If Case Else End Select End Sub Loop.rarFetching info... 1
Emad Fawzy Armanious قام بنشر ديسمبر 6, 2019 الكاتب قام بنشر ديسمبر 6, 2019 (معدل) شكرا أبو عبد الله المرفق كان مثال من البرنامج لان البرنامج كبير الحجم ولا يمكن رفعه عند تطبيق الكود على البرنامج الاساسي تظهر رسالة Overflow ولا يتم التنفيذ يرجى توضيح السبب شكرا تم تعديل ديسمبر 6, 2019 بواسطه Emad Fawzy Armanious
محمد أبوعبدالله قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 يبدو انك تسحدم متغيرات كثيرة في البرنامج استبدل Integer بـ Long كما اشار استاذنا @AlwaZeeR في 6/12/2019 at 15:16, AlwaZeeR said: Dim x As Integer الى Dim x As Long Expand تحياتي
Khalid Jnb قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 السلام عليكم بعد اذن الاستاذ محمد ابوعبد الله انت عامل بالجدول الرقم No(مزدوج ) غيره الى عدد صحيح طويل 1
أبو إبراهيم الغامدي قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 السلام عليكم.. للأسف.. الحلول غبر متوقعة ومحبطة للغاية.. كما أن السؤال مربك
محمد أبوعبدالله قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 في 6/12/2019 at 20:24, أبو إبراهيم الغامدي said: السلام عليكم.. للأسف.. الحلول غبر متوقعة ومحبطة للغاية.. Expand وعليكم السلام ورحمة الله وبركاته استاذنا الفاضل لم افهم كلامك جيداً فبرجاء التوضيح بارك الله فيك تحياتي
محمد أبوعبدالله قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 في 6/12/2019 at 15:40, Emad Fawzy Armanious said: ما اريده هو ان يتم فحص هذه القيمه في كل صفوف الجدول وفي حالة تحقق الشرط يتم فتح النموذج المطلوب Dashbord وفي حالة عدم التحقق يتم فتح نموذ أخر Copy Expand تفضل اخي الكريم لم انتبه من البداية لهذه الجملة Loop.rarFetching info... تحياتي
أبو إبراهيم الغامدي قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 في 6/12/2019 at 21:10, محمد ابوعبد الله said: لم افهم كلامك جيداً Expand أ. محمد.. أنت تفحص سجلات لم تتحرك من مكانها.. لكونها لا تتضمن المنهج (MoveNext) لتدوير السجلات الأمر الآخر أن السائل يريد عمل دورة السجلات وفتح النماذج لغرض معين لم يفصح عنه! وهذا أحد الإرباكات في السؤال! لكون النماذج سوف تقوم بالتبديل بين الفتح والإغلاق بسرعة كبيرة حتى آخر سجل يقف عليه المؤشر! أما المشاركة الأخيرة فليست ضمن دائرة السؤال
محمد أبوعبدالله قام بنشر ديسمبر 6, 2019 قام بنشر ديسمبر 6, 2019 معك حق استاذنا الفاضل فعلا كلامك صحيح 100% ومنك نستفيد ان شاء الله دائماً ارجو ان يكون الملف المرفق يفي بالغرض والشكر لك استاذنا Loop.rarFetching info... تحياتي
Emad Fawzy Armanious قام بنشر ديسمبر 7, 2019 الكاتب قام بنشر ديسمبر 7, 2019 (معدل) في 6/12/2019 at 11:47, خالد سيسكو said: السلام عليكم المفروض يكون الكود بدالة (if ) كالتالي If rs!No.Value = Me.MNo Then DoCmd.OpenForm "Dashboard" Else DoCmd.OpenForm "Copy" End If Expand في 6/12/2019 at 20:24, أبو إبراهيم الغامدي said: السلام عليكم.. للأسف.. الحلول غبر متوقعة ومحبطة للغاية.. كما أن السؤال مربك Expand على العكس الحلول كانت رائعة وتم التنفيذ بنجاح وخالص الشكر للأستاذ محمد أبو عبد الله والاستاذ خالد والأستاذ أبو الكرم تم تعديل ديسمبر 7, 2019 بواسطه Emad Fawzy Armanious
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.