samisalim قام بنشر ديسمبر 23, 2021 قام بنشر ديسمبر 23, 2021 السلام عليكم ورحمة الله وبركاته عملت جزئيين للبرنامج واجهة feوجداولbe لمشاركة في السيرفر لكن بعد تشغيل البرنامج صار ثقيل وبطيء جدا وبعد البحث عن حل للمشكلة في المنتدى في مشاركة استاذنا @jjafferr اتضح إن دالة DLOOKUPهي السبب للمشكلة وبعد التفتيش في البرنامج توصلت الى وجود استعلام باسم Q1 يوجد به 3 أكواد باستخدام دالة dlookup الماركة: BRANDS: DLookUp("[BRANDS]";"[BRANDS]";"[BrID] =" & DLookUp("[BRANDS]";"[MODELS]";"[MODELS]![MOID]=" & DLookUp("[IDM]";"[DEVICE]";"[SERIAL] like '" & [EMPDEV]![IDD] & "'"))) الموديل: MODELS: DLookUp("[MODELS]";"[MODELS]";"[MOID] like '" & DLookUp("[IDM]";"[DEVICE]";"[SERIAL] like '" & [EMPDEV]![IDD] & "'") & "'") النوع: TYPE: DLookUp("[TYPE]";"[MODELS]";"[MOID] like '" & DLookUp("[IDM]";"[DEVICE]";"[SERIAL] like '" & [EMPDEV]![IDD] & "'") & "'") هل ممكن أساتذتي إن تدلوني عن كيفية حل هذه المشكلة؟ IT_v2_fe.rar
samisalim قام بنشر ديسمبر 23, 2021 الكاتب قام بنشر ديسمبر 23, 2021 (معدل) تم تعديل ديسمبر 23, 2021 بواسطه samisalim تم تعديل المرفق
محب العقيدة قام بنشر ديسمبر 23, 2021 قام بنشر ديسمبر 23, 2021 (معدل) بطي الاس سكيو سيرفر ليس له علاقة بدالة اللوك اب المشكلة غالبا في اعدادات Obdcانظر مثلا https://answers.microsoft.com/en-us/msoffice/forum/all/my-solution-to-access-being-slow-with-odbc/a5a6522f-a70f-421e-af1b-48327075e010 تم تعديل ديسمبر 23, 2021 بواسطه محب العقيدة 1
ازهر عبد العزيز قام بنشر ديسمبر 23, 2021 قام بنشر ديسمبر 23, 2021 اخي استاذ جعفر لا ينصح باستخدام دالة DLOOKUP حتى بالجداول وانت استخدمتها وايضا ينصبح بعدم استخدام المسميات العربيه للحقول وانت استخدمتها مع احترامي لك لكن لو كنت مكانك ساقوم باعادة البرنامج من الصفر لانك لم تهتم بالعلاقات ابدا وهو اهم شئ في برنامج الاكسس 1
samisalim قام بنشر ديسمبر 23, 2021 الكاتب قام بنشر ديسمبر 23, 2021 3 ساعات مضت, ازهر عبد العزيز said: اخي استاذ جعفر لا ينصح باستخدام دالة DLOOKUP حتى بالجداول وانت استخدمتها وايضا ينصبح بعدم استخدام المسميات العربيه للحقول وانت استخدمتها مع احترامي لك لكن لو كنت مكانك ساقوم باعادة البرنامج من الصفر لانك لم تهتم بالعلاقات ابدا وهو اهم شئ في برنامج الاكسس نعم قرأت موضوع الاستاذ جعفر أخي بخصوص مسميات الحقول باللغة الانجليزية 4 ساعات مضت, محب العقيدة said: بطي الاس سكيو سيرفر ليس له علاقة بدالة اللوك اب المشكلة غالبا في اعدادات Obdcانظر مثلا https://answers.microsoft.com/en-us/msoffice/forum/all/my-solution-to-access-being-slow-with-odbc/a5a6522f-a70f-421e-af1b-48327075e010 له علاقه أخي العزيز
samisalim قام بنشر ديسمبر 24, 2021 الكاتب قام بنشر ديسمبر 24, 2021 22 ساعات مضت, ازهر عبد العزيز said: اخي استاذ جعفر لا ينصح باستخدام دالة DLOOKUP حتى بالجداول وانت استخدمتها وايضا ينصبح بعدم استخدام المسميات العربيه للحقول وانت استخدمتها مع احترامي لك لكن لو كنت مكانك ساقوم باعادة البرنامج من الصفر لانك لم تهتم بالعلاقات ابدا وهو اهم شئ في برنامج الاكسس راح اخذ بنصيحتك اخي ازهر بإعادة بناء قاعدة البيانات من الصفر جزاك الله خيرا 1
jjafferr قام بنشر ديسمبر 24, 2021 قام بنشر ديسمبر 24, 2021 السلام عليكم 🙂 انا متابع الموضوع من البداية ، ونصيحة الاخوان في مكانها ، وبقية النصائح هنا: . كما عندي هذه الملاحظات في الكود: 1. لا تستخدم On Error Resume Next إلا في حالات جدا خاصة ، وانما استعمل رقم الخطأ وتعامل معاه: Private Sub Form_Load() On Error GoTo err_Form_Load Me.TNO.SetFocus DoCmd.FindRecord Forms!FRM_01!TNO, , , , , , True No_FRM: 'continue code here Exit_Form_Load: Exit Sub err_Form_Load: If Err.Number = 1234 Then 'ignore, Resume Next ElseIf Err.Number = 2145 Then 'ignore, No proper value from incoming Form Resume No_FRM Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_Load End If End Sub . 2. ولو انك تقدر تستخدم فلتر النموذج هكذا : myCriteria = "" myCriteria = myCriteria & "(" myCriteria = myCriteria & "[BRANDS]= '" & Me.cmbBRANDS.Column(1) & "'" myCriteria = myCriteria & ")" Debug.Print myCriteria Me.Filter = myCriteria Me.FilterOn = True . وهذه نصائح على استعماله: . ولكني انصحك بإستخدام فلتر النموذج عن طريق الاستعلام : . 3. لا تستخدم Dim بدون ان تُعرّف نوع المتغير ، يعني اذا استخدمت (Dim i) فهذا معناه Dim i as Variant 4. لما تستعمل الامر Set rs = CurrentDb.OpenRecordset ، فإنك تضع جميع البيانات الجدول/الاستعلام في ذاكرة الكمبيوتر Ram ، فيجب عليك حذف هذه البيانات في نهاية الكود ، هكذا: rst.close: set rs = nothing جعفر 2
samisalim قام بنشر ديسمبر 25, 2021 الكاتب قام بنشر ديسمبر 25, 2021 13 ساعات مضت, jjafferr said: السلام عليكم 🙂 انا متابع الموضوع من البداية ، ونصيحة الاخوان في مكانها ، وبقية النصائح هنا: . كما عندي هذه الملاحظات في الكود: 1. لا تستخدم On Error Resume Next إلا في حالات جدا خاصة ، وانما استعمل رقم الخطأ وتعامل معاه: Private Sub Form_Load() On Error GoTo err_Form_Load Me.TNO.SetFocus DoCmd.FindRecord Forms!FRM_01!TNO, , , , , , True No_FRM: 'continue code here Exit_Form_Load: Exit Sub err_Form_Load: If Err.Number = 1234 Then 'ignore, Resume Next ElseIf Err.Number = 2145 Then 'ignore, No proper value from incoming Form Resume No_FRM Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_Load End If End Sub . 2. ولو انك تقدر تستخدم فلتر النموذج هكذا : myCriteria = "" myCriteria = myCriteria & "(" myCriteria = myCriteria & "[BRANDS]= '" & Me.cmbBRANDS.Column(1) & "'" myCriteria = myCriteria & ")" Debug.Print myCriteria Me.Filter = myCriteria Me.FilterOn = True . وهذه نصائح على استعماله: . ولكني انصحك بإستخدام فلتر النموذج عن طريق الاستعلام : . 3. لا تستخدم Dim بدون ان تُعرّف نوع المتغير ، يعني اذا استخدمت (Dim i) فهذا معناه Dim i as Variant 4. لما تستعمل الامر Set rs = CurrentDb.OpenRecordset ، فإنك تضع جميع البيانات الجدول/الاستعلام في ذاكرة الكمبيوتر Ram ، فيجب عليك حذف هذه البيانات في نهاية الكود ، هكذا: rst.close: set rs = nothing جعفر وعليكم السلام استاذي جعفر نصائحك وارشاداتك على محض أهتمامي راح أبدا خطوة بخطوة من جديد 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.