عمر ضاحى قام بنشر فبراير 21, 2023 قام بنشر فبراير 21, 2023 السلام عليكم ورحمة الله وبركاته اساتذتى الكرام حفظكم الله من كل شر بعد اذن حضرتكم وكما هو موضح من العنوان محتاج طريقة استخدم فيها دالة Select Case مع CurrentProject.AllForms جربت طرق كثيره ولجهلى الاكيد لبعض الامور الاساسية فشلت فى ايجاد طريقة هذا الكود الذى جربته On Error GoTo HandleError Dim ObjName As Forms ' Set ObjName.Form '= CurrentProject.AllForms Select Case CurrentProject.AllForms(ObjName).IsLoaded Case ObjName = "FrmAddNewPOTally" txtLPOID = Forms![FrmAddNewPOTally]![cbIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" End If Case ObjName = "FromPoTallySearch" txtLPOID = Forms![FromPoTallySearch]![SubFromPoTally].Form![txtIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" End If End Select HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Exit Sub Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.DESCRIPTION End If Resume HandleExit هل اجد حل ان شاء الله عندكم ؟ (اكيد فى حل) ^_^
عمر ضاحى قام بنشر فبراير 21, 2023 الكاتب قام بنشر فبراير 21, 2023 جربت ادور فى النت ما وصلت لشئ وهنا ايضا ما وصلت لشئ
Moosak قام بنشر فبراير 21, 2023 قام بنشر فبراير 21, 2023 وعليكم السلام ورحمة الله وبركاته أستاذ عمر 🙂 دعني أسألك أولا : ماذا تريد من الكود أن يفعل بالضبط ؟ ثانيا : هذا السطر تحديدا يرجع لك قيمة من نوع True / False .. 2 ساعات مضت, عمر ضاحى said: CurrentProject.AllForms(ObjName).IsLoaded لذلك ينبغي من خيارات دالة الـ Select Case أن تكون إما True أو False .. يعني لو كانت True تفعل كذا ......... ولو كانت False تفعل كذا ......... وليس هناك خيار ثالث إلا أن كانت Null مثلا .. لذلك يمكنك التعويض عنها بدالة IF إن شئت 🙂
أفضل إجابة عمر ضاحى قام بنشر فبراير 21, 2023 الكاتب أفضل إجابة قام بنشر فبراير 21, 2023 On Error GoTo HandleError Dim ObjName As String Select Case CurrentProject.AllForms(ObjName).IsLoaded Case ObjName = "FrmAddNewPOTally" txtLPOID = Forms![FrmAddNewPOTally]![cbIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo cmdEdit.Enabled = True Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" cmdSave.Enabled = True End If Case ObjName = "FromPoTallySearch" txtLPOID = Forms![FromPoTallySearch]![SubFromPoTally].Form![txtIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo cmdEdit.Enabled = True Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" cmdSave.Enabled = True End If End Select HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Exit Sub ElseIf Err.Number = 2467 Then Exit Sub ' ElseIf Err.Number = 2478 Then ' Exit Sub Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.DESCRIPTION End If Resume HandleExit بالطريقه دي اشتغلت لكن بيظهر لى خطأ 2467 وده معناه انه بيبحث عن نموذج مش مفتوح هرجع لدالة if وامري الى الله ^_^
عمر ضاحى قام بنشر فبراير 21, 2023 الكاتب قام بنشر فبراير 21, 2023 عرفت اين الخطأ الخطأ فى الشرط فى دالة البحث الشرط بيشير الى نموذج مش مفتوح ^_^ فى الكيس الخاص بـ FromPoTallySearch
Moosak قام بنشر فبراير 21, 2023 قام بنشر فبراير 21, 2023 جرب هذا عمر 🙂 On Error GoTo HandleError Dim ObjName As String Select Case ObjName Case Is = "FrmAddNewPOTally" If CurrentProject.AllForms(ObjName).IsLoaded Then txtLPOID = Forms![FrmAddNewPOTally]![cbIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo cmdEdit.Enabled = True Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" cmdSave.Enabled = True End If End If Case Is = "FromPoTallySearch" If CurrentProject.AllForms(ObjName).IsLoaded Then txtLPOID = Forms![FromPoTallySearch]![SubFromPoTally].Form![txtIDPO] If DLookup("[LPOID]", "[TblChicPO]", "[LPOID] =" & [Forms]![FrmAddNewPOTally]![cbIDPO] & "") = txtLPOID Then Call LodInfo cmdEdit.Enabled = True Else MsgBox "DataBase Not Have Any Information For List Document For PO ID# " & txtLPOID, vbCritical, "Worning" cmdSave.Enabled = True End If End If End Select HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Exit Sub ElseIf Err.Number = 2467 Then Exit Sub ' ElseIf Err.Number = 2478 Then ' Exit Sub Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.Description End If Resume HandleExit 1
Eng.Qassim قام بنشر فبراير 21, 2023 قام بنشر فبراير 21, 2023 10 دقائق مضت, عمر ضاحى said: الشرط بيشير الى نموذج مش مفتوح لانك في البداية تشير الى النماذج IsLoaded=true فيظهر خطأ لان نموذج البحث غير مفتوح 9 دقائق مضت, Moosak said: جرب هذا عمر اشوفها اكثر منطقية ..حتى لايحدث خطأ في حالة النموذج غير مفتوح
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.