اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

حسب الوقت المتوقع للحضورفي موعد معين


الردود الموصى بها

السلام عليكم ايها الاخوة ورحمة الله وبركاتة 

اتمنى ان تكونو بالف خير وصحه وسلامة

لدي قاعدة بيانات عيادة طبية تحتوي على قائمة للمرضى المسجلين في العيادة لغرض الكشف 

المطلوب حساب وقت الحضور المتوقع لكل شخص لكي يحضر في الموعد او الوقت المخصص له (لغرض تقليل الازدحام في الوقت الراهن لتجنب العدوى من الوباء(كورونا) المنتشر)

الحقول في الجدول (رقم الكشف_رقم المريض _ تاريخ _ وقت التسجيل _ (واحاول اضيف حقل جديد اسمه "وقت الحضور")

اتمنى اسمع منك سريعا حتى ولو فكرة 

ولكم خالص التحية والدعاء

رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته

7 ساعات مضت, عزالدين المنصوري said:

اتمنى اسمع منك سريعا حتى ولو فكرة 

الفكرة انت وضعهتا فعلا

7 ساعات مضت, عزالدين المنصوري said:

الحقول في الجدول (رقم الكشف_رقم المريض _ تاريخ _ وقت التسجيل _ (واحاول اضيف حقل جديد اسمه "وقت الحضور")

باقي ان تحسب الوقت المتوقع لكل كشف من الدكتور مثلا 10 دقائق ووقت حضور الدكتور

مثلا وقت حضور الدكتور الساعة 1:00pm

اذن كل كشف نضيف له 10 دقائق من وقت حضور الدكتور

ويمكن ان نطلب منه الحضور قبل الموعد بنصف ساعة  مثلا لان الدكتور لن يلتزم بوقت 10 دقائق لكل كشف ( زيادة او نقص )

تحياتي

 

  • Like 2
رابط هذا التعليق
شارك

منذ ساعه, محمد أبوعبدالله said:

وعليكم السلام ورحمة الله وبركاته

الفكرة انت وضعهتا فعلا

باقي ان تحسب الوقت المتوقع لكل كشف من الدكتور مثلا 10 دقائق ووقت حضور الدكتور

مثلا وقت حضور الدكتور الساعة 1:00pm

اذن كل كشف نضيف له 10 دقائق من وقت حضور الدكتور

ويمكن ان نطلب منه الحضور قبل الموعد بنصف ساعة  مثلا لان الدكتور لن يلتزم بوقت 10 دقائق لكل كشف ( زيادة او نقص )

تحياتي

 

احسنت استاذ جزاك الله الف خير 

نعم انا مشيت بهذا الطريق ووصلت الى نقطة او نتيجة غير ناجحة لكوني ليست مبرمج بارع 

حيث عملت عداد او دالة for كما في الكود (لغرض اضافة خمس دقائق لكل كشف )

 

Dim mm As Date
("رقم الحركة","*")For i = 1 To DCount
(()mm] = DateAdd("n", 5, Now]
Next i

mm : هي حقل الوقت المتوقع 

حاولت اضيف خمس دقائق لكل كشف او حركة 

وضعت هذا الكود في حدث عند الفتح لنموذج القائمة الذي مصدر بياناته هو جدول الكشف الذي يحتوي على كل الحركات او الكشوفات 

النتيجة بقي الحقل mm فارغ ولم تضاف له اي قيمة

 

اتمنى مساعدتكم لكتابة الكود الاصح ووضعه في المكان الصح ايضا 

الف تحية لكم جميعا 

 

رابط هذا التعليق
شارك

تفضل اخي الكريم

تم اضافة متغيير يزيد 5 كل مرة

 

    Dim X As Integer
    X = 0
    For i = 1 To DCount("*", "Table4")
        X = X + 5
        Me.MM = DateAdd("n", X, Now())
        DoCmd.GoToRecord , , acNext
    Next

 

  • Like 2
رابط هذا التعليق
شارك

8 ساعات مضت, محمد أبوعبدالله said:

تفضل اخي الكريم

تم اضافة متغيير يزيد 5 كل مرة

 


    Dim X As Integer
    X = 0
    For i = 1 To DCount("*", "Table4")
        X = X + 5
        Me.MM = DateAdd("n", X, Now())
        DoCmd.GoToRecord , , acNext
    Next

 

السلام عليكم استاذ 

الله يبارك فيكم ويحرسكم من كل شر وجزاك الله الف خير

استاذ انا نفذت الكود وحصل رسالة خطأ نصها يقول (لايمكن تخصيص قيمة لهذا الكائن ورقم الخطأ 80020009)

ولما اضغط على debug يفتح محرر اكواد الفيجول على سطر  

 (()Me.mm = DateAdd("n", 5, Now

ملاحظة : انا وضعت في العداد اسم الجدول الذي يحتوي السجلات المطلوب العمل عليها + كذلك وضعت الكود في حدث عند الفتح 

 

اشكرك جدا لمتابعتك واهتمامك استاذ محمد ابو عبدالله 

رابط هذا التعليق
شارك

مشاركه مع اخى واستاذى @محمد أبوعبدالله جزاه الله خيرا

ع حسب فهمى انت محتاج اخر وقت قمت باضافته لاضافه 5 دقائق عليه فاستخدم Dlast

بالتوفيق

 

  • Like 1
رابط هذا التعليق
شارك

2 ساعات مضت, الفلاحجى said:

مشاركه مع اخى واستاذى @محمد أبوعبدالله جزاه الله خيرا

ع حسب فهمى انت محتاج اخر وقت قمت باضافته لاضافه 5 دقائق عليه فاستخدم Dlast

بالتوفيق

 

اشكرك جدا استاذ على المتابعة وابداء النصيحة والدعم

ولكن هل تقصد استبدال الكود بالكامل مع دالة Dlast

ام فقط تعديل الكود 

 

تحياتي ودعائي لكم 

رابط هذا التعليق
شارك

6 ساعات مضت, الفلاحجى said:

اخى @عزالدين المنصوري

ممكن مثال مصغر لما لديك للتعديل من قبل اخوانك واساتذتنا

بالتوفيق

السلام عليكم استاذ 

 

هذا هو المثال اللي طلبتة 

اتمنى ان اكون ماثقلت عليكم 

 

تحياتي 

حساب الوقت.rar

رابط هذا التعليق
شارك

وعليكم السلام

اتفضل انشاء الله يكون ما تريد

فى نموذج الكشف وبعد اختيار نوع الكشف ستجد تم اضافه 5 دقائق ع وقت الحضور

بالتوفيق

حساب الوقت(1).rar

  • Like 1
رابط هذا التعليق
شارك

في ١٧‏/٨‏/٢٠٢٠ at 19:48, الفلاحجى said:

وعليكم السلام

اتفضل انشاء الله يكون ما تريد

فى نموذج الكشف وبعد اختيار نوع الكشف ستجد تم اضافه 5 دقائق ع وقت الحضور

بالتوفيق

حساب الوقت(1).rar 60.74 kB · 6 تنزيلات

الف تحية وسلام لك ايها الاستاذ الفاضل 

انا ممنون منك على الشغل الجميل والجهد المميز 

 

استاذ في ملاحظات 

1- وقت حضور الدكتور انت وضعتة افتراضي الساعه 7pm لكن الدكتور ايضا يعمل عند الصباح يوم الجمعة بالتالي نحتاج نجعل الحقل اوتوماتيك يأخذ الوقت في لحظة فتح النموذج بالتالي فان الدالة عندما تبحث على اخر قيمة دخلت لجدول الكشف ستجدها نفسها لحظة فتح النموذج وتضيف عليها .

2- وضعت هذا الكود Id ولما بحثت في الجدول وفي النموذج لم اعثر على حقل او مربع نص بهذا العنوان فماذا يمثل هذا الحقل 

3- ممكن تشرح الشرطين في دالة Dlast وهما  (

 "#" & تاريخ.Me   &   ," [تاريخ]=#"

ولكم مني خالص الشكر والدعاء 

رابط هذا التعليق
شارك

العفو اخى والشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا

اتفضل التعديل ان شاء الله يكون كما طلبت

سيتم احتساب الوقت عند فتح النموذج وتسجيل المواعيد واضافه 5 دقائق

تم استخدام متغير عام على مستوى النموذج من نوع تاريخ

Dim nowLogin As Date

ثم فى حدث عند التحميل وضعت الكود

Private Sub Form_Load()
nowLogin = Format(Now(), "Medium Time")
End Sub

ثم فى حدث بعد التحديث لحالة الكشف

Private Sub حالة_الكشف_AfterUpdate()
'nowLogin متغير
' ld متغير
Dim ld

ld = DLast("[وقت الحضور]", "[الكشف]", "[تاريخ]=#" & Me.تاريخ & "#")
If IsNull(ld) Then
    Me.[وقت الحضور] = DateAdd("n", 5, nowLogin)
Else
        Me.[وقت الحضور] = DateAdd("n", 5, ld)
End If

End Sub

بالنسبه ل ld فهو متغير ويمكنك الاستغناء عنه

بالنسبه للشروط فهو شرط 1 التاريخ = التاريخ

ان شا الله اكون وفقت لشرح ما تريد

بالتوفيق اخى

حساب الوقت_1.accdb

  • Like 1
رابط هذا التعليق
شارك

15 ساعات مضت, الفلاحجى said:

العفو اخى والشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا

اتفضل التعديل ان شاء الله يكون كما طلبت

سيتم احتساب الوقت عند فتح النموذج وتسجيل المواعيد واضافه 5 دقائق

تم استخدام متغير عام على مستوى النموذج من نوع تاريخ


Dim nowLogin As Date

ثم فى حدث عند التحميل وضعت الكود


Private Sub Form_Load()
nowLogin = Format(Now(), "Medium Time")
End Sub

ثم فى حدث بعد التحديث لحالة الكشف


Private Sub حالة_الكشف_AfterUpdate()
'nowLogin متغير
' ld متغير
Dim ld

ld = DLast("[وقت الحضور]", "[الكشف]", "[تاريخ]=#" & Me.تاريخ & "#")
If IsNull(ld) Then
    Me.[وقت الحضور] = DateAdd("n", 5, nowLogin)
Else
        Me.[وقت الحضور] = DateAdd("n", 5, ld)
End If

End Sub

بالنسبه ل ld فهو متغير ويمكنك الاستغناء عنه

بالنسبه للشروط فهو شرط 1 التاريخ = التاريخ

ان شا الله اكون وفقت لشرح ما تريد

بالتوفيق اخى

حساب الوقت_1.accdb 892 kB · 0 تنزيلات

عاشت عاشت الأيادي 

الله يوفقك ويحفظك 

عمل مميز 

انا ممنون منك والله يكثر من امثالك 

#اوفيسنا_كنزنا

 

رابط هذا التعليق
شارك

صباح الخير والبركة 

الأخ @الفلاحجى تحية طيبة لك 

عندما جربت الكود كانت النتيجة رائعة جدا 

لكن في اليوم التالي فتحت البرنامج وجربته ايضا" فواجهنا تحدي اخر يبدو انه صعب 

وهو ان الكود يبحث في جدول الكشف عن اخر اعلى قيمة ويضيف لها خمس دقائق لكن بما انه يوم جديد فلا توجد قيمة جديدة غير التي خزنت بالامس فيقوم بالاضافة او بالبدء من منتصف الليل اي بعد الساعه 12 ليلا" لذلك نحتاج خزن قيمة الوقت الحالي قبل البدء باضافة كشف جديد او محاولة اضافة الوقت الحالي مع اول كشف دون اختيار اعلى قيمة من جدول الكشف (ممكن توقف عمل الكود فقط في اول كشف ثم يبدء العمل في الثاني واللي بعده ) لانه مش ممكن اضافة الوقت لوحده في جدول الكشف بدون اضافة سجل لمريض , او نضطر لانشاء جدول جديد للوقت يسمح لنا باضافة وقت جديد واختيار اعلى قيمة بعدها .

ملاحظة : وضعت الكود تحت منسدلة رقم المريض لانه تحدث في كل سجل بينما منسدلة الحالة انا وضعتها قيمة افتراضية لاتتحدث في كل مرة .

 

اتمنى ان تكون الفكرة قد وصلت بشكل واضح 

 

ممنون منك للمتابعة والمساعدة 

رابط هذا التعليق
شارك

وعليكم السلام اخى @عزالدين المنصوري

اعتذر عن التاخير فالرد

بالنسبه لتخزين الوقت فهذا يتم فعلا عند فتح النموذج فالمتغير nowLogin

اتفضل شوف التعديل وان شاء الله يشاركنا اخواننا واساتذتنا جزاهم الله خيرا

بالتوفيق

حساب الوقت_2.accdb

  • Like 1
رابط هذا التعليق
شارك

  • 2 weeks later...
في ٢٢‏/٨‏/٢٠٢٠ at 11:38, الفلاحجى said:

وعليكم السلام اخى @عزالدين المنصوري

اعتذر عن التاخير فالرد

بالنسبه لتخزين الوقت فهذا يتم فعلا عند فتح النموذج فالمتغير nowLogin

اتفضل شوف التعديل وان شاء الله يشاركنا اخواننا واساتذتنا جزاهم الله خيرا

بالتوفيق

حساب الوقت_2.accdb 756 kB · 3 تنزيلات

السلام عليكم ايها العزيز 

تحية لك من القلب 

عاشت يمينك على الشغل الجميل والمساعدة الراقية 

جربت الكود وكان ناجح 100% 

 

الف تحية ودعاء لك بالحفظ والتوفيق 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information