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

كيفية كتابة نص طويل بحقل الاستعلام


kaser906

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

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

هذا الكود كتبته داخل حقل الاستعلام

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

رفض الحفظ وظهرت رسالة بأن النص طويل ولايمكن تحريره

المطلوب  الأول

هل هناك طريقة لحل هذه المشكلة داخل الاستعلام

اذا كان الجواب لا  ننتقل للمطلوب الثاني

كتابة هذا الكود بالفجول

وحفظه داخل وحده نمطيه عامه واستدعائه من الاستعلام

مع إعطاء مثال بسيط على الاستدعاء من داخل الاستعلام

 

Total: IIf([Num_kind]=1 And [service]=1 And[Travel]=1;[housing_valueadult]+[hospitality_valueadult]+[Bus_ticket_valueadult] +[Visa_value]-[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=1 And[Travel]=2;[housing_valueadult]+[hospitality_valueadult]+[Flight_ticket_valueadult] +[Visa_value] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=2 And[Travel]=1;[housing_valueadult]+[hospitality_Valueadult]+[Bus_ticket_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=2 And[Travel]=2;[housing_valueadult]+[hospitality_valueadult]+[Flight_ticket_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=3 And[Travel]=1;[housing_Valueadult]+[Bus_ticket_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=3 And[Travel]=2;[housing_valueadult]+[Flight_ticket_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=4 And[Travel]=1; [Bus_ticket_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=4 And[Travel]=2;[Flight_ticket_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=5 And[Travel]=1; [Bus _ticket_valueadult]+[ Visa_value]  -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=5 And[Travel]=2; [Flight_ticket_valueadult]+[ Visa_value]  -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=6;[housing_Valueadult]+[hospitality_valueadult]+[Visa_value] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=7;[housing_Valueadult]+[hospitality_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=1 And [service]=8;[housing_valueadult] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=1 And[Travel]=1;[housing_valuechlid]+[hospitality_valuechlid]+[Bus_ticket_valuechlid] +[Visa_value]- [SpecialDiscount] ;IIf([Num_kind]=2 And [service]=2 And[Travel]=2;[housing_valuechlid]+[hospitality_valuechlid]+[Flight_ticket_valuechlid] +[Visa_value] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=2 And[Travel]=1;[housing_valuechlid]+[hospitality_valuechlid]+[Bus_ticket_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=2 And[Travel]=2;[housing_valuechlid]+[hospitality_valuechlid]+[Flight_ticket_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=3 And[Travel]=1;[housing_valuechlid]+[Bus_ticket_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=3 And[Travel]=2;[housing_valuechlid]+[Flight_ticket_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=4 And[Travel]=1; [Bus_ticket_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=4 And[Travel]=2;[Flight_ticket_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=5 And[Travel]=1; [Bus _ticket_valuechlid]+[ Visa_value]  -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=5 And[Travel]=2; [Flight_ticket_valuechlid]+[ Visa_value]  -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=6;[housing_valuechlid]+[hospitality_valuechlid]+[Visa_value]-[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=7;[housing_valuechlid]+[hospitality_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=2 And [service]=8;[housing_valuechlid] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=1 And[Travel]=1;[housing_valuebaby]+[hospitality_valuebaby]+[Bus_ticket_valuebaby] +[Visa_value]-[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=2 And[Travel]=2;[housing_valuebaby]+[hospitality_valuebaby]+[Flight_ticket_valuebaby] +[Visa_value] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=2 And[Travel]=1;[housing_valuebaby]+[hospitality_valuebaby]+[Bus_ticket_valuebaby] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=2 And[Travel]=2;[housing_valuebaby]+[hospitality_valuebaby]+[Flight_ticket_valuebaby] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=3 And[Travel]=1;[housing_valuebaby]+[Bus_ticket_valuebaby] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=3 And[Travel]=2;[housing_valuebaby]+[Flight_ticket_valuebaby] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=4 And[Travel]=1; [Bus_ticket_valuebaby] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=4 And[Travel]=2;[Flight_ticket_valuebaby] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=5 And[Travel]=1; [Bus _ticket_valuebaby]+[ Visa_value]  -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=5 And[Travel]=2; [Flight_ticket_valuebaby]+[ Visa_value]-[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=6;[housing_valuebaby]+[hospitality_valuebaby]+[Visa_value] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=7;[housing_valuebaby]+[hospitality_valuebaby] -[SpecialDiscount] ;IIf([Num_kind]=3 And [service]=8;[housing_valuebaby] -[SpecialDiscount] ;IIf(IsNull([Num_kind]);0)))))))))))))))))))))))))))))))))))))))

 

 

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

من الافصل استخدام طريقة ثانية
نحن نحتاج قاعدة لكي نتم العملية عليه

تم تعديل بواسطه Shivan Rekany
  • Like 1
رابط هذا التعليق
شارك

23 دقائق مضت, Shivan Rekany said:

من الافصل استخدام طريقة ثانية
نحن نحتاج قاعدة لكي نتم العملية عليه

تسلم استاذي

مرفق قاعده تحتوي على استعلام

ا

test.rar

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

2 ساعات مضت, kaser906 said:

تسلم استاذي

مرفق قاعده تحتوي على استعلام

ا

test.rar

تم عمل ھذا فانكشن
 

Public Function Sh(NuKind As Integer, Ser As Integer, Trav As Integer, HousValDult As Currency, HospValDult As Currency, _
        BusTicValDult As Currency, VisaVal As Currency, SpecialDisc As Double, FligTicValDult As Currency, _
            HousValChlid As Currency, HospValChlid As Currency, BusTicValChlid As Currency, FligTicValChlid As Currency, _
                    HousValBaby As Currency, HospValBaby As Currency, BusTicValBaby As Currency, FligTicValBaby As Currency)
If Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValDult, 0) + Nz(BusTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValDult, 0) + Nz(FligTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Sh = Nz(BusTicValDult, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Sh = Nz(FligTicValDult, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(BusTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(FligTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 6 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 7 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 8 Then
        Sh = Nz(HousValDult, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValChlid, 0) + Nz(BusTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValChlid, 0) + Nz(FligTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Sh = Nz(BusTicValChlid, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Sh = Nz(FligTicValChlid, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(BusTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(FligTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 6 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 7 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 8 Then
        Sh = Nz(HousValChlid, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValBaby, 0) + Nz(BusTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValBaby, 0) + Nz(FligTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Sh = Nz(BusTicValBaby, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Sh = Nz(FligTicValBaby, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(BusTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(FligTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 6 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 7 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 8 Then
        Sh = Nz(HousValBaby, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) Then
        Sh = 0
    Else
        Sh = ""
End If
End Function

وتم استدعائه في الاستعلام هكذا
 

Expr1: sh(Nz([Num_kind];0);Nz([service];0);Nz([Travel];0);Nz([housing_Valueadult];0);Nz([hospitality_Valueadult];0);Nz([Bus_ticket_valueadult];0);Nz([Visa_value];0);Nz([SpecialDiscount];0);Nz([Flight_ticket_valueadult];0);Nz([housing_Valuechild];0);Nz([hospitality_Valuechild];0);Nz([Bus_ticket_valuechlid];0);Nz([Flight_ticket_valuechild];0);Nz([housing_Valuebaby];0);Nz([hospitality_Valuebaby];0);Nz([Bus_ticket_valuebaby];0);Nz([Flight_ticket_valuebaby];0))

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

test.rar

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

56 دقائق مضت, Shivan Rekany said:

تم عمل ھذا فانكشن
 


Public Function Sh(NuKind As Integer, Ser As Integer, Trav As Integer, HousValDult As Currency, HospValDult As Currency, _
        BusTicValDult As Currency, VisaVal As Currency, SpecialDisc As Double, FligTicValDult As Currency, _
            HousValChlid As Currency, HospValChlid As Currency, BusTicValChlid As Currency, FligTicValChlid As Currency, _
                    HousValBaby As Currency, HospValBaby As Currency, BusTicValBaby As Currency, FligTicValBaby As Currency)
If Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValDult, 0) + Nz(BusTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValDult, 0) + Nz(FligTicValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Sh = Nz(BusTicValDult, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Sh = Nz(FligTicValDult, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(BusTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(FligTicValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 6 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 7 Then
        Sh = (Nz(HousValDult, 0) + Nz(HospValDult, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 8 Then
        Sh = Nz(HousValDult, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValChlid, 0) + Nz(BusTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValChlid, 0) + Nz(FligTicValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Sh = Nz(BusTicValChlid, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Sh = Nz(FligTicValChlid, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(BusTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(FligTicValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 6 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 7 Then
        Sh = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 8 Then
        Sh = Nz(HousValChlid, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(HousValBaby, 0) + Nz(BusTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(HousValBaby, 0) + Nz(FligTicValBaby, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Sh = Nz(BusTicValBaby, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Sh = Nz(FligTicValBaby, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Sh = (Nz(BusTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Sh = (Nz(FligTicValBaby, 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 6 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(VisaVal, 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 7 Then
        Sh = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0)) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 8 Then
        Sh = Nz(HousValBaby, 0) - Nz(SpecialDisc, 0)
    ElseIf Nz(NuKind, 0) Then
        Sh = 0
    Else
        Sh = ""
End If
End Function

وتم استدعائه في الاستعلام هكذا
 


Expr1: sh(Nz([Num_kind];0);Nz([service];0);Nz([Travel];0);Nz([housing_Valueadult];0);Nz([hospitality_Valueadult];0);Nz([Bus_ticket_valueadult];0);Nz([Visa_value];0);Nz([SpecialDiscount];0);Nz([Flight_ticket_valueadult];0);Nz([housing_Valuechild];0);Nz([hospitality_Valuechild];0);Nz([Bus_ticket_valuechlid];0);Nz([Flight_ticket_valuechild];0);Nz([housing_Valuebaby];0);Nz([hospitality_Valuebaby];0);Nz([Bus_ticket_valuebaby];0);Nz([Flight_ticket_valuebaby];0))

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

test.rar

يعطيك العافيه استاذي

واسمح لي بأن اطلب منك شرح بعض الأمور

أولا

لاحظت أسماء الحقول في الفانكشن تختلف عن الاستعلام

فكيف يكون ذلك

ثانيا

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

وبما انك لاحظت المشكلة ارجو وضع الحل المناسب

بحيث يكون عند ادخال رقم 1 تكون نسبة الخصم 1 من % 100 يعني لوكان المبلغ 1000 - 1 % تكون النتيجة 990

أخيرا سأجرب الحل المطروح على برنامجي للتأكد من إعطاء نتائج صحيحه 100% ولي عودة

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

في ‏٢٥‏/‏٠٢‏/‏١٤٣٩ at 20:46, kaser906 said:

يعطيك العافيه استاذي

واسمح لي بأن اطلب منك شرح بعض الأمور

أولا

لاحظت أسماء الحقول في الفانكشن تختلف عن الاستعلام

فكيف يكون ذلك

ثانيا

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

وبما انك لاحظت المشكلة ارجو وضع الحل المناسب

بحيث يكون عند ادخال رقم 1 تكون نسبة الخصم 1 من % 100 يعني لوكان المبلغ 1000 - 1 % تكون النتيجة 990

أخيرا سأجرب الحل المطروح على برنامجي للتأكد من إعطاء نتائج صحيحه 100% ولي عودة

مازلت انتظرك أستاذ ريكان لوضع الحل للقسم الثاني .

في ‏٢٥‏/‏٠٢‏/‏١٤٣٩ at 20:46, kaser906 said:

ثانيا

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

وبما انك لاحظت المشكلة ارجو وضع الحل المناسب

بحيث يكون عند ادخال رقم 1 تكون نسبة الخصم 1 من % 100 يعني لوكان المبلغ 1000 - 1 % تكون النتيجة 990

 

 

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

في ١٤‏/١١‏/٢٠١٧ at 20:46, kaser906 said:

أولا

لاحظت أسماء الحقول في الفانكشن تختلف عن الاستعلام

فكيف يكون ذلك

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

في ١٤‏/١١‏/٢٠١٧ at 20:46, kaser906 said:

ثانيا

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

وبما انك لاحظت المشكلة ارجو وضع الحل المناسب

بحيث يكون عند ادخال رقم 1 تكون نسبة الخصم 1 من % 100 يعني لوكان المبلغ 1000 - 1 % تكون النتيجة 990

أخيرا سأجرب الحل المطروح على برنامجي للتأكد من إعطاء نتائج صحيحه 100% ولي عودة

اتفضل تم تغيير طفيف في الفانكشن
اليك فانكشن 
 

Public Function Sh(NuKind As Integer, Ser As Integer, Trav As Integer, HousValDult As Currency, HospValDult As Currency, _
        BusTicValDult As Currency, VisaVal As Currency, SpecialDisc As Double, FligTicValDult As Currency, _
            HousValChlid As Currency, HospValChlid As Currency, BusTicValChlid As Currency, FligTicValChlid As Currency, _
                    HousValBaby As Currency, HospValBaby As Currency, BusTicValBaby As Currency, FligTicValBaby As Currency)
                Dim Shiv
If Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValDult, 0) + Nz(BusTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValDult, 0) + Nz(FligTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Shiv = Nz(BusTicValDult, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Shiv = Nz(FligTicValDult, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(BusTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(FligTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 6 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 7 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 8 Then
        Shiv = Nz(HousValDult, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(BusTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(FligTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Shiv = Nz(BusTicValChlid, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Shiv = Nz(FligTicValChlid, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(BusTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(FligTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 6 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 7 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 8 Then
        Shiv = Nz(HousValChlid, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(BusTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(FligTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Shiv = Nz(BusTicValBaby, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Shiv = Nz(FligTicValBaby, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(BusTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(FligTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 6 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 7 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 8 Then
        Shiv = Nz(HousValBaby, 0)
    ElseIf Nz(NuKind, 0) Then
        Shiv = 0
    Else
        Shiv = ""
End If
    Sh = Shiv - ((Shiv) * Nz(SpecialDisc, 0))
End Function

واليك قاعدة

test (1).rar

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

28 دقائق مضت, Shivan Rekany said:

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

اتفضل تم تغيير طفيف في الفانكشن
اليك فانكشن 
 


Public Function Sh(NuKind As Integer, Ser As Integer, Trav As Integer, HousValDult As Currency, HospValDult As Currency, _
        BusTicValDult As Currency, VisaVal As Currency, SpecialDisc As Double, FligTicValDult As Currency, _
            HousValChlid As Currency, HospValChlid As Currency, BusTicValChlid As Currency, FligTicValChlid As Currency, _
                    HousValBaby As Currency, HospValBaby As Currency, BusTicValBaby As Currency, FligTicValBaby As Currency)
                Dim Shiv
If Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(BusTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(FligTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValDult, 0) + Nz(BusTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValDult, 0) + Nz(FligTicValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Shiv = Nz(BusTicValDult, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Shiv = Nz(FligTicValDult, 0)
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(BusTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(FligTicValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 6 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 7 Then
        Shiv = (Nz(HousValDult, 0) + Nz(HospValDult, 0))
    ElseIf Nz(NuKind, 0) = 1 And Nz(Ser, 0) = 8 Then
        Shiv = Nz(HousValDult, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(BusTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(FligTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(BusTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(FligTicValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Shiv = Nz(BusTicValChlid, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Shiv = Nz(FligTicValChlid, 0)
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(BusTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(FligTicValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 6 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 7 Then
        Shiv = (Nz(HousValChlid, 0) + Nz(HospValChlid, 0))
    ElseIf Nz(NuKind, 0) = 2 And Nz(Ser, 0) = 8 Then
        Shiv = Nz(HousValChlid, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 1 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(BusTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 2 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(FligTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(BusTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 3 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(FligTicValBaby, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 1 Then
        Shiv = Nz(BusTicValBaby, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 4 And Nz(Trav, 0) = 2 Then
        Shiv = Nz(FligTicValBaby, 0)
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 1 Then
        Shiv = (Nz(BusTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 5 And Nz(Trav, 0) = 2 Then
        Shiv = (Nz(FligTicValBaby, 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 6 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0) + Nz(VisaVal, 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 7 Then
        Shiv = (Nz(HousValBaby, 0) + Nz(Nz(HospValBaby, 0), 0))
    ElseIf Nz(NuKind, 0) = 3 And Nz(Ser, 0) = 8 Then
        Shiv = Nz(HousValBaby, 0)
    ElseIf Nz(NuKind, 0) Then
        Shiv = 0
    Else
        Shiv = ""
End If
    Sh = Shiv - ((Shiv) * Nz(SpecialDisc, 0))
End Function

واليك قاعدة

test (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