ahmad_mustafa قام بنشر يناير 17, 2022 قام بنشر يناير 17, 2022 السلام عليكم اثناء العمل على قاعدة تم تقسيمها هل يوجد كود في وحدة نمطية يبحث اذا كانت القاعدة لازالت مربوطةبالجداول او فقد الاتصال بها ليظهر لنا رسالة واغلاق القاعدة من دون اللجوء الى وضع كود DoCmd.Close On Error GoTo Err: DoCmd.OpenForm "تذاكر_ادخال" Err: If Err.Number = 3043 Or Err.Number = 3024 Or Err.Number = 3044 Or Err.Number = 3078 Then MsgBox "فشل الاتصال بالسيرفر يرجى ابلاغ المسؤول", vbExclamation, "حالة الاتصال بالشبكة" Exit Sub End If عند الاغلاق اوالفتح في الفورم مع العلم انه لدي 60فورم اثناء انقطاع الشبكة.rar
Moosak قام بنشر يناير 17, 2022 قام بنشر يناير 17, 2022 استخدم الدالة التالية : Private Function TableLinkOkay(strTableName As String) As Boolean 'Function accepts a table name and tests first to determine if linked 'table, then tests link by performing refresh link. 'Error causes TableLinkOkay = False, else TableLinkOkay = True Dim CurDB As dao.Database Dim tdf As TableDef Dim strFieldName As String On Error GoTo TableLinkOkayError Set CurDB = DBEngine.Workspaces(0).Databases(0) Set tdf = CurDB.TableDefs(strTableName) TableLinkOkay = True If tdf.Connect <> "" Then '#BGC updated to be more thorough in checking the link by opening a recordset 'ACS 10/31/2013 Added brackets to support spaces in table and field names strFieldName = CurDB.OpenRecordset("SELECT TOP 1 [" & tdf.Fields(0).Name & "] FROM [" & tdf.Name & "];", dbOpenSnapshot, dbReadOnly).Fields(0).Name 'Do not test if nonlinked table End If TableLinkOkay = True TableLinkOkayExit: Exit Function TableLinkOkayError: TableLinkOkay = False GoTo TableLinkOkayExit End Function وتستدعيها بهذه الطريقة : TableLinkOkay(LinkedTableName) 'داخل () تكتب اسم أحد الجداول المرتبطة وبه يتم فحص الاتصال وسترجع لك الدالة بـ True إذا كانت متصلة ، و بـ False إذا كانت غير متصلة .. وعليها ستبني الأمر الذي تريده ..
ahmad_mustafa قام بنشر يناير 17, 2022 الكاتب قام بنشر يناير 17, 2022 اشكرك اخي هل المكان الملون بالاصفر اضع اسم الجدول وهل عند فقد الاتصال ستظهر رسالة؟؟ Private Function TableLinkOkay(strTableName As String) As Boolean 'Function accepts a table name and tests first to determine if linked 'table, then tests link by performing refresh link. 'Error causes TableLinkOkay = False, else TableLinkOkay = True Dim CurDB As dao.Database Dim tdf As TableDef Dim strFieldName As String On Error GoTo TableLinkOkayError Set CurDB = DBEngine.Workspaces(0).Databases(0) Set tdf = CurDB.TableDefs(strTableName) TableLinkOkay = True If tdf.Connect <> "" Then '#BGC updated to be more thorough in checking the link by opening a recordset 'ACS 10/31/2013 Added brackets to support spaces in table and field names strFieldName = CurDB.OpenRecordset("SELECT TOP 1 [" & tdf.Fields(0).Name & "] FROM [" & tdf.Name & "];", dbOpenSnapshot, dbReadOnly).Fields(0).Name 'Do not test if nonlinked table End If TableLinkOkay = True TableLinkOkayExit: Exit Function TableLinkOkayError: TableLinkOkay = False GoTo TableLinkOkayExit End Function
Moosak قام بنشر يناير 17, 2022 قام بنشر يناير 17, 2022 تضع اسم الجدول هنا فقط : Private Function TableLinkOkay(strTableName As String) As Boolean أو عندما تنادي الدالة هكذا : TableLinkOkay("LinkedTableName") ويمكنك وضع الكود على حدث عند الفتح لأول نموذج يفتح في قاعدة البيانات ... أو كما أفضل أن تضعه على ماكرو RunCode وتحفظه بـاسم : Autoexec ليعمل لكل بشكل مباشر عندما تفتح ملف الأكسس .
ahmad_mustafa قام بنشر يناير 17, 2022 الكاتب قام بنشر يناير 17, 2022 سامحني لقد حاولت ومانجح معي يرجى مساعدتي لو تكرمت بوضعك للكود في الملف المرفق ,, وهل ستظهر vسالة عند قطع الاتصال ام ستغلق القاعدة اثناء انقطاع الشبكة.rar
Moosak قام بنشر يناير 17, 2022 قام بنشر يناير 17, 2022 (معدل) هذا تطبيق على برنامجك : عند الاتصال : وعند انقطاع الاتصال : ولا تنسى أن تمر على الكود التالي لوضع الأمر الذي يناسبك في حالة الاتصال أو الانقطاع : Public Function Autoexec(TableName As String) On Error GoTo errorHandler Dim Result As Boolean Result = TableLinkOkay(TableName) If Result = True Then MsgBox "القاعدة متصلة بالجداول" 'هنا تضع الأوامر التي تريدها إذا كانت القاعدة متصلة كفتح النموذج الرئيسي مثلا ElseIf Result = False Then MsgBox "القاعدة غير متصلة بالجداول" 'هنا تضع الأوامر التي تريدها إذا كانت القاعدة غير متصلة كالخروج من البرنامج مثلا أو إعادة الإتصال End If AutoexecOutDone: Exit Function errorHandler: MsgBox "Error #" & Err.Number & ": " & Err.Description, vbCritical Resume AutoexecOutDone End Function في الموديول التالي : ولتغيير اسم الجدول المراد فحصه تفتح ماكروا ال Autoexec في وضع التصميم وتغير اسم الجدول من هنا : اثناء انقطاع الشبكة.rar تم تعديل يناير 17, 2022 بواسطه Moosak
Moosak قام بنشر يناير 17, 2022 قام بنشر يناير 17, 2022 1 دقيقه مضت, ابو جودي said: وهذا موضوع أ=آخر المدير الجديد يتكلم .. 😄 شرفت وآنست 😁 1
ابو جودي قام بنشر يناير 17, 2022 قام بنشر يناير 17, 2022 انا اقل طالب علم بدات ابو جودى والان ابو جودى وحتى مماتى سوف اضل ابو جودى 2
Moosak قام بنشر يناير 18, 2022 قام بنشر يناير 18, 2022 11 ساعات مضت, ahmus said: بارك الله فيكم جمبعا اللهم آمين .. وإياكم أخي @ahmus لا تنسى التأشير على أفضل إجابة لتسهل على الآخرين الوصول إليها 🙂
ahmad_mustafa قام بنشر يناير 20, 2022 الكاتب قام بنشر يناير 20, 2022 (معدل) اسف على الـتأخير و بصراحة جربت الاجابتين ولازلت اواجه نفس المشكلة ظهور رسالة الخطأ اثناء العمل وهذه الرسالة كما تعلم يمكن للمستخدم يضفط على زر debug و بفتح صفحة الاكواد ويراها ربما انا اخطات في وضع الاكواد اتمنى مساعدتي بالملف المرفق ووضعها في مكانها . اثناء انقطاع الشبكة_2.rar تم تعديل يناير 20, 2022 بواسطه ahmus
Moosak قام بنشر يناير 20, 2022 قام بنشر يناير 20, 2022 (معدل) تم التطبيق على ملفاتك أخي @ahmus في حال الاتصال يفتح لك النموذج الرئيسي على طول . وفي حال عدم الاتصال يظهر لك : لا : يغلق لك البرنامج . نعم: يفتح لك مستعرض الملفات وتختار منه ملف الجداول : ثم بعدها تظهر لك رسالة النجاح ... ويفتح لك النموذج الرئيسي : اثناء انقطاع الشبكة - 3.rar تم تعديل يناير 20, 2022 بواسطه Moosak 1
ahmad_mustafa قام بنشر يناير 21, 2022 الكاتب قام بنشر يناير 21, 2022 (معدل) السلام عليكم اشكرك Moosak فعلا الدالة تعمل عند بداية الدخول للبرنامج لكن ليس هذا ما اريد المطلوب عندما اكون اعمل على البرنامج وفجأة انفصلت الشبكة المفروض تظهر لي رسالة فورا تنبه بانقطاع الشبكة وتمنع ظهور الرسالة الخاصة بالاكسس بانقطاع الشبكة عند ضغط اي زر او محاولة فتح اي فورم او حل اخر دالة لكل الفورمات توقف ظهور جميع رسائل الخطأ نهائيا ومهما كان الخطأ مع العلم انه يوجد لدي اكثر من 60 فورم ولا اريد وضع الكود فيهم ولك الشكر تم تعديل يناير 21, 2022 بواسطه ahmus
Moosak قام بنشر يناير 21, 2022 قام بنشر يناير 21, 2022 41 دقائق مضت, ahmus said: السلام عليكم اشكرك Moosak فعلا الدالة تعمل عند بداية الدخول للبرنامج لكن ليس هذا ما اريد المطلوب عندما اكون اعمل على البرنامج وفجأة انفصلت الشبكة المفروض تظهر لي رسالة فورا تنبه بانقطاع الشبكة وتمنع ظهور الرسالة الخاصة بالاكسس بانقطاع الشبكة عند ضغط اي زر او محاولة فتح اي فورم او حل اخر دالة لكل الفورمات توقف ظهور جميع رسائل الخطأ نهائيا ومهما كان الخطأ مع العلم انه يوجد لدي اكثر من 60 فورم ولا اريد وضع الكود فيهم ولك الشكر وعليكم السلام ورحمة الله وبركاته.. 🙂 للأسف ليس لدي فكرة عن ما تريده .. 1
أبوبسمله قام بنشر يناير 21, 2022 قام بنشر يناير 21, 2022 مشاركه مع اخوانى واساتذتى جزاهم الله كل خير لدى سؤال استاذ @ahmus ماهو نوع الشبكه الذى تقصده هل هى LAN ام WAN للبحث معكم وهل اطلعت على المواضيع الذى وضعها لك اخى واستاذى ابوجودى وبالاخص الموضوع التالى لانى قمت بتجربته وعند تغيير الايبى بالجدول الى اى ايبى آخر وغلق الجدول يخرج من قاعده البيانات بعد 10 ثوانى بالتوفيق
ahmad_mustafa قام بنشر يناير 22, 2022 الكاتب قام بنشر يناير 22, 2022 اخي الفلاحجى اشكرك جربت ماذكرت فهي تعمل عند تغيير الاي بي اما عندمااكون اعمل عى فورم معين وينقطع الاتصال فلا ينجح معي
أفضل إجابة أبوبسمله قام بنشر يناير 22, 2022 أفضل إجابة قام بنشر يناير 22, 2022 2 دقائق مضت, ahmus said: جربت ماذكرت فهي تعمل عند تغيير الاي بي اما عندمااكون اعمل عى فورم معين وينقطع الاتصال فلا ينجح معي الشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا مهو تغيير الايبى يعنى انقطع الاتصال موضحتش 15 ساعات مضت, الفلاحجى said: ماهو نوع الشبكه الذى تقصده هل هى LAN ام WAN للبحث معكم
أبوبسمله قام بنشر يناير 22, 2022 قام بنشر يناير 22, 2022 2 دقائق مضت, ahmus said: نوع الشبكة LAN طيب جميل يبقى مثال اخى واستاذى العزيز ابو جودى هيلبى طلبك نوضح ازاى الايبى اللى فى الجدول ده ايبى السيرفر نفسه اللى عليه قاعده البيانات الخلفيه فاذا تم انقطاع الاتصال بالايبى ده كل الواجهات المتصله بيه سيتم اغلاقها بعد 10 ثوانى لان البرنامج بيشيك على الايبى طول مالبرنامج شغال ولاحظ رد اخى العزيز ابوجودى النقطه رقم 2 في 23/12/2020 at 01:32, ابو جودي said: اتفضل بعد التجربة والتأكد من ان هذا مرادك انقل كل شئ الى قاعدتك ونفذ الاتى 1- التأكد من ادخال ip الخاص بالجهاز الرئيسى على الشكة فى الجدول tblSecurityIP 2- اجعل النموذج frmChkCon نموذج فرعى فى اى نموذج تحب لاغلاق القاعدة عند فقد الاتصال ب ip الجهاز الرئيسى على الشكة يعنى ممكن تضيفه كنموذج فرعى للنموذج الرئيسى بتاعك لو مفتوح دايما فالبرنامج او اجعل هذا النموذج فردى كما هو واجعله مفتوح ومخفى دائما طول فتره عمل البرنامج بالتوفيق 2
ahmad_mustafa قام بنشر يناير 22, 2022 الكاتب قام بنشر يناير 22, 2022 (معدل) التحقق من اي بي الشبكة.rarلدي فيديو اوضح فيه مشكلتي لكن لم استطع ادراجه ؟؟؟ كلمة السر123 كحيث قمت قمت بوضع القاعدة التي بها الجداول في درايفر مشاركة والواجهة على سطح المكتب ولازالت المشكلة رسالة خطا التحقق من اي بي الشبكة.rar تم تعديل يناير 22, 2022 بواسطه ahmus
ابو جودي قام بنشر يناير 22, 2022 قام بنشر يناير 22, 2022 10 ساعات مضت, الفلاحجى said: النقطه رقم 2 في ٢٣/١٢/٢٠٢٠ at 01:32, ابو جودي said: اتفضل بعد التجربة والتأكد من ان هذا مرادك انقل كل شئ الى قاعدتك ونفذ الاتى 1- التأكد من ادخال ip الخاص بالجهاز الرئيسى على الشكة فى الجدول tblSecurityIP 2- اجعل النموذج frmChkCon نموذج فرعى فى اى نموذج تحب لاغلاق القاعدة عند فقد الاتصال ب ip الجهاز الرئيسى على الشكة Expand يعنى ممكن تضيفه كنموذج فرعى للنموذج الرئيسى بتاعك لو مفتوح دايما فالبرنامج او اجعل هذا النموذج فردى كما هو واجعله مفتوح ومخفى دائما طول فتره عمل البرنامج طبعا جزاكم الله خيـرا استاذى القدير واخى الحبيب الاستاذ @الفلاحجى ولتمام القائدة للجميع تم التعامل مع المشكلة لايف ريموت اكسس لوحظ عدم وجود النموذج frmChkCon اصلا بالقاعدة والقليل من الاكواد التى على بعض النماذج فى الحدث Error والتى لا تثمن ولا تغنى من جوع بيدوا انه تم الدمج بين طريقتين لنفس السبيل بعد تدارك الموقف وظبط الاكواد كما ينبغى واضافة النماذج اللازمة من المثال الأصلى وبعد التجربة لوحظ مشكله بعدم اغلاق القاعدة لوجود احد النماذج مفتوحة وبالتالى تم تعليق القاعدة تم تلاشى هذه المشكلة باضافة الروتين الاتى ليقوم باغلاق كل شئ اولا Public Sub Logout() Dim F As Access.Form Dim i As Long ' Loop all open forms, from last to first, to avoid problems due to closing forms ' (removing them from the Forms collection) in the loop For i = Forms.Count - 1 To 0 Step -1 Set F = Forms(i) ' Close all forms except the login form If F.Name <> "frmLogin" Then DoCmd.Close acForm, F.Name End If Next i End Sub رجاء من الاستاذ @ahmus فضلا وكرما وليس امرا ارفاق قاعدة البيانات النهائية بعد التعديلات اللازمة لتعم القائدة على الجميع وشكرا 1
أبوبسمله قام بنشر يناير 22, 2022 قام بنشر يناير 22, 2022 احسنت اخى ومعلمى العزيز محمد @ابو جودي 💐 وجزاك الله خيرا على تواصلك مع الاخ السائل 8 دقائق مضت, ابو جودي said: لوحظ عدم وجود النموذج النموذج frmChkCon اصلا بالقاعدة حسيت بكده لما سالته لذلك ارفقت اقتباس لردك وارفقته ووضحته لينتبه لها جزاك الله خيرا وان شاء الله فى ميزان حسناتك والشكر موصول للاستاذ موسى جزاه الله خيرا بالتوفيق اخوانى 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.