wael_rafat قام بنشر نوفمبر 1, 2015 قام بنشر نوفمبر 1, 2015 (معدل) السلام عليكم ورحمة الله وبركاته ،،، اخواني الافاضل مشرفي واعضاء منتدانا الجميل تحية طيبة وبعد ،،، المطلوب : هو تحديد مبلغ كحد اقصي لمسحوبات العميل ولا يتعداه المعادلة كالتالي : وذلك عند ضغط حفظ الفاتورة عندما يكون ( اجمالي الفاتورة الحالية + رصيد العميل السابق " اجمالي مسحوباته " ) اكبر من الحد الاقصى المسموح للعميل .... يتم رفض الفاتورة . على سبيل المثال :- العميل : احمد .... رصيد المديونية له " اجمالي مسحوباته " = 8 دينار الحد الاقصى لهذا العميل = 10 دينار عند حفظ الفاتورة وكانت بمبلغ يتعدى مبلغ ال2 دينار ... يتم رسالة رفض للفاتورة ولدي الكود يعمل تمام وموجود بالمرفق وهو Dim x As String x = (DLookup("[sumoftot]", "Q_balance", "[customerno]=" & Me.customerno)) If (x + Me.totalinvoice) > Me.limit Then MsgBox " åÐÇ ÇáÚãíá ÞÏ ÊÚÏí ÇáÍÏ ÇáÇÞÕí ÇáãÓãæÍ áå ", vbCritical, " ÛíÑ ãÓãæÍ " Exit Sub ولكن المشكلة فى حالة العملاء الغير موجودين باستعلام الرصيد والمسمى Q_Balance يعطي رسالة خطأ فكيف اتخطى هذه المشكلة . KFC.rar تم تعديل نوفمبر 1, 2015 بواسطه wael_rafat
علي المصري قام بنشر نوفمبر 3, 2015 قام بنشر نوفمبر 3, 2015 (معدل) تفضل جرب التالي KFC.rar تم تعديل نوفمبر 3, 2015 بواسطه علي المصري
wael_rafat قام بنشر نوفمبر 4, 2015 الكاتب قام بنشر نوفمبر 4, 2015 (معدل) استاذ علي تسلم على التفاعل والمشاركة ولكن المشكلة مازالت ..... ، ولي استفسار ما المقصود بالرمز ( y ) Dim x As String x = DLookup("[limit]", "Tcustomers", "[customerno]=" & Me!customerno) If (x + Me.totalinvoice) > y Then MsgBox " åÐÇ ÇáÚãíá ÞÏ ÊÚÏí ÇáÍÏ ÇáÇÞÕí ÇáãÓãæÍ áå ", vbCritical, " ÛíÑ ãÓãæÍ " Me.Undo Exit Subهي الفكرة تتلخص فى الاتي : البحث فى استعلام الاصدة للعملاء ...، واذا وجد ان رصيد العميل + اجمالي الفاتورة الحالية اكبر من الحد الاقصى له يتم الرفض وهذا ما حققة الكود الاول وتمام ولكن المشكلة فى حالة عميل ليس له رصيد او غير موجود باستعلام الارصدة للعملاء مثل العميل النقدي فانه يعطي رسالة بعدم وجود رصيد له . وبارك الله فيك تم تعديل نوفمبر 4, 2015 بواسطه wael_rafat
علي المصري قام بنشر نوفمبر 4, 2015 قام بنشر نوفمبر 4, 2015 (معدل) حدث خطأ عند نسخ الكود Private Sub sav_Click() ' On Error Resume Next DoCmd.Beep Dim x As String Dim y As String x = Nz(DLookup("[limit]", "Q_balance", "[customerno]=" & Me!customerno)) y = Nz(DLookup("[sumoftot]", "Q_balance", "[customerno]=" & Me!customerno)) If x = "" Or y = "" Then: GoTo 1 If (y + Me.totalinvoice) > x Then MsgBox " هذا العميل قد تعدي الحد الاقصي المسموح له ", vbCritical, " غير مسموح " Me.Undo Exit Sub Else1 DoCmd.GoToRecord , , acNewRec If Me.orderno > 0 Then DoCmd.Close Exit Sub Else Refresh Call MyOutoNum F_ordersubform.SetFocus DoCmd.GoToControl "itemcode" Refresh End If End IfExit SubEnd Sub تم تعديل نوفمبر 4, 2015 بواسطه علي المصري
wael_rafat قام بنشر نوفمبر 8, 2015 الكاتب قام بنشر نوفمبر 8, 2015 (معدل) للاسف استاذ علي ما ظبط .. واسف علي التأخير في الرد تم تعديل نوفمبر 8, 2015 بواسطه wael_rafat
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.