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

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

قام بنشر

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


Private Sub الاحد1_BeforeUpdate(Cancel As Integer)
txtc = DLookup("[الاحد1]", "Teacher Class", "[الاحد1]='" & Me!الاحد1 & "'")
txtc2 = DLookup("[الاحد-مادة1]", "Teacher Class", "[الاحد1]='" & Me!الاحد1 & "'")
txtc3 = DLookup("[NAMEe]", "Teacher Class", "[الاحد1]='" & Me!الاحد1 & "'")

If txtc > 0 Then
        Beep
        MsgBox "...هذا الفصل " & الاحد1 & "..لديه مادة.." & vbCrLf & "  باسم : " & txtc2 & vbCrLf & "  للمدرس : " & txtc3, vbCritical + vbMsgBoxRight, "تنبيه"

End If
End Sub

قام بنشر

وعليكم السلام اخوي حمدي:smile:

 

ادخل في اكواد VBA عن طريق: Ctrl+G  او Alt+F11 ، ثم :

1. اضغط على F1 من الكيبورد ، بيظهر لك مساعد الاكسس:

2. اكتب msgbox للبحث عن هذا الامر ،

3. ستجد شرح كامل عن جميع مكونات هذا الامر ، والاوامر التي تستطيع استعمالها فيه ،

4. بالاضافة الى وجود مثال جاهز تستطيع ان تأخذ نسخه منه ، وتغيره حسب حاجتك

942.Clipboard01.jpg.969546c9d7decc3d81923c1e5a5dc2be.jpg

 

جعفر

 

 

  • Like 1
  • Thanks 1
قام بنشر

تفضل:smile:

 

كودك كان سطر واحد ، فمن الصعب معرفة تفاصيله وتغييره ، ولكن لما تفكه الى عدة اسطر ، تستطيع تغييره بسهولة:

MsgBox "...هذا الفصل " & الاحد1 & "..لديه مادة.." & vbCrLf & _
           "  باسم : " & txtc2 & vbCrLf & _
           "  للمدرس : " & txtc3, _
           vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه"

.

ولكن هذا الكود يعطيك زر نعم/لا ، ولا فائدة منه بدون ان يعرف البرنامج ماذا يعمل ، اذا نقر المستخدم على الزر نعم او لا !!

 

جعفر

  • Thanks 1
قام بنشر

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

قام بنشر

اتفضل استاذ خالد
تلاقى استاذ ياسر فى الحصة الاولى يوم الاحد فصل 1/1ب انتقل الى استاذة عبير يوم الاحد الحصة الاولى وبدل الفصل بدل ماهو 2/1ب خليه 1/1ب وشوف ماذا يحدث سوف تطلع رسالة تفيد لان هذا الفصل لدى استاذ ياسر الحصة الاولى ولكى يكتمل العمل اريد ان الرسالة تقول هل تريد التراجع ام تريد الحفظ لك تحياتى وفى انتظار استاذ جعفر لتفعيل الرسالة اعانه الله علينا

جدول الحصص.rar

قام بنشر (معدل)

 استاذ خالد
بالظبط للادخال اليدوى او لبعض التعديلات الخفيفة بعد التوزيع الالى
ويجب ان يكون  البرنامج متاح يدويا واليا ليسهل على المستخدم التعامل معه لك تحياتى
 

تم تعديل بواسطه حمدى الظابط
قام بنشر

حتى لا تتعب نفسك عشان تعمل إدخال يدوى لازم يكون معاك جدول ورقى يعنى تكون عامل الجدول وموزعه بالطريقه القديمه وتنقل منه الحصص فى البرنامج بعد ما تكون شوفت التضارب زى المعتاد تمام  طيب ما أنا عامل نموذج بالسحب والإفلات للإدخال اليدوى غير السحب والإفلات اللى فى نموذج انتداب لسه منزلش مع البرنامج قلت انتظر لما نشوف حد يعدل الوحدة النمطيه بتاعة التوزيع الآلى ثم نرفق معاه نموذج إدخال الجدول يدويا

قام بنشر
11 ساعات مضت, حمدى الظابط said:

اريد عتد الضغط على زر نعم تأكيد الحفظ وعند الضغط على زر لا يتم التراجع عن الحفظ

تفضل:smile:



if MsgBox "...هذا الفصل " & الاحد1 & "..لديه مادة.." & vbCrLf & _
           "  باسم : " & txtc2 & vbCrLf & _
           "  للمدرس : " & txtc3, _
           vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه" = vbno then
cancel=true
end if

 

جعفر

قام بنشر

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

 

جدول الحصص.rar

قام بنشر
If txtc > 0 Then
        Beep
        If MsgBox("...هذا الفصل " & الاحد1 & "..لديه مادة.." & vbCrLf & _
           "  باسم : " & txtc2 & vbCrLf & _
           "  للمدرس : " & txtc3, _
           vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه") = vbNo Then
           Cancel = True
         End If
End If

 

قام بنشر

استاذى القدير جعفر
عند التجربة وجد ان نعم او لا بيحفظ الحقل كلاهما سواء وعند الضعط على لا يظل يعطى نفس الرسالة ولم يخرج من السجل الا اذا قولت نعم
ولا اعلم من اين هذا الخلل واريد فى حالة لا يرجع الحقل خالى من اى بيانات وعند نعم يحفظ البيانات لك تحياتى واعتذر لتعبك 

 

قام بنشر

السلام عليكم اخوي حمدي:smile:

 

انا مسافر ، فما قدرت انظر في المنتدى الا الآن:blink:

 

في الواقع انا لم اغير في المعادلة اللي انت كنت عاملها، ولكني عملتها بطريقة اخرى ، وبنفس نتائج معادلتك!!

صحيح ما كانت تظهر لك رسالة الخطأ ، ولكن النتيجة هي هي!!

انت تقول في الكود:

اذا "1/1ب" > 0   (مثلا)

وطبعا ما ممكن ان تقارن حقل نصي بهذه الهيئة مع الصفر ، فتظهر لك رسالة الخطأ !!

 

هنا انا طلبت من الكود عدم استخدام هذا السطر ، فجربه:

Function chk_BeforeUpdate(Cancel As Integer)

    Dim ctl As Control
    Dim rst As DAO.Recordset
    Dim dbs As DAO.Database
    Dim fName As String: Dim myCriteria As String
    Dim A0 As String: Dim A1 As String: Dim A2 As String
    
    Set ctl = Me.ActiveControl
    
    fName = "[" & Mid(ctl.Name, 1, Len(ctl.Name) - 1) & "-مادة" & Right(ctl.Name, 1) & "]"  '[الاثنين-مادة1]
    myCriteria = "[" & ctl.Name & "]=" & Chr(39) & ctl.Value & Chr(39)
    
    'A0 = DLookup(ctl.Name, "Teacher Class", myCriteria)
    'A1 = DLookup(fName, "Teacher Class", myCriteria)
    'A2 = DLookup("[NAMEe]", "Teacher Class", myCriteria)
    
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Select * From [Teacher Class] Where " & myCriteria)
    A0 = rst(ctl.Name)
    A1 = rst(fName)
    A2 = rst!namee

'    If A0 > 0 Then
        Beep
        If MsgBox("...هذا الفصل " & ctl.Name & "..لديه مادة.." & vbCrLf & _
           "  باسم : " & A1 & vbCrLf & _
           "  للمدرس : " & A2, _
           vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه") = vbNo Then
           ctl.Value = ""
        End If
 '   End If

    rst.Close: Set rst = Nothing: dbs.Close
    
End Function

 

جعفر

قام بنشر (معدل)

حمدلله على السلام استاذ جعفر
بعد التجربة وعند الضغط على .... لا .... تظهر رسالة تقول يؤدى تعين الدالة او الماكرو التحقق من الصحة لهذا الحقل الى منع حفظ البيانات
اعتذر لتعبك واشكرك لتعاوتك ولك تحياتى

 

تم تعديل بواسطه حمدى الظابط
قام بنشر

تفضل:smile:

Function chk_BeforeUpdate(Cancel As Integer)
On Error GoTo err_chk_BeforeUpdate

    Dim ctl As Control
    Dim rst As DAO.Recordset
    Dim dbs As DAO.Database
    Dim fName As String: Dim myCriteria As String
    Dim A0 As String: Dim A1 As String: Dim A2 As String
    
    Set ctl = Me.ActiveControl
    
    fName = "[" & Mid(ctl.Name, 1, Len(ctl.Name) - 1) & "-مادة" & Right(ctl.Name, 1) & "]"  '[الاثنين-مادة1]
    myCriteria = "[" & ctl.Name & "]=" & Chr(39) & ctl.Value & Chr(39)
    
    'A0 = DLookup(ctl.Name, "Teacher Class", myCriteria)
    'A1 = DLookup(fName, "Teacher Class", myCriteria)
    'A2 = DLookup("[NAMEe]", "Teacher Class", myCriteria)
    
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Select * From [Teacher Class] Where " & myCriteria)
    A0 = rst(ctl.Name)
    A1 = rst(fName)
    A2 = rst!namee

'    If A0 > 0 Then
        Beep
        If MsgBox("...هذا الفصل " & ctl.Name & "..لديه مادة.." & vbCrLf & _
           "  باسم : " & A1 & vbCrLf & _
           "  للمدرس : " & A2, _
           vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه") = vbNo Then
           Me.Undo
           Cancel = True
        End If
'    End If

Exit_chk_BeforeUpdate:
    rst.Close: Set rst = Nothing: dbs.Close
    
Exit Function
err_chk_BeforeUpdate:

    If err.Number = 3021 Then
        Resume Next
    Else
        MsgBox err.Number & vbCrLf & err.Description
    End If
    
    
End Function

 

جعفر

  • Thanks 1
قام بنشر (معدل)

استاذى الذى لا يمل حتى يجد حل
اولا اشكرك على هذا الكود الجميل المختصر الذى وفر الكثير من الاكواد والجهد
ثانيا بعد التجربة وجد الاتى
اولا تظهر رسال تقول لا يتم العثور على العنصر فى هذه المجموعة
مثال  فى يوم الاحد الحصة الاولى فصل 1/1ب متضاربة بين استاذة نادية لغة عربية واستاذ ياسر مادة الدراسات اثناء ما اذهب الى استاذة نادية تخرج الرسالة السابقة
اريد عند اختيار الفصل 1/1ب على الفور بعد الخروج من الحقل تظهر الرسالة التى تفيد ان هذا الفصل لدية حصة لدى استاذ فلان
ثالثا بعد وضع الكود الخاص بحضرتك وعند السحب والافلات تظهر رسالة تقول ان هناك معاملات قليلة جدا المتوقع هو ا
واترك لحضرتك الملف للتعديل عليه واشكرك على تعبك واعتذر اذا كنت ضايقتك او تقليت عليك ولك كل التقدير والاحترام

 

جدول الحصص.rar

تم تعديل بواسطه حمدى الظابط

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