اذهب الي المحتوي
أوفيسنا

نجوم المشاركات

  1. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      13

    • Posts

      8,723


  2. اشرف

    اشرف

    الخبراء


    • نقاط

      12

    • Posts

      196


  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      10

    • Posts

      9,814


  4. Gamal.Saad

    Gamal.Saad

    الخبراء


    • نقاط

      9

    • Posts

      211


Popular Content

Showing content with the highest reputation on 01 يون, 2020 in all areas

  1. بسم الله الرحمن الرحيم السلام عليكم اخواني الكرام الموضوع كيف يعامل مجموعة مستخدمين مع قاعدة البيانات من خلال الانترنت بدلا من الشبكة المحلية ( الداخلية ) لتباعد المسافات بين المستخدمين الفكرة سهلة كنا بنجمع الاجهزة علي الشبكة المحلية عن طريق وسيط وهو اسلاك بتربط الاجهزة ببعضها خلاص بيقي عايزين وسيط غير الاسلاك الوسيط هو موقع وله برنامج هننزله عنوان الموقع https://my.zerotier.com/login صفحة تحميل البرنامج https://www.zerotier.com/download/ 1 – نحمل البرنامج من صفحة التحميل 2 – نسطب البرنامج زي اي برنامج نسيب البرنامج بقي كدة خلاص نروح الموقع ونسجل فيه ندوس علي المربع الاصفر دي الصورة طبعا احنا عضو جديد ندوس علي ريجستر زي الصورة 1 2 اذهب الي الايميل بتاعك وفعل العضوية بعد ما تفعل العضوية هيدخلك علي الصفحة دي دوس علي نتوورك زي الصورة من اول هنا بقي يبدأ الجد ركز مع الصور اتبع الارقام الموجودة علي الصورة ونفذ الموجود بها وتوصل لرقم 3 وتضغط كما هو موضح بالصورة هيدخلك علي الصورة اللي جاية -- دي صفحة اعدادات الشبكة بتاعتك اتبع ما جاء بالصورة انسخ الرقم وضعه كما في الصورة القادمة كدة شبكتك تمام وجاهزة للشغل بس فيه سؤال هو كل واحد من المستخدمين هيعمل الدوشه دي كلها ؟؟؟ الاجابة : لا طبعا دي انت بس علشان انت صاحب الشبكة اما المستخدمين يعني الاجهزة التانية يا دوب هيسطب البرنامج ويحط الرقم اللي انت اديتهوله وهو بالنسبة للشبكة دي اللي عملناها دلوقت 885033839097d605 وكل شبكة طبعا ارقامها بتختلف عن غيرها أي واحد هيسطب البرنامج ويضيف الرقم ده في مكانه مثل الصورة وانا اقبله من عندي يبقي مشترك معايا علي الشبكة وممكن احذفه واضيف غيره يعني الاضافة والحذف براحتك سؤال تاني هو كام جهاز ممكن يشتركوا في الشبكة بتاعتي ؟ طبعا لان حضرتك عضو مجاني عندهم لك تضيف لغاية 100 جهار بعد كدة بفلوس طبعا انت مش محتاج كل ده المشاريع الصغيرة اللي عندنا يا دوب من 3 : 10 اجهزة يعني انت تبعنا في ابو بلاش ------------------------------------------------------------------------------------------------------------------------------------------------------------- كدة اللي فاضل نجهز قاعدة البيانات ونقسمها ونشيرها نفتح قاعدة البيانات بتاعتنا حدد مكان التقسيم في جهازك وخلاص اتقسمت اصبحت جزء باسم قاعدة البيانات لو اسمها مثلا ( اشرف ) والجزء الثاني اشرف ) وهو ده اللي فيه الجداول ده هو اللي هيتشير فقط _be ( يفضل اعدادات الشير – شوف يا باشا دي سهلة بس ركز مع الصور في جهازك روح علي Control Panel Network and Internet Network and Sharing Center Advanced sharing settings تلاقيها بالشكل ده يفضل ازاي نشير قاعدة البيانات اول حاجة نضع جزء الجداول في مجلد ونسميه اي حاجة ثم نضغط كليك يمين علي المجلد ونختار Give access to Specific people بكدة يبقي احنا شيرنا الملف اللي فيه الجداول نعطي بقي نسخة من الجزء الثاني من قاعدة البيانات للاحهزة المراد ضمها للشبكة وكل مستخدم يعدل مسار الجداول المرتبطة علي مكان الشير في جهازك اللي يعتبر سيرفر للتجربة انا مشير نموذج علي جهازي اللي عايز يجرب اولا يحمل البرنامج ويسطبه كما في الصور اعلاه ويضع الرقم 885033839097d605 وانا ان شاء الله هقبل اضافته للشبكة اللي عملناها دي ولما اقبله جهازي هيظهر عنده باسم اشرف ويحمل النموذج من الموضوع هنا ونتواصل مع بعض علي القاعدة دي عن بعد و يمكن من بلاد مختلفة لتوضيح الفكرة ولمعرفة سرعة استجابة القاعدة في التعامل وذلك بعد العاشرة مساء بتوقيت القاهرة او لما تلاقيني متواجد بالموقع ولمدة يومين فقط للتجربة بعدها ساغلق الشبكة ملاحظة : الجهاز اللي متشيره عليه الجداول يعتبر زي سيرفر يعني لو مغلق او النت مفصول فلا يمكن التواصل انتهي الموضوع اتمني ان يعجبكم اسف علي الاطالة لكن كان لازم التفصيل احتراما وتقديرا لطلب الاساتذة ( حلبي - Barna - أحمد الفلاحجى - الأمير هشام ) واي استفسارات انا معاكم ان شاء الله اشرف.accdb
    6 points
  2. السلام عليكم مشاركة مع استاذنا ابو ياسين ملاحظة : الكود تعديل على كود الاستاذ ابو ياسين test (2).rar
    4 points
  3. السلام عليكم ورحمة الله ضع هذا الكود فى حدث ThisWorkBook Private Sub Workbook_Open() UserForm1.Show End Sub
    3 points
  4. تمام استاذنا اتعبتك معي والله اربي يطول عمرك ويحفظ عائلتك ويبعدك عن كل مكروه انه سميع مجيب
    2 points
  5. عند فتح التقرير ضع المعيار : DoCmd.OpenReport "rpt_To_Father_Fail", acViewPreview, , "SumOfwww > 25" وبهذا سيقوم باظهار السجل بالكامل المحتوى على هذا الشرط ويخفي باقي السجلات غياب 6.mdb
    2 points
  6. استخدم هذا الكود a=nz([Text1];"لم يباشر")
    2 points
  7. شهر فبراير أو شهر شباط February هو الشهر رقم 2 شهر إبريل أو شهر نيسان April هو الشهر رقم 4 وشهر مايو أو شهر آيار May هو الشهر رقم 5 وهو المسجل بالجدول والمفروض بجدول الأشهر أن يكون ترتيب شباط هو رقم 2 وليس رقم 5 ID month_name 1 كانون الثاني 2 شباط 3 آذار 4 نيسان 5 آيار 6 حزيران 7 تموز 8 آب 9 أيلول 10 تشرين الأول 11 تشرين الثاني 12 كانون الأول جرب المرفق غياب 5 وشغل شهر مايو آيار غياب 5.mdb
    2 points
  8. الحلفات التكرارية مرهقة جداً للبرنامج من الافضل الابتعاد عنها 1-الكومبو بوكس يذكر جميع الاسماء دون تكرار (دون ادراج عامود اضافي لترقيم الاسماء) العامود A الذي لا حاجة له (قمت باخفائه و ليس حذفه) 2- تم تصغير حجم اليوزر لتغطية أقل مساحة ممكنة من الشاشة 3- يمكنك العمل على الصفحة حتى ولو كان اليوزر ظاهراً اليك هذا الكود الذي يفعل لك ما تريد بالاضافة الى تلوين المعطيات التي تبحث عنها Option Explicit Private Sub ComboBox1_Change() Dim Sh As Worksheet, Find_Range As Range Dim my_rg As Range Dim My_sum#, x As Boolean, T#, ro% Dim k%: k = 0 Dim First_Address Set Sh = Sheets("توزيع الموظفين") Me.TextBox1 = "": Me.ListBox1.Clear ro = Sh.Cells(Rows.Count, 4).End(3).Row Set my_rg = Sh.Range("B1:B" & ro) Range("A2:D" & ro).Interior.ColorIndex = xlNone Set Find_Range = my_rg.Find(Me.ComboBox1, Lookat:=1) Do While Not Find_Range Is Nothing If Not x Then First_Address = Find_Range.Address x = True End If Range("A" & Find_Range.Row).Resize(, 4).Interior.ColorIndex = 35 T = IIf(IsNumeric(Range("D" & Find_Range.Row)), _ Range("D" & Find_Range.Row), 0) My_sum = My_sum + T With Me.ListBox1 .AddItem .List(k, 0) = Sh.Range("B" & Find_Range.Row) .List(k, 1) = T End With k = k + 1 Set Find_Range = my_rg.FindNext(Find_Range) If First_Address = Find_Range.Address Then Exit Do Loop Me.ListBox1.AddItem Me.ListBox1.List(k, 0) = "المجموع :" Me.ListBox1.List(k, 1) = My_sum Me.TextBox1 = My_sum End Sub '+++++++++++++++++++++++++++++++++++++++++ Private Sub UserForm_Initialize() Dim My_sh As Worksheet, lr Dim dic As Object, i% Set My_sh = Sheets("توزيع الموظفين") Set dic = CreateObject("Scripting.Dictionary") lr = My_sh.Cells(Rows.Count, 1).End(3).Row For i = 2 To lr dic(My_sh.Cells(i, 2).Value) = "" Next Me.ComboBox1.List = dic.keys Set dic = Nothing: Set My_sh = Nothing End Sub '+++++++++++++++++++++++++++++++ Private Sub UserForm_Terminate() Dim Sh As Worksheet, ro% Set Sh = Sheets("توزيع الموظفين") ro = Sh.Cells(Rows.Count, 4).End(3).Row Range("A2:D" & ro).Interior.ColorIndex = xlNone Set Sh = Nothing End Sub الملف مرفق SAlim_USER_FORM.xlsm
    2 points
  9. لا أعلم اذا كان هذا المطلوب بالضيط اذا غيرتي التاريخ لن يتغير شيء الا اذا اضفتي شيئاً الى اول خلية فارغة في العامود B (من القائمة النسدلة) عندها يضاف يوم واحد على التاريخ الجديد(في العامود الأول) مع الاحتفاظ بالقيم القديمة date_Salim.xlsm
    2 points
  10. وعليكم السلام ورحمه الله وبركاته برجاء استخدام البحث ستجد الكثير من المواضيع لحساب العمر من الرقم القومى يجب علينا استخراج تاريخ الميلاد الاول وبما انك لما ترفق مثال للعمل عليه ارفق لك مثال موجود عندى وقمت بالتعديل عليه وجزاه الله خيرا صاحب المثال ومن اجاب عليه من قبل ولااستخراج تاريخ الميلاد حقل الرقم القومى بالمثال code انظر الاستعلام Q اليوم Day: Mid([cod];6;2) الشهر MOnth: Mid([cod];4;2) السنه Year: IIf(Mid([cod];1;1)=2;19;20) & "" & Mid([cod];2;2) تاريخ الميلاد بناء على الحقول السابقه birth: [year] & "/" & [month] & "/" & [day] الان لحساب العمر السنين y: DatePart("yyyy";(DateDiff("d";[birth];Date()))+1)-1900 الاشهر M: DatePart("m";(DateDiff("d";[birth];Date()))+1)-1 الايام d: DatePart("d";(DateDiff("d";[birth];Date()))+1) النتيجه بالنسبه لكود حساب السنين تجده بموضوع استاذ @صالح حمادي جزاه الله خيرا بالتوفيق اخى قومى.mdb
    2 points
  11. تمام جرب فكرة الحل المرفق وهي باختصار : تقرير عن جميع الطلبة وأمام كل منهم يوم محدد من الشهر هل غاب أم لا (Choice box) وهو يوضح أيام الغيابات فقط (وطبعا ممكن نضيف باقي الحالات شرط أن توضح مكانها بالتقرير) مربع المجموع ومصدر بياناته مجموع قيم مربعات الاختيار choice وطبعا هيكون المجموع بالسالب ووقتها تضيف دالة ABS واستعلام واحد فقط أهم به حقل كود الطالب واسمه وفي التقرير كل مربع اختيار عن يوم محدد به معادلة عامة : DCount("MainId";"subst";" Day([Tdate]) = '1' And Month([Tdate]) = " & [Reports]![قيمة من التقرير وممكن من النموذج] & " AND [MainId] = " & [Reports]![rpt_Absent_All]![MainId] & " And [type] = 'K'") ومعنى الشروط لكي يكون قيمة مربع الاختيار = -1 هي: Day([Tdate]) = '1' اليوم الأول من التاريخ المسجل بالجدول الموضح للحالة غياب أم هروب وخلافه Month([Tdate]) = أن يكون قيمة الشهر لهذا التاريخ تساوي قيمة الشهر المختار من النموذج أو التقرير Type = 'K' طبعاً حالة الغياب MainID = كود الطالب غيابات 2.mdb
    2 points
  12. لقد قمتي بكتابة المعادلة في المكان الخطأ (قلت في B3 و ليس A3 ) جربي هذا الملف ( قومي بكتابة الرقم الذين تريدين في الخلايا F2 و F4 ) وسترين ما يحدث My_Dates.xlsm
    2 points
  13. ما شاء الله يبدو انى حضرت متأخرا عموما بارك الله فيك استاذ / اشرف وعدت ووفيت بوعدك باقى لى ان اجرب معك ومع الاستاذ / احمد ابو بسملة ولان مشغول بعض الشئ سوف اجرب غدا ان شاء الله
    2 points
  14. وعليكم السلام اخى الفاضل يرجى استخدام البحث فالمنتدى ان لم تج ماتبحث عنه قم بانشاء موضوع والسؤال اطلع عالمواضيع التاليه بالتوفيق
    2 points
  15. السلام عليكم اخواني الاعزاء لقد افردت الشرح في موضوع مستقل وهذا رابطه https://www.officena.net/ib/topic/103170-مشاركة-قاعدة-البيانات-علي-الانترنت-بدلا-من-الشبكة-الداخليه/
    2 points
  16. وعليكم السلام اخوي محمد 🙂 جميع العاملين في المستشفيات (وفي هذه الايام بالذات) هم اصحاب الفضل 🙂 عملت تغيير ، فبدل ان يكون عندك ارقام في النموذج ، قد تكون عندك حروف او كلمات وجُمل ، فالتغيير يشمل كل شيء الآن: . واصبح الكود: Option Compare Database Option Explicit Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As Integer) 'خطوة مؤقته لإخفاء جميع الكائنات ، وتحريكهم الى السطر العلوي 'Line 1 Me.lbl_11.Visible = False Me.lbl_12.Visible = False Me.lbl_13.Visible = False 'Line 2 Me.lbl_21.Visible = False 'اخفاء Me.lbl_21.Left = Me.lbl_11.Left 'مكانه من يسار التقرير Me.lbl_21.Top = Me.lbl_11.Top 'مكانه من علو التقرير Me.lbl_22.Visible = False Me.lbl_22.Left = Me.lbl_11.Left Me.lbl_22.Top = Me.lbl_11.Top Me.lbl_23.Visible = False Me.lbl_23.Left = Me.lbl_11.Left Me.lbl_23.Top = Me.lbl_11.Top 'Line 3 Me.lbl_31.Visible = False Me.lbl_31.Left = Me.lbl_11.Left Me.lbl_31.Top = Me.lbl_11.Top Me.lbl_32.Visible = False Me.lbl_32.Left = Me.lbl_11.Left Me.lbl_32.Top = Me.lbl_11.Top Me.lbl_33.Visible = False Me.lbl_33.Left = Me.lbl_11.Left Me.lbl_33.Top = Me.lbl_11.Top '----------------------------- Dim L As Integer 'بما ان الاختيار من النموذج عبارة حروف/كلمات 'فنعطي لكل منها رقم سطر If Forms!Form1!lst_Line = "A" Then L = 1 ElseIf Forms!Form1!lst_Line = "B" Then L = 2 ElseIf Forms!Form1!lst_Line = "C" Then L = 3 End If '----------------------------- 'اظهار السطر الصحيح ، وتحريكه الى مربعات السطر الاول Me("lbl_" & L & "1").Visible = True Me("lbl_" & L & "2").Visible = True Me("lbl_" & L & "3").Visible = True Me("lbl_" & L & "1").Left = Me.lbl_11.Left Me("lbl_" & L & "1").Top = Me.lbl_11.Top Me("lbl_" & L & "2").Left = Me.lbl_12.Left Me("lbl_" & L & "2").Top = Me.lbl_12.Top Me("lbl_" & L & "3").Left = Me.lbl_13.Left Me("lbl_" & L & "3").Top = Me.lbl_13.Top 'تغيير ارتفاع القسم في التقرير Me.ReportHeader.Height = Me.Label11.Height * 2 End Sub جعفر 1228.R_MultiHead.accdb.zip
    2 points
  17. ما شاء الله عليك استاذ @أحمد الفلاحجى """""كلمة شكرا قد لاتكفي ولكن دعوة بالغيب..........""""""
    1 point
  18. تمام استاذ ربي يحفظك فقط حاجة واحدة وهي بالنسبة لتقرير ابلاغ ولي امر الطالب بالرسوب المفروض يعمل فقط عندما تبلغ غيابات الطالب 26 يوم ان امكن واذا اتعبتك فجزاك الله خير الجزاء استاذنا الفاضل
    1 point
  19. لا يمكن تنفيذ معطيات اليوزر على صفحة اخرى اذا لم يكن لجميع الصفحات نفس التنسيق بالنسبة للجداول مثلاً الصفة الاولى تجتوى على جدول ِِ من A حتي D بينما الصفحات الباقية تحتوي عدة جداول يأعمدة مختلفة
    1 point
  20. يعطيك رسالة خطأ أم ماذا ؟ لأنه التقرير يعمل عندي التقرير التسلسل به أبجدي ، وطبعاً ترتيب اسم : "علي" قبل اسم "قاسم" ع غ ف ق ك ل م ن ه و ي على ما أتذكر وممكن تجعل الترتيب حسب الكود كما بالجدول مفيش مشكلة فعلاً يوجد للطالب "علي" غياب واحد فقط مسجل كما بالمثال المرفق الأخير غياب 3 وهو يوم 12/5/2020 وهو موجود بالجدول Subst وموجود بالاستعلام Qry_Student_Type وموجود بالتقرير Form3 وٍسأرفق لك تعديل الترتيب حسب الكود بالجدول غياب 4.mdb
    1 point
  21. جرب هذا الملف (نموذج عما تريد) مع امكانية تغيير مفدار الضريبة والحدين الافصى والادنى Taks.xlsx
    1 point
  22. احسنت اخى @ابو تراب جزاك الله خيرا 💐
    1 point
  23. هلا اخي جرب المرفق New Microsoft Access Database (1).accdb
    1 point
  24. ل لم افهم شيئاً مما تقولين ارفعي ملف مفصل بما تريدين مع بعض البيانات (10 الى 15 صف لا اكثر)
    1 point
  25. لا أظن طلبك مجاب هنا .. راجع قوانين المنتدى جيدا ..
    1 point
  26. وباستخدام الامر فالماكرو SetValue سيتم فتح سجل جديد بالنوذج عند الفتح والحق به القيمه المساويه azhr.accdb
    1 point
  27. وعليكم السلام اخى @ازهر عبد العزيز هل ترد عند الضغط فتح النموذج ان تكون قيمه الحقل a1 تساوى قيمه الحقل a1 اذا كان هذا ما تريد فالنموذج fb فالحقل a1 فالتبويب بيانات فالقيمه الافتراضيه ضع =[Forms]![FA]![a1] هذا ع حسب ما فهمت بالتوفيق اخى ازهر New Microsoft Access Database.accdb
    1 point
  28. نعم اخوتي لم انتبه لذلك فانا جديد باامنتدى اعتذر عن هذا الخطا بارك الله فيك اخي محمد حسن المحمد تم حل المشكل بجدول البيفوت دعواتي لك بالصحة و العافية لك و لاهلك
    1 point
  29. بعد اذن الأخ علي ممكن اي خلية أو عدة خلايا تكون مختلفة عن الغاء و بنفس الوقت لا تساوي اصدار - ملحق اضافه - ملحق مرتد مثلا أوفيسنا عندها لا نحصل على النتيجة المطلوبة افترج هذه المعادلة =SUMPRODUCT(($C$5:$C$956="اصدار")+($C$5:$C$956="ملحق اضافه")+($C$5:$C$956="ملحق مرتد"),$D$5:$D$956)
    1 point
  30. بارك الله في استاذ @jjafferr بالعكس انا من يجب ان يعتذر منك لأشغالي لك .... شكر الله سعيك ....
    1 point
  31. العفو، تم تحديث المرفق ، وشكرا على التنبيه 🙂
    1 point
  32. أخي @jjafferr اعتقد ان المرفق غير الصور الموجدوة في الشرح بارك الله فيك .... ممكن تزودنا بالمرفق
    1 point
  33. جزاك الله كل خير استاذ سليم وانا من قام بتغيير أفضل اجابة لك انت فمعادلتك هى الأفضل فى كل الإجابات المقدمة
    1 point
  34. بارك الله بك اخي أمين ربما يكون عدد الصفوف أكثر من 1000 صف فهل من المعقول ان تدرج معادلات مستقلة بعدد مرات وجود هده الكلمة "مجموع" هذا عدا عن عناء التفتيش على هذه الكلمة ومعرفة من اي صف الى اي صف سوف تكون عملية الجمع أو لنفرض مثلا ان تم تبديل مكان وجود كلمة "مجموع" عند ذلك سوف نقوم بالتعديل على كل المعادلات لذا يجب ادراج معادلة واحدة (ديناميكية) وتعميمها على كل الصفوف و اترك الامر للأكسل كي يجد لك كلمة "محموع" ويقوم بالواجب
    1 point
  35. جرب هذا الملف Sum_list.xlsx
    1 point
  36. وعليكم السلام -ولإثراء الموضوع وبعد اذن الأساتذة يمكنك استخدام هذه المعادلة =IFERROR(VLOOKUP($A2&"المجموع",القوائم!$A$2:$D$132,4,0),"") جمع القوائم تلقائيا1.xlsx
    1 point
  37. سلام ورحمة الله تفضل اخي جمع القوائم تلقائيا01 .xlsx
    1 point
  38. السلام عليكم الطريقة الصحيحة في استخدام الدالة Dir https://www.techonthenet.com/access/functions/file/dir.php ولكن من تجربتي ، فهذه الدالة بطيئة نوعا ما في البحث عن ملف/مجلد في الشبكة الدالة Kill هي لحذف الملفات وليس المجلدات ، بينما الدالة RmDir هي لحذف المجلدات الفارغة ، اما اذا كانت هناك ملفات في المجلد ، فيجب حذف الملفات قبل حذف المجلد ، الرابط التالي فيه امثلة http://www.rondebruin.nl/win/s4/win004.htm ولكن ، الملفات والمجلدات التي يتم حذفها بالدوال اعلاه ، تُحذف نهائيا ، ولكن اذا اردت حذفها الى سلة المهملات ، فاستخدم الوحدة النمطية في الرابط التالي: http://vbadud.blogspot.com/2008/08/vba-send-file-to-recycle-bin.html جعفر
    1 point
  39. على الرغم ان المشاركة يعود لسنة 2008 لكن هذا جواب لهذا في ورقة خصائص النموذج في التنسيق format غير ارتفاع الشبكة و عرض الشبكة الى رقم 10 مثل هدول الصور ... عفوا مرة الاخرى لكن جوبت على هذا لكي يستفيد منه الجميع اخوكم شفان ريكاني
    1 point
  40. السلام عليكم تذكرت اني في يوم من الايام ساعدت احد الشركات في مشكلة تختلف قليلا عن هذ المشكلة ، وقد عملت كود لهم ، فالرجاء النظر في الكود (سهل) ، ثم عمل شئ مماثل لمشكلتنا التي تنكلم عنها في هذا الموضوع ، والموضوع بإختصار ، هو إعادة محاولة حفظ السجل كل نصف ثانية (ولمدة 20 ثانية) (والمفروض ان قطع الاتصال يأخذ أقل من هذا): Private Sub Form_BeforeUpdate(cancel As Integer) On Error GoTo err_Form_BeforeUpdate Dim a, msg As String Dim mTries, nTries As Integer Dim PauseTime, Start As Double 'MsgBox "Before update" TryAgain3: DoCmd.RunCommand acCmdSaveRecord Exit Sub err_Form_BeforeUpdate: If Err.Number = 3218 Or Err.Number = 3261 Then 'Could not update; currently locked 'show the user a busy mouse cursor, which indicates the system is busy DoCmd.Hourglass True 'Maximum allowed tries (seconds) mTries = 20 'how many times did we try nTries = nTries + 1 'give up if the number of tries equals the maximum allowable tries If mTries = nTries + 1 Then msg = "The table Phone_Data seems to be busy," & vbCrLf & _ "Do you want to try again?" If MsgBox(msg, vbYesNo + vbDefaultButton1, "Process taking too long") = vbYes Then nTries = 1 Else DoCmd.Hourglass False a = SysCmd(acSysCmdSetStatus, "Ready") Exit Sub End If End If 'pause 1 second 'PauseTime = 1 ' Set duration. PauseTime = 0.5 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop a = SysCmd(acSysCmdSetStatus, "Table is busy, number of tries = " & nTries & " of " & mTries) 'ignore the error this time, and start again Resume TryAgain3 ElseIf Err.Number = 2115 Then 'complaints about the SaveRecord command, ignor 'version 5: 'We have to know the error number of the error message 'commented the line below, 'added 4 lines 'commented the endif 'Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Next 'End If End Sub جعفر
    1 point
  41. انا لا اعرف رقم الخطأ ، ولكن الطريقة صحيحة ، حيث انك تقرأ اي معلومة من اي جدول ، واذا لم تصل المعلومة الى الكود ، فتعرف ان الاتصال انقطع :) طيب واذا في انقطاع ، ماذا يجب على البرنامج عمله ؟؟ انا كان اقتراحي وجود جداول محلية ، وعند وجود الشبكة ، يتم تصدير البيانات :) جعفر
    1 point
  42. السلام عليكم :) لا يُنصح بإستخدام الاكسس في شبكة وايرلس ، لأن الشبكة حتى لما تعمل بالطريقة الصحيحة ، فإنها تكون متقطعة ، فعليه تكون مشكلة في تواصل البيانات :( احد الطرق اللي ممكن تستعملها هي ، ان تكون نماذجك غير مضمنه / غير مربوطه بجدول او استعلام ، ويكون عندك زر لحفظ البيانات ، وقبل حفظ البيانات في الجدول ، يجب ان تقرأ من الجدول (تقرأ اي شئ ، فقط للتأكد ان الشبكة موجودة) ، وعندها تحفظ البيانات ، الطريقة الاخرى اللي على بالي هي ، ان تكون بياناتك محلية ، وبين كل فترة ، يقوم البرنامج ، وبعد التأكد من وجود الشبكة ، بنقل البيانات الى قاعدة البيانات الاصل :) جعفر
    1 point
×
×
  • اضف...

Important Information