almosafer almasry قام بنشر ديسمبر 26, 2021 قام بنشر ديسمبر 26, 2021 نامل من الاخوة المساعدة في حل الدالة في حالة ان حقل الخدمة = ايواء يكون حقل السعر = قيمة مبلغ الشراء في حالة ان حقل الخدمة = يومي يكون حقل السعر = الايجار اليومي * عدد الايام ولكم التوفيق بيانات القيد.accdb
ابو جودي قام بنشر ديسمبر 26, 2021 قام بنشر ديسمبر 26, 2021 (معدل) اتفضل ونصيحة بلاش تسمى الحقول بالعربى Sub Calc() Select Case Nz([الخدمة], "") Case "": Me.[السعر] = "" Case Is = "ايواء": Me.[السعر] = Me.[مبلغ الشراء] Case Is = "يومي": Me.[السعر] = Me.[الايجار] * Me.[عدد الايام] End Select End Sub Private Sub الخدمة_AfterUpdate() Call Calc End Sub Private Sub الايجار_AfterUpdate() Call Calc End Sub Private Sub عدد_الايام_AfterUpdate() Call Calc End Sub تم تعديل ديسمبر 27, 2021 بواسطه ابو جودي
محمد أبوعبدالله قام بنشر ديسمبر 26, 2021 قام بنشر ديسمبر 26, 2021 تفضل اخي الكريم Private Sub Form_BeforeUpdate(Cancel As Integer) Me.السعر = IIf([الخدمة] = "يومي", [مبلغ الشراء], (Nz([عدد الايام]) * Nz([الايجار]))) End Sub بيانات القيد.accdb تحياتي
Eng.Qassim قام بنشر ديسمبر 26, 2021 قام بنشر ديسمبر 26, 2021 استاذ ابو عبد الله ..انت عاملها بالعكس بع اذنك.. Me.السعر = IIf([الخدمة] = "ايواء", [مبلغ الشراء], (Nz([عدد الايام]) * Nz([الايجار]))) 1
ابو جودي قام بنشر ديسمبر 26, 2021 قام بنشر ديسمبر 26, 2021 (معدل) طيب وكمان غير مشاكل اللغة اللى ممكن تحصل عندما يتم استخدام الحروف العربية داخل المحرر قولى يا almosafer almasry هل قدرت تفهم قاعدة iif مع العربى 🤭 كما تفضل اساتذتى الكرام بوضع الحل طبقا للاحرف العربية مع قاعدة iif انا عن نفسي لا بافهما ولا باعرف اكتبها مع العربى ههههههه علشان كدع استخدمت Select Case عن نفسى بافضلها فى كل الاحوال مرنه اكثر والان صار معاك الحلين ,وحل ثالث ايضا اثراء للموضوع استخدام الدالة switch Me.[السعر] = Switch(Me.[الخدمة] = "ايواء", Me.[مبلغ الشراء], Me.[الخدمة] = "يومي", Me.[الايجار] * Me.[عدد الايام]) تم تعديل ديسمبر 26, 2021 بواسطه ابو جودي 1
almosafer almasry قام بنشر ديسمبر 27, 2021 الكاتب قام بنشر ديسمبر 27, 2021 جزاكم الله الف خير وللجميع التقدير والاحترام 1
أفضل إجابة almosafer almasry قام بنشر ديسمبر 27, 2021 الكاتب أفضل إجابة قام بنشر ديسمبر 27, 2021 ممكن لو سمحت أ ابو جودي في حالة عدم اختيار ايواء او يومي يكون قيمة السعر 0 لانها بتظهر بدون صفر
ابو جودي قام بنشر ديسمبر 27, 2021 قام بنشر ديسمبر 27, 2021 اى حل تريد من الحلول السابقة ؟ لاقوم بالتعديل
almosafer almasry قام بنشر ديسمبر 27, 2021 الكاتب قام بنشر ديسمبر 27, 2021 Me.[السعر] = Switch(Me.[الخدمة] = "ايواء", Me.[مبلغ الشراء], Me.[الخدمة] = "يومي", Me.[الايجار] * Me.[عدد الايام])
ابو جودي قام بنشر ديسمبر 27, 2021 قام بنشر ديسمبر 27, 2021 اتقضل Me.[السعر] = Switch(IsNull(Me.[الخدمة]), 0, Me.[الخدمة] = "ايواء", Me.[مبلغ الشراء], Me.[الخدمة] = "يومي", Me.[الايجار] * Me.[عدد الايام])
almosafer almasry قام بنشر ديسمبر 28, 2021 الكاتب قام بنشر ديسمبر 28, 2021 عزيزي ابو جودي لم يتم حل المشكلة اي ادخال في حقل الخدمة غير ايواء و يومي يظهر الحقل فارغ احتاج يكون فية 0 في مرفق المثال بيانات القيد.accdb 1
محمد أبوعبدالله قام بنشر ديسمبر 28, 2021 قام بنشر ديسمبر 28, 2021 جرب الكود التالي If Len(Me.[الخدمة] & vbNullString) = 0 Then Me.[السعر] = 0 Else Me.السعر = IIf([الخدمة] = "ايواء", [مبلغ الشراء], (Nz([عدد الايام]) * Nz([الايجار]))) End If تحياتي
almosafer almasry قام بنشر ديسمبر 28, 2021 الكاتب قام بنشر ديسمبر 28, 2021 عزيزي ابو عبدالله ماظبط الكود الحقل بيكون محتفظ بقية الحقل يومي
محمد أبوعبدالله قام بنشر ديسمبر 28, 2021 قام بنشر ديسمبر 28, 2021 تفضل اخي الكريم If Len(Me.[الخدمة] & vbNullString) = 0 Then Me.[السعر] = 0 Else Me.السعر = IIf([الخدمة] = "ايواء", [مبلغ الشراء], IIf([الخدمة] = "يومي", (Nz([عدد الايام]) * Nz([الايجار])), 0)) End If بيانات القيد.rar تحياتي 1
almosafer almasry قام بنشر ديسمبر 28, 2021 الكاتب قام بنشر ديسمبر 28, 2021 جزاك الله الف خير كدا تمام والف شكر
محمد أبوعبدالله قام بنشر ديسمبر 28, 2021 قام بنشر ديسمبر 28, 2021 17 دقائق مضت, almosafer almasry said: جزاك الله الف خير كدا تمام والف شكر بالتوفيق اخي الكريم تحياتي
ابو جودي قام بنشر ديسمبر 28, 2021 قام بنشر ديسمبر 28, 2021 (معدل) المرفق الاول لم يكن به سوا ايواء , يومى لذا اعتقدت انه غير ذلك سوف تكون قيمة خالية ولذلك اعتذر لضيق افقى فى التصور الصحيح اليكم الاجابة Me.[السعر] = Switch(IsNull(Me.[الخدمة]), 0, Me.[الخدمة] = "ايواء", Me.[مبلغ الشراء], Me.[الخدمة] = "يومي", Me.[الايجار] * Me.[عدد الايام], Me.[الخدمة] <> "ايواء" And Me.[الخدمة] <> "يومي", 0) اذا الكود كبير على سطر واحد وحابب تقسمه على اكثر من سطر Me.[السعر] = Switch( _ IsNull(Me.[الخدمة]), 0, _ Me.[الخدمة] = "ايواء", Me.[مبلغ الشراء], _ Me.[الخدمة] = "يومي", Me.[الايجار] * Me.[عدد الايام], _ Me.[الخدمة] <> "ايواء" And Me.[الخدمة] <> "يومي", 0 _ ) واذا اسم الحقل كبير وراح يتكرر كثرا ممكن استخدام الكود الاتى Dim Fld As String: Fld = Nz(Me.[الخدمة]) Me.[السعر] = Switch(IsNull(Fld), 0, Fld = "ايواء", Me.[مبلغ الشراء], Fld = "يومي", Me.[الايجار] * Me.[عدد الايام], Fld <> "ايواء" And Fld <> "يومي", 0) تم تعديل ديسمبر 28, 2021 بواسطه ابو جودي
almosafer almasry قام بنشر ديسمبر 28, 2021 الكاتب قام بنشر ديسمبر 28, 2021 جزاك الله الف خير ابو جودي انا اللي ما وضحت التفاصيل كاملة من البداية ولك الف شكر 1
ابو جودي قام بنشر ديسمبر 28, 2021 قام بنشر ديسمبر 28, 2021 (معدل) 25 دقائق مضت, almosafer almasry said: جزاك الله الف خير ابو جودي انا اللي ما وضحت التفاصيل كاملة من البداية ولك الف شكر انا كمان مقدرتش افكر صح واضع كل التصورات والسناريوهات اللازمة .. على كل حال اهلا بيك وان شاء الله تكون توصلت للنتيجة التى ترغب بها على اكمل وجه وانا لو مكانك استخدمها بالشكل ده بدون كتابة حرف عربى فى محرر الاكواد انظر فى مصدر بيانات النموذج بيانات القيد.accdb تم تعديل ديسمبر 28, 2021 بواسطه ابو جودي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.