مرحبا البي قام بنشر سبتمبر 15, 2019 قام بنشر سبتمبر 15, 2019 السلام عليكم ورحمة الله وبركاته طريقة إرجاع التاريخ الى أول الشهر كما هو المثال عندي تاريخ 2019/09/15 يصبح 2019/09/01 واذا كان 2019/09/16 يصبح 2019/10/01 اي نص الشهر الاول يرجع الى اول الشهر واذا دخل نصف الشهر الثاني يرجع الى اول الشهر الموالي شكرا جزيلا
kha9009lid قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 جميل جدا يا @ابا جودى كما هي حلولك المبتكره دائما ولو سمحت لي ان اقدم حل اخر باستخدام منشئ التعبير وبعض دوال الاكسس لمن لا يفضل التعامل مع الاكواد واسمح لي ببعض الشرح وبعد الاذن من راعي الموضوع الاخ الفاضل @مرحبا البي اولا قمنا باضافة مربع نص غير منظم لاستخلاص عدد الايام من التاريخ المدخل ووضعنا قيمة الحقل =Day([txtDate]) ثم في حقل التاريخ الجديد وضعنا القيمة التاليه =IIf(IsNull([نص8]);"";Switch([نص8] Between 1 And 15;"01" & "/" & Format([txtDate];"mm/yyyy");[نص8] Between 16 And 31;"01" & "/" & Format([txtDate];"mm")+1 & Format([txtDate];"/yyyy"))) الملف مرفق وتقبلوا خالص مودتي وتقديري إرجاع تاريخ.accdb 1
مرحبا البي قام بنشر سبتمبر 16, 2019 الكاتب قام بنشر سبتمبر 16, 2019 الطريقة الاولى عملت معي في البعض والباقي لم يتم في النموذج 1
ابو جودي قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 بل اسمح لى سيدى انا اتعلم انا على يديكم جزاكم الله خيـــرا على متابعتكم وطرحكم المميز دائما ومن فضلك طالما انك تطرقت الى تلك الطريقة فلتوضح عمل الدالة Switch حتى اتعلم انا لم افهم قصدك يا حبذا لو توضح اكثر وتضع لنا مرفق التطبيق 1
مرحبا البي قام بنشر سبتمبر 16, 2019 الكاتب قام بنشر سبتمبر 16, 2019 استاذي لا ادري ايش المشكل مازالت ارجع وين الثغرة ، الامر عمل معي في الحقول الاول والثاني وبقية الحقول لم لعمل على العموم مزلت افحص
kha9009lid قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 اخي الحبيب @ابا جودى دالة Switch هي دالة تستخدم في العديد من لغات البرمجة ووضيفتها إختبار قيمة متغير ضمن لائحة من الإحتمالات نقوم بكتابتها و إذا تساوت هذه القيمة مع أي إحتمال ستتنفذ الأوامر التي وضعناها في هذا الإحتمال فقط واجمل مافيها انها تسمح باستخدام من الى كما في المثال اعلاه وكذلك اي عدد من الاحتمالات Switch([نص8] Between 1 And 15 1
ابو جودي قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 (معدل) كل الشـــكر والتقدير أستاذى الجليل واخى الحبيب الاستاذ @kha9009lid يعنى ممكن نسهل الموضوع شوية ونقول انها تشبه دالة Replace ولكن الجميل انها تكتب مرة واحدة فقط طيب وممكن نعمل لها كود داخل موديول حتى نستطيع استخدامها فى كل زوايا البرنامج زى المثال البسيط ده Function RD(MyDate As String) Dim SmallerThan As String Dim GreaterThan As String Dim MyDay As Integer MyDay = Day(MyDate) 'extract the day from a specific date 'treatment of date to be returned on the day it was extracted SmallerThan = "01" & "/" & Format(MyDate, "mm/yyyy") GreaterThan = "01" & "/" & Format(MyDate, "mm") + 1 & Format(MyDate, "/yyyy") RD = Switch(MyDay <= 15, SmallerThan, MyDay > 15, GreaterThan) End Function وننادى عليه بكل زوايا البرنامج مع مراعاة تغيير xx باسم حقل التاريخ RD([xx]) الاستاذ والاخ الحبيب @مرحبا البي جرب المرفق التالى واخبرنى بالنتيحة إرجاع تاريخ.accdb تم تعديل سبتمبر 16, 2019 بواسطه ابا جودى 1
kha9009lid قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 بل من الممكن ان نقول انها الشقيقة لكل من IIf . Choose وهي توأم IIF ولكن iif ترجع اختيار واحد من اختيارين واذا اردنا اكثر من اختيار نعيد كتابتها مرة اخرى في خانة عدم تحقق الشرط لنحصل على اختيارين اضافية وهكذا وبالتالي استخدام Switch افضل واسهل بخصوص مثال اخر ابشر اخي العزيز انا حاليا اعمل على مثال يحتوي على 35 دالة وطريقة استخدامها في الاكواد وفي منشئ التعبير وبشروط مختلفة لعلي انتهي منه قريبا الملف موجه للمبتدئين وليس للاخبراء امثالكم استاذي واخي الحبيب 41 دقائق مضت, ابا جودى said: كل الشـــكر والتقدير أستاذى الجليل واخى الحبيب الاستاذ @kha9009lid يعنى ممكن نسهل الموضوع شوية ونقول انها تشبه دالة Replace ولكن الجميل انها تكتب مرة واحدة فقط طيب وممكن نعمل لها كود داخل موديول حتى نستطيع استخدامها فى كل زوايا البرنامج زى المثال البسيط ده Function RD(MyDate As String) Dim SmallerThan As String Dim GreaterThan As String Dim MyDay As Integer MyDay = Day(MyDate) 'extract the day from a specific date 'treatment of date to be returned on the day it was extracted SmallerThan = "01" & "/" & Format(MyDate, "mm/yyyy") GreaterThan = "01" & "/" & Format(MyDate, "mm") + 1 & Format(MyDate, "/yyyy") RD = Switch(MyDay <= 15, SmallerThan, MyDay > 15, GreaterThan) End Function وننادى عليه بكل زوايا البرنامج مع مراعاة تغيير xx باسم حقل التاريخ RD([xx]) لن نستطيع ان نجاريك يا ابا جودي بل انت المعلم ومروض اكسس 1
ابو جودي قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 (معدل) العفو منكم استاذى الجليل انا اقل طالب علم ودائما انهل مما تقدمونه شكر الله لكم واحسن الله اليكم كما تحسنون الى طلاب العلم امثالى جزاكم الله تعالى انت وكل اساتذتى العظماء كل الخير اما بخصوص القاعدة التى تحدثتم عنها فانا بانتظارها وكلى لوعة ولهفة واشتياق تم تعديل سبتمبر 16, 2019 بواسطه ابا جودى 1
ابو جودي قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 في ١٦/٩/٢٠١٩ at 16:58, مرحبا البي said: اسف دوام العمل test5.rar 37.63 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 2 downloads على اى حقل تريد التطبيق
ابو جودي قام بنشر سبتمبر 16, 2019 قام بنشر سبتمبر 16, 2019 (معدل) في ١٦/٩/٢٠١٩ at 16:58, مرحبا البي said: اسف دوام العمل test5.rar 37.63 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 3 downloads انظر الى هذا الاستعلام وأستاذى العزيز واخى الحبيب الاستاذ @kha9009lid اكتشفت شئ بمرفق اخونا الحبيب الاستاذ @مرحبا البي ماذا ان كان التاريخ >>----> 16/12/2019 لقد قمت بعمل الكود الاتى لحل هذه المشكلة Function RD(MyDate As Date) Select Case Nz(Month(MyDate), "") Case Is <= 11 Select Case Nz(Day(MyDate), "") Case Is <= 15 RD = Format("01" & "/" & Format(MyDate, "mm/yyyy"), "dd/mm/yyyy") Case Is > 15 RD = Format("01" & "/" & Format(MyDate, "mm") + 1 & Format(MyDate, "/yyyy"), "dd/mm/yyyy") End Select Case Is = 12 Select Case Nz(Day(MyDate), "") Case Is <= 15 RD = Format("01" & "/" & Format(MyDate, "mm/yyyy"), "dd/mm/yyyy") Case Is > 15 RD = Format("01/01/" & Format(MyDate, "yyyy") + 1, "dd/mm/yyyy") End Select End Select End Function ---------------------- test5.accdb تم تعديل سبتمبر 16, 2019 بواسطه ابا جودى 2
ابو عارف قام بنشر سبتمبر 17, 2019 قام بنشر سبتمبر 17, 2019 السلام عليكم مجرد مشاركة الفكرة MsgBox DateSerial(Year(DT), IIf(Day(DT) <= 15, Month(DT), Month(DT) + 1), 1) [DT] اسم الحقل التاريخ 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.