سعيد صواب قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 (معدل) السلام عليكم ورحمة الله وبركاته لدي نموذج يفتح مع بداية البرنامج وهو يحتوي على مواعيد محددة بالوقت لهذا اليوم سؤالي بالتحديد ... هل طريقتي بإستخدام هذا الكود صحيحه ولن تبسبب مشاكل للنظام لو فرضنا ان البرنامج يعمل طوال اليوم هذا هو الكود وفي المرفق توضيح اكثر Private Function sSA() On Error Resume Next Dim i, r As Integer Dim rs As Recordset Set rs = Me.RecordsetClone r = rs.RecordCount rs.MoveLast rs.MoveFirst For i = 1 To r If rs!mish_time = Time() Then DoCmd.OpenForm "alarm" End If rs.MoveNext Next rs.Close Set rs = Nothing End Function يتم استدعاء هذه الدالة عند حدث عداد الوقت كما هو موضح في النموذج frm_missions شكرا لكم AlartSysteM2003.rar تم تعديل مارس 18, 2016 بواسطه سعيد صواب 2
ابوخليل قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 51 دقائق مضت, سعيد صواب said: سؤالي بالتحديد ... هل طريقتي بإستخدام هذا الكود صحيحه ولن تبسبب مشاكل للنظام لو فرضنا ان البرنامج يعمل طوال اليوم الطريقة مجربة وسليمة 100% ويمكن اخفاء النموذج المسؤول ليعمل بصمت في الخلفية تصور انه يمكن ايضا ان يرسل لك رسائل sms يذكرك بمواعيدك 3
رمهان قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 اخي سعيد اولا ومن النظره الاولى لا انصح بهذا الكود ! ياساتر انت كل ثانية بتلف على السجلات وانشاء كائن ثم حذفه ! ثانيا لاحظت التالي وبالنظر في الكود السابق : 1. جعلت عد السجلات قبل التحرك اخيرا ثم اولا وهذا غير منطقي حيث التحرك يسبق العد لان الفائدة اصلا من التحرك هو الحصول على العدد الصحيح للسجلات 2. تتم المقارنة بناء على الوقت فقط ومهملا التاريخ معناته التنبيه يومي فهل هذا مستقصد وباهمال التاريخ 3. خلو الرسالة من موضوع التنبيه فقط ظهور الرسالة 4. لو كان هناك موضوعين بنفس الوقت هل كودك السابق سيظهر النموذج مرتين ؟ اعتقد انك لم تجرب الكود عمليا !! تحياتي 1
سعيد صواب قام بنشر مارس 18, 2016 الكاتب قام بنشر مارس 18, 2016 حياك الله استاذ رمهان ومشكور على نصائحك للتوضيح البيانات مبنية على استعلام بتاريخ اليوم لذا ومبدئيا لا احتياج لاستخدام التاريخ بالنسبة لخلو الرسالة .... فهذا لم اعمل عليه بعد ... السؤال كان فقط عن جدوى الطريقة بإستخدام الدالة الموضحة بالمشاركة السابقة ============== 9 دقائق مضت, رمهان said: اخي سعيد اولا ومن النظره الاولى لا انصح بهذا الكود ! ياساتر انت كل ثانية بتلف على السجلات وانشاء كائن ثم حذفه ! هل من طريقة لديك استاذ رمهان تغنينا عن عمل اللوب واللف في كل ثانية نستنير بأفكاركم وما طرحت الموضوع الا للإستشارة والنصيحة شكرا للجميع
رمهان قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 اخي سعيد اضافة الى الملاحظات السابقة وجدت انك تفلتر على تاريخ اليوم بالاستعلام ! وهذا ليس له اهمية مادام المقارنة على الوقت ! فالنظام راح يشيك يوميا على الوقت حسب تحليلك ! وهذه فكرة بسيطة Private Sub Form_Timer() If DCount("*", "tbl_MIssions", "mish_time=time()") > 0 Then DoCmd.OpenForm "alarm" clock.Caption = Time() End Sub بالتوفيق
سعيد صواب قام بنشر مارس 18, 2016 الكاتب قام بنشر مارس 18, 2016 (معدل) شكرا لك استاذ رمهان اعرف هذه الطريقة استاذ رمهان وكان رأيي أن من الأفضل بدلا ان يلف على جميع بيانات الجدول ليخرج لي تاريخ اليوم ثم الوقت ان احضر له تاريخ اليوم بالإستعلام .. ومن بعدها يتبقى الوقت فقط وسجلات الوقت لهذا اليوم لن تتعدى 20 إلى 30 في اقصى الحالات. انا رحوم بالبرنامج .. هههه ===== ولكننا لم نستغني عن اللف في الحالتين ... وربما وهذا رأيي المتواضع ان لفتي ارحم من لفتك استاذي ولو بخطوات .. ههههه منتظر رأيك تم تعديل مارس 18, 2016 بواسطه سعيد صواب
رمهان قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 كلامك صحيح واوافقك ! يمكن يصبح الكود هكذا Private Sub Form_Timer() If DCount("*", "tbl_MIssions", "mish_time=time() and mish_date=date()") > 0 Then DoCmd.OpenForm "alarm" clock.Caption = Time() End Sub تحياتي 2
سعيد صواب قام بنشر مارس 18, 2016 الكاتب قام بنشر مارس 18, 2016 حياك الله استاذ رمهان وشكرا على متابعتك وبرأيك هذه الطريقة افضل من الطريقة السابقة ... ام ان هذه الطريقة تمهيد لحل آخر يغني عن عمل اللوب كل ثانية شكرا
رمهان قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 6 دقائق مضت, سعيد صواب said: وبرأيك هذه الطريقة افضل من الطريقة السابقة ... شكرا برايي افضل 7 دقائق مضت, سعيد صواب said: ام ان هذه الطريقة تمهيد لحل آخر يغني عن عمل اللوب كل ثانية شكرا بهذا الراي لم يعد هناك حاجة او وجود ل اللوب !! الكود كافي بالعد كل ثانية واظهار الفورم ! بالتوفيق 2
رمهان قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 4 دقائق مضت, سعيد صواب said: شكرا وجزاك الله كل خير العفو ومارايك لو نكمل لكي يكون العمل عملي اكثر لو حبيت اعرض الموضوع ؟ ولو كان هناك اكثر من موضوع بنفس الوقت ؟ اريد محاولتك استاذ سعيد فنحن كلنا نتعلم من بعض ! بالتوفيق
سعيد صواب قام بنشر مارس 18, 2016 الكاتب قام بنشر مارس 18, 2016 (معدل) حياك الله استاذ رمهان وزادك الله تواضع وعلما لي الشرف ان اتناقش مع شخص بمقامك استاذ رمهان .. ولكن في الحقيقة الفكرة لم ارسمها بشكل كامل .. ولو ان لب الفكرة هو هذا النموذج .. === ولكن مبدئيا وكل شئ ممكن يتغير عند العمل الفعلي الفكرة تتلخص في التالي عند عرض التنبية يكون هناك بيانات التنبية كاملة .... موضوع التنبية ومحتوياته ... ومربع نص .. يتم فيه ادخال بيانات رسالة يكتبها المستخدم ... ترسل بالإيميل وبرسالة نصية كذلك .. عند الحاجه ===== بالنسبة لموضوع لو كان هناك اكثر من تنبيه في نفس اللحظة .. او كان هناك تنبيهات لم يطلع عليها المستخدم فكرتي هي وضع مربعي نص ك عدادات في نموذج تنبيه ... احدهما للتنبيهات الفائته عند الضغط عليه يفتح استعلام بهذا الخصوص وكذلك نفس الفكرة بالتنبيهات الحالية .. ====== واكرر شكري لك استاذ رمهان وللأستاذ ابوخليل على تعاونكم .. حينما اقوم بعمل هذه الأشياء سأعرضها هنا بإذن الله. عطيتوني وجه اليومين هذي وانا صدقت .. شكرا مرة اخرى تم تعديل مارس 18, 2016 بواسطه سعيد صواب
رمهان قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 العفو استاذ سعيد وانا اسحب طلبي فلك حرية وقتك ! واعتقد فكرتك هي برنامج بحد ذاته وتحتاج لوقت كبير ! ادعو لك بالتوفيق يغلق هذا الموضوع 1
سعيد صواب قام بنشر مارس 18, 2016 الكاتب قام بنشر مارس 18, 2016 حزاك الله خير استاذ رمهان الله يوفقنا واياكم جميعا لما يحب ويرضى وان يعم الأمن والسلام جميع الأقطار العربية والأسلامية . 1
محمد سلامة قام بنشر مارس 18, 2016 قام بنشر مارس 18, 2016 (معدل) السلام عليكم.. وتحياتي للجميع انا استخدم كود شبيه بذلك في برنامج صممته للتنبيه بورود رسائل داخليه بين المستخدمين علي الشبكة المحلية.. ولكن استبدالت عند ورود رسائل بدل مايفتح نموذج يقوم بتنبيه.. استبدلته بي مربع نص به عدد الرسائل الواردة وصورة تنبيه واتحكم بهم سواء باخفاءهم او اظهارهم عند ورود اي رسائل تم تعديل مارس 18, 2016 بواسطه محمد سلامة 1
سعيد صواب قام بنشر مارس 18, 2016 الكاتب قام بنشر مارس 18, 2016 جزاك الله خير استاذ محمد اي كود تقصد شكرا 1
محمد سلامة قام بنشر مارس 20, 2016 قام بنشر مارس 20, 2016 في ١٨/٣/٢٠١٦ at 00:04, سعيد صواب said: جزاك الله خير استاذ محمد اي كود تقصد شكرا هذا الكود الذى اقصده اخى سعيد تحياتى لك Private Sub Form_Timer() On Error Resume Next Dim I As Integer With MyUser I = Nz(DLookup("[ID_wd]", "tbl_wared_d", "[ReadYn] = false and [UserRecv]='" & .UserName & "'"), 0) If I <> 0 Then Me.new_msg = DCount("[ID_wd]", "[tbl_wared_d]", "[ReadYn] = false AND [UserRecv]='" & .UserName & "'") Me.new_msg.Visible = True Else Me.new_msg.Visible = False End If End With وهذا ايضا Private Sub Form_Open(Cancel As Integer) On Error Resume Next Dim intStore As Integer intStore = DCount("[id_m]", "[tbl_motaba]", "[Date_End] <=Date() AND [Check1] =0 ") If intStore = 0 Then Exit Sub Else If MsgBox(" áÏíÜÜÜÜß ÚÜÜÜÏÏ " & intStore & " ãÚÜÜÜÇãáÜÜÜÜÉ " & _ " ÇäÊåÊ ãÏÉ ÇäÌÇÒåÇ ÜÜ Úáíß ãÊÇÈÚÊåã " & vbCrLf & vbCrLf & _ " " & _ "åá ÊÜÜÜæÏ ÑÄíÊåÜÜÜÜã ÇáÂä ¿ " & _ " ", vbYesNo Or vbExclamation Or vbDefaultButton1, _ "ÊäÈíå ÈÇäÊåÇÁ ÇáãÚÇãÜÜÜÜáÇÊ") = vbYes Then DoCmd.OpenForm "frm_search_motaba" Else DoCmd.close acForm, "frm_search_motaba", acSaveYes Exit Sub End If End If End Sub تحياتى لك
ابوخليل قام بنشر مارس 20, 2016 قام بنشر مارس 20, 2016 وما دمنا نعمل ضمن النموذج هذا كود يقوم بالبحث والمقارنة Dim i i = Time() mish_time.SetFocus DoCmd.FindRecord i, acEntire, False, acSearchAll, False, acCurrent, True If i = mish_time Then DoCmd.OpenForm "alarm" End If 1
سعيد صواب قام بنشر مارس 20, 2016 الكاتب قام بنشر مارس 20, 2016 حل مختلف ... جزاك الله خير استاذ ابو خليل
jjafferr قام بنشر مارس 20, 2016 قام بنشر مارس 20, 2016 السلام عليكم انا على سفر ، وبعيد عن الكمبيوتر ، لهذا السبب انا بعيدا عن المنتدى عندي ملاحظة واحدة فقط ، وبحسب خبرتي في هذا الموضوع: الكمبيوتر يعطي أولوية تنفيذ أوامر CPU إلى برامج الوندوز ، ثم البرامج الاخرى ، مما قد يُؤخر تنفيذ أوامر برنامج الاكسس ثانية او اثنين ، إذًا ، عند تنفيذ الأمر التالي او أمر مثله: If rs!mish_time = Time() Then قد يكون CPU الكمبيوتر مشغولا ، وعند تنفيذ الامر ، الوقت لن يكون مطابقاً ، لأننا نقارن الوقت بالثواني ، وحينها ، فالمعادلة لن تُنفّذ !! لذلك ، ولتفادي هذه المشكلة ، اجعل مقارنة الوقت: إما بالساعة والدقيقة وبدون ثواني ، وإما اجعل المقارنة ">=" بدل "=" ، او شئ من هذا القبيل ، وإلا ، فقد يفوتك موعد ولن تعرف لماذا جعفر 2
ابو جودي قام بنشر مارس 20, 2016 قام بنشر مارس 20, 2016 الان, jjafferr said: السلام عليكم انا على سفر ، وبعيد عن الكمبيوتر ، لهذا السبب انا بعيدا عن المنتدى عندي ملاحظة واحدة فقط ، وبحسب خبرتي في هذا الموضوع: الكمبيوتر يعطي أولوية تنفيذ أوامر CPU إلى برامج الوندوز ، ثم البرامج الاخرى ، مما قد يُؤخر تنفيذ أوامر برنامج الاكسس ثانية او اثنين ، إذًا ، عند تنفيذ الأمر التالي او أمر مثله: If rs!mish_time = Time() Then قد يكون CPU الكمبيوتر مشغولا ، وعند تنفيذ الامر ، الوقت لن يكون مطابقاً ، لأننا نقارن الوقت بالثواني ، وحينها ، فالمعادلة لن تُنفّذ !! لذلك ، ولتفادي هذه المشكلة ، اجعل مقارنة الوقت: إما بالساعة والدقيقة وبدون ثواني ، وإما اجعل المقارنة ">=" بدل "=" ، او شئ من هذا القبيل ، وإلا ، فقد يفوتك موعد ولن تعرف لماذا جعفر أسأل الله أن يجعل سفرك سفر بر وتقوى وأن يرزقك من العمل ما يرضى اسأل الله أن يهون عليك سفرك هذا وأن يردّك سالماً غانماً وفقك الله لكلّ خير وبارك فيك
سعيد صواب قام بنشر مارس 20, 2016 الكاتب قام بنشر مارس 20, 2016 جزاك الله خير استاذ جعفر الله يردك سالم غانم
رمهان قام بنشر مارس 20, 2016 قام بنشر مارس 20, 2016 ماشاء الله ! الموضوع مغلق ياشباب !!!!! انا اعارض دائما على غلق المواضيع ! تخيلو لو تم اغلاق الموضوع فعليا وبتوفر شرط ان صاحب الموضوع وجد مايريد مقدما الشكر ! هل سنحصل على هذه الفائدة ؟؟ اخي جعفر لم تفوت علي ملاحظتك وبعيد عن التاخر في المعالج لاحظ انا قلت في 3/18/2016 at 18:58, رمهان said: 4. لو كان هناك موضوعين بنفس الوقت هل كودك السابق سيظهر النموذج مرتين ؟ اعتقد انك لم تجرب الكود عمليا !! تحياتي وبما انكم واصلتو النقاش ! اتمنى اتحافنا بحل للنقطة السابقة وبظهور التنبيه على شكل msgbox وبها موضوع التنبيه ! تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.