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

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

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

السلام عليكم اخواتى الافاضل 

هذا الكود من ابدا ع @د.كاف يار له كل الشكر والاحترام وخالص الدعاء وهذا حقه واقل من حقه احتاج تعديل فيه 

برجاء التكرم بتعديل الكود باضافة العمود YEAR فى الكود  فى Dcount هنا 

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

انا حاولت بس يخرج الكود رسالة خطأ

If Nz(DCount("[iPage]", "tbl_Items", "[YEAR] Like '" & YEAR, "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

ليكون اذا تكرر الحساب يخرج رسالة انه تم اختيار الحساب مسبقا

هذا الكود يعمل بس على كل البيانات  احتاج اضافة السنة المالية الى الكود والسنة المالية هى YEAR ليتم التحديد بالرقم iBill_Number والسنة المالية YEAR

Private Sub iPage_AfterUpdate()
On Error Resume Next

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then
MsgBox "فشل الاختيار" & vbNewLine & "تم ادخال هذا الحساب مسبقا", vbCritical + vbMsgBoxRight, "تنبيه"
Me.iPage.SetFocus
Exit Sub
Else
DoCmd.GoToRecord , , acNewRec
Me.iName.SetFocus

End If

End Sub

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

احترامى الشديد لحضراتكم

تم تعديل بواسطه abouelhassan
قام بنشر (معدل)

اعتقد لديك مشكلة بأضافة الفارزة بعد year

هذا كود د كاف يار

If Nz(DCount("[iPage]", "tbl_Items", "[YEAR] Like '" & YEAR & "' AND [iPage]=" & iPage), 0) <> 0 Then

 

تم تعديل بواسطه Eng.Qassim
  • Like 1
قام بنشر (معدل)

بارك الله فيك استاذى الحبيب Eng.Qassim

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

والكود كده هيكون ناقص 

الكود الاصلى به iBill_Number اريد اضافة YEAR له

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

و الكود تعديل حضرتك

  

32 دقائق مضت, Eng.Qassim said:
If Nz(DCount("[iPage]", "tbl_Items", "[YEAR] Like '" & YEAR & "' AND [iPage]=" & iPage), 0) <> 0 Then

 

اشكرك استاذى بارك الله فيك اخى

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

بصراحة لم اطلع على الملف انما ركزت فقط على الفارزة .. ربما يكون الكود هكذا وارجو ان يطلع عليه د كاف

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [year]=" & #year#), 0) <> 0 Then

 

  • Like 1
قام بنشر

بارك الله فيك استاذى  Eng.Qassim نفس المشكلة

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

احترام من اخيك

قام بنشر
17 ساعات مضت, abouelhassan said:

السلام عليكم اخواتى الافاضل 

هذا الكود من ابدا ع @د.كاف يار له كل الشكر والاحترام وخالص الدعاء وهذا حقه واقل من حقه احتاج تعديل فيه 

برجاء التكرم بتعديل الكود باضافة العمود YEAR فى الكود  فى Dcount هنا 

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

انا حاولت بس يخرج الكود رسالة خطأ

If Nz(DCount("[iPage]", "tbl_Items", "[YEAR] Like '" & YEAR, "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

ليكون اذا تكرر الحساب يخرج رسالة انه تم اختيار الحساب مسبقا

هذا الكود يعمل بس على كل البيانات  احتاج اضافة السنة المالية الى الكود والسنة المالية هى YEAR ليتم التحديد بالرقم iBill_Number والسنة المالية YEAR

Private Sub iPage_AfterUpdate()
On Error Resume Next

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then
MsgBox "فشل الاختيار" & vbNewLine & "تم ادخال هذا الحساب مسبقا", vbCritical + vbMsgBoxRight, "تنبيه"
Me.iPage.SetFocus
Exit Sub
Else
DoCmd.GoToRecord , , acNewRec
Me.iName.SetFocus

End If

End Sub

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

احترامى الشديد لحضراتكم

شغلك صحيح بس فيه خطأ بسيط حقل السنة رقمي

If Nz(DCount("[iPage]", "tbl_Items", "[YEAR] = " & [YEAR] &  "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

 

  • Like 1
قام بنشر (معدل)
9 ساعات مضت, د.كاف يار said:

شغلك صحيح بس فيه خطأ بسيط حقل السنة رقمي

If Nz(DCount("[iPage]", "tbl_Items", "[YEAR] = " & [YEAR] &  "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

 

استاذى الحبيب @د.كاف يار

الكود يبحث داخل الجدول الرئيسى ويخرج الرسالة اذا كان الحساب متكرر بدلالة الرقم والسنة المالية

Private Sub iPage_AfterUpdate()
On Error Resume Next

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then
MsgBox "فشل الاختيار" & vbNewLine & "تم ادخال هذا الحساب مسبقا", vbCritical + vbMsgBoxRight, "تنبيه"
Me.iPage.SetFocus
Exit Sub
Else
DoCmd.GoToRecord , , acNewRec
Me.iName.SetFocus

End If

End Sub

بس سبب لى مشاكل باستمرار الان تخرج لى رسالة الحساب مكرر حتى لو مش مكرر فى الفورم فبالبحث داخل جدول البيانات يصدف تكرار الحساب

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

1.png.3c97b6c7e6404a2ebbd0f6e874567635.png

احترامى الشديد وخالص دعائى لشخصك الكريم جدا اخى

 

DATA14-1.mdb

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

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

بالتغير الى

If Nz(DCount("[iPage]", "frm_Items_Entry")) <> 0 Then
Private Sub iPage_AfterUpdate()
On Error Resume Next

If Nz(DCount("[iPage]", "frm_Items_Entry")) <> 0 Then
MsgBox "فشل الاختيار" & vbNewLine & "تم ادخال هذا الحساب مسبقا", vbCritical + vbMsgBoxRight, "تنبيه"
Me.iPage.SetFocus
Exit Sub
Else
DoCmd.GoToRecord , , acNewRec
Me.iName.SetFocus

End If

End Sub

 

احترامى الشديد

قام بنشر

اتفضل يابوالحسن 



If DCount("*", "tbl_Items", "iBill_Number Like '" & Main_iBill_Number & "' AND iPage=" & iPage) <> 0 Then
    MsgBox "فشل الاختيار" & vbNewLine & "تم ادخال هذا الحساب مسبقا", vbCritical + vbMsgBoxRight, "تنبيه"
    Me.iPage.SetFocus
Exit Sub
Else
    DoCmd.GoToRecord , , acNewRec
    Me.iName.SetFocus

End If

 

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

بارك الله فيك استاذى الغالى حبيبي @د.كاف يار

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

   

في ٢٨‏/٧‏/٢٠٢١ at 19:09, abouelhassan said:

السلام عليكم اخواتى الافاضل 

هذا الكود من ابدا ع @د.كاف يار له كل الشكر والاحترام وخالص الدعاء وهذا حقه واقل من حقه احتاج تعديل فيه 

10 ساعات مضت, abouelhassan said:
If Nz(DCount("[iPage]", "frm_Items_Entry")) <> 0 Then
If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then

انا حاولت بس يخرج الكود رسالة خطأ

مااريده بسيط عليكم ان شاء الله فقط ان يقوم بالبحث داخل فورم الترحيل ليس كل الجدول

كما شرحت لحضرتك هنا

في ٢٩‏/٧‏/٢٠٢١ at 22:47, abouelhassan said:

ستاذى الحبيب @د.كاف يار

الكود يبحث داخل الجدول الرئيسى ويخرج الرسالة اذا كان الحساب متكرر بدلالة الرقم والسنة المالية

Private Sub iPage_AfterUpdate()
On Error Resume Next

If Nz(DCount("[iPage]", "tbl_Items", "[iBill_Number] Like '" & iBill_Number & "' AND [iPage]=" & iPage), 0) <> 0 Then
MsgBox "فشل الاختيار" & vbNewLine & "تم ادخال هذا الحساب مسبقا", vbCritical + vbMsgBoxRight, "تنبيه"
Me.iPage.SetFocus
Exit Sub
Else
DoCmd.GoToRecord , , acNewRec
Me.iName.SetFocus

End If

End Sub

بس سبب لى مشاكل باستمرار الان تخرج لى رسالة الحساب مكرر حتى لو مش مكرر فى الفورم فبالبحث داخل جدول البيانات يصدف تكرار الحساب

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

1.png.3c97b6c7e6404a2ebbd0f6e874567635.png

احترامى الشديد وخالص دعائى لشخصك الكريم جدا اخى

اريد تغير

4 ساعات مضت, د.كاف يار said:
If DCount("*", "tbl_Items", "iBill_Number Like '" & Main_iBill_Number & "' AND iPage=" & iPage) <> 0 Then

الى

10 ساعات مضت, abouelhassan said:
If Nz(DCount("[iPage]", "frm_Items_Entry")) <> 0 Then

بدل ان يعمل على tbl_items  وكل هذا فقط يبحث بالفورم نفسه frm_items_entry 

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

في ٢٩‏/٧‏/٢٠٢١ at 22:47, abouelhassan said:

1.png.3c97b6c7e6404a2ebbd0f6e874567635.png

احترامى الشديد وخالص دعائى لشخصك الكريم جدا اخى

ربنا يحفظك يارب وال بيتك اجمعين اللهم امين

تم تعديل بواسطه abouelhassan
قام بنشر (معدل)
3 ساعات مضت, abouelhassan said:

الى

طريقة غير صحة 

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

في كل مرة تقوم بأخذ المؤشر الى اول سجل و ثم الانتقال للتالي الى ان تصل لأخر سجل

تفضل هذا الكود لعمل اللازم

ضعه في حدث عند  التغيير

Dim x
    x = iPage
Dim i, i2 As Integer
DoCmd.GoToRecord , , acFirst
    For i = 0 To Me.Form.Recordset.RecordCount - 1
        If iPage = x Then
            i2 = i2 + 1
            If i2 > 1 Then
                If MsgBox("تم استخدام الحساب مسبقا" & vbNewLine & "هل تريد التراجع ؟", vbCritical + vbYesNo + vbMsgBoxRight, "تنبيه") = vbYes Then
                    
                   DoCmd.SetWarnings False
                   DoCmd.RunCommand acCmdUndo
                   DoCmd.SetWarnings True
                Exit Sub
                End If
            
            End If
            
        End If
        DoCmd.GoToRecord , , acNext
    Next i
    DoCmd.GoToRecord , , acNewRec
    Me.iName.SetFocus

 

تم تعديل بواسطه د.كاف يار
  • Like 1
قام بنشر

الله يرضى عنك وعن والديك استاذى الغالى @د.كاف يار

اختارت استاذى الحسابين نقدية ولم تخرج الرسالة اخى فى الله

مع انى واضع الكود فى حدث i_page عند التغير كما تكرمت استاذى واوضحت

1.png.3c97b6c7e6404a2ebbd0f6e874567635.png

بارك الله لنا فيك اخى الكريم

احترامى

قام بنشر
24 دقائق مضت, abouelhassan said:

الله يرضى عنك وعن والديك استاذى الغالى @د.كاف يار

اختارت استاذى الحسابين نقدية ولم تخرج الرسالة اخى فى الله

مع انى واضع الكود فى حدث i_page عند التغير كما تكرمت استاذى واوضحت

1.png.3c97b6c7e6404a2ebbd0f6e874567635.png

بارك الله لنا فيك اخى الكريم

احترامى

اتفضل التعديل

سبب المشكلة الحدث بعد التحديث يجب ايقافه 

image.png.775fa26da8362c687f9af5cd4ad7f5ba.png

DATA14-1.mdb

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

تسلم ايدك استاذى الحبيب الغالى لقلبى تمام يعمل تمام تسلم يديك وعينيك

ربنا يحفظك من اى شر اللهم امين

حفطك ورعاك رب العباد اللهم امين

اشكرك اخى فى الله

تم تعديل بواسطه abouelhassan

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