safaa salem5 قام بنشر نوفمبر 11, 2023 قام بنشر نوفمبر 11, 2023 عندى 3 فيلدات Y M D ترمز لسنه وشهر ويوم عايزه اجمعم فى فيلد واحد اسمه age كالاتى فى حاله وجود السن بالايام فقط او بالشهور فقط او بالسنين فقط يبقى Age= D ageunit=Dayes Age= M ageunit=Months Age= Y ageunit=Years على الترتيب فى حاله السن بالشهور والايام فى الحاله دى Age= M ageunit=Months نتغاضى عن الايام اما فى حالة السن بالسنين والشهور مثلا شخص عنده 42 سنه و9شهور عايزاهم يتجمعو زى كدا 42.9 بمجرد ما يكون السن 42 سنه و10 شهور يتم تقريب السن ل 43 سنه ageunit=Years age collect.rarFetching info...
محمد احمد لطفى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 دى محاولة قد تكون صحيحة و قد تكون خاطئة حسب فهمى للسؤال مع تغيير حقل age لنص و ليس رقمى age collect.rarFetching info...
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 (معدل) في 12/11/2023 at 06:25, محمد احمد لطفى said: دى محاولة قد تكون صحيحة و قد تكون خاطئة حسب فهمى للسؤال مع تغيير حقل age لنص و ليس رقمى age collect.rar 589.43 kB · 0 downloads Expand دا جزأ من المطلوب انا حاولت اكمل بنفس طريقتك Private Sub Form_Current() If Me.Y > 0 And Me.M = 0 And Me.D = 0 Then Me.age = Me.Y Me.ageunit = years Else If Me.Y = 0 And Me.M > 0 And Me.D >= 0 Then Me.age = Me.M Me.ageunit = Months Else If Me.Y = 0 And Me.M = 0 And Me.D > 0 Then Me.age = Me.D Me.ageunit = DAYS Else If Me.M >= 10 Then Me.age = Me.Y + 1 Me.ageunit = years Else Me.age = Me.Y & "." & Me.M Me.ageunit = years End If End If End If End If End Sub تم تعديل نوفمبر 12, 2023 بواسطه safaa salem5 1
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 (معدل) في 12/11/2023 at 07:11, safaa salem5 said: Expand عندى مشكلتين لما بيكون فى ايام لوحدها مش بتنزل ظهور النقطه جمب السن فى غير وقتها ageunitمش بتنزل اللى هى وحدة السن ايام شهور سنه age collect.rarFetching info... تم تعديل نوفمبر 12, 2023 بواسطه safaa salem5
عمر ضاحى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 في 12/11/2023 at 07:48, safaa salem5 said: عندى مشكلتين لما بيكون فى ايام لوحدها مش بتنزل ظهور النقطه جمب السن فى غير وقتها ageunitمش بتنزل اللى هى وحدة السن ايام شهور سنه age collect.rar 641.43 kB · 1 download Expand احذفى ال . من الكود Me.age = Me.Y & "." & Me.M الى Me.age = Me.Y & " " & Me.M
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 (معدل) في 12/11/2023 at 08:28, عمر ضاحى said: احذفى ال . من الكود Me.age = Me.Y & "." & Me.M الى Me.age = Me.Y & " " & Me.M Expand انا عايزه التجميعه دى مثلا شخص عنده 42 سنه و9شهور عايزاهم يتجمعو زى كدا 42.9 بمجرد ما يكون السن 42 سنه و10 شهور يتم تقريب السن ل 43 سنه تم تعديل نوفمبر 12, 2023 بواسطه safaa salem5
تمت الإجابة عمر ضاحى قام بنشر نوفمبر 12, 2023 تمت الإجابة قام بنشر نوفمبر 12, 2023 هل هذا ما تريدين age collect.rarFetching info... انا وضعت تقريبا جميع الاحتمالات التى جربتها قد يكون هناك احتمالين او 3 لسه ما فكرت فيهم لكن خليهم عند التجربه انا لغيت الاكواد التى وضعتيها ووضعت ليكي مديول وصب 1
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 في 12/11/2023 at 10:59, عمر ضاحى said: هل هذا ما تريدين age collect.rar 582.18 kB · 4 downloads انا وضعت تقريبا جميع الاحتمالات التى جربتها قد يكون هناك احتمالين او 3 لسه ما فكرت فيهم لكن خليهم عند التجربه انا لغيت الاكواد التى وضعتيها ووضعت ليكي مديول وصب Expand تمام كدا بس انا عامله الكود الخاص بتحويل تاريخ الميلاد ل ايام وشهور وسنه انا عايزه بس الجزئيه اللى انا بتكلم فيها كدا اشيل ايه من الكود
عمر ضاحى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 في 12/11/2023 at 14:55, safaa salem5 said: تمام كدا بس انا عامله الكود الخاص بتحويل تاريخ الميلاد ل ايام وشهور وسنه انا عايزه بس الجزئيه اللى انا بتكلم فيها كدا اشيل ايه من الكود Expand الكود ال انا لاغيه محوله لتعليق راجعي الاكواد غير اني كنت ملاحظ ان الموضوع ادخال يدوي صحيح ؟ عموما انا شايف كده افضل (مجرد راي طبعا والامر كله اليكي تختاري ما تفضلينه حسب حاجتك) اذا حابه تعديله يمكن ان الغيه لكي اذا حبيتي
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 في 12/11/2023 at 15:11, عمر ضاحى said: الكود ال انا لاغيه محوله لتعليق راجعي الاكواد غير اني كنت ملاحظ ان الموضوع ادخال يدوي صحيح ؟ عموما انا شايف كده افضل (مجرد راي طبعا والامر كله اليكي تختاري ما تفضلينه حسب حاجتك) اذا حابه تعديله يمكن ان الغيه لكي اذا حبيتي Expand انا فاهمه ان حضرتك لاغيه انا باعته لحضرتك المثال على اد اللى انا محتاجاه بس بس انا عندى تحويل من سن ل تاريخ ميلاد والعكس محتاجه بس جزئية تجميع السن في 12/11/2023 at 15:39, safaa salem5 said: انا فاهمه ان حضرتك لاغيه انا باعته لحضرتك المثال على اد اللى انا محتاجاه بس بس انا عندى تحويل من سن ل تاريخ ميلاد والعكس محتاجه بس جزئية تجميع السن Expand عايزه لما اخرج من حقل y او m او d او bdate يحصل عملية التجميع
عمر ضاحى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 انا واضع لحضرتك الشروط فقط استبدلى الجذء الخاص بمصدر المتغير xD xM xY
عمر ضاحى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 بصى فى الكود (الصب) Sub xCalc() Dim strAge As String Dim arrAge() As String Dim years As Integer Dim months As Integer Dim days As Integer Dim xD, xM, xY As Integer Dim xAge As Double 'هنا الدالة التى تحسب العمر strAge = CalcAge(bdate, Date) 'هنا بيتم البدء فى فصل الايام والشهور والسنوات arrAge = Split(strAge, " ") 'هنا تم التوزيع السنوات والشهور والايام على المتغيرات الثلاث 'هنا ممكن تستبدلى بالتوزيع الخاص بكي years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) ' 'هنا تم توزيع النتائج على الحقول الثلاث فى النموذج Y = years M = months D = days '---------------------------------------------------------- If days >= 20 Then xM = months + 1 xD = 0 Else xD = days End If '---------------------------------------------------------- If months >= 10 Then xY = years + 1 xM = 0 Else xY = years xM = months End If '---------------------------------------------------------- Debug.Print xD Debug.Print xM Debug.Print xY If xY = 0 And xM = 0 And xD <> 0 Then xAge = xD ageunit = "Days" ElseIf xY = 0 And xM <> 0 And xD <> 0 Then xAge = xM ageunit = "Months" ElseIf xY = 0 And xM <> 0 And xD = 0 Then xAge = xM ageunit = "Months" ElseIf xY <> 0 And xM = 0 And xD <> 0 Then xAge = xY ageunit = "Years" ElseIf xY <> 0 And xM <> 0 And xD = 0 Then xAge = xY & "." & xM ageunit = "Years" Else xAge = xY & "." & xM ageunit = "Years" End If age = xAge 'Debug.Print xAge End Sub لاحظي انك ممكن تقفذى وتلغي وظيفة الكود من السطر هذا years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4))
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 في 12/11/2023 at 15:57, عمر ضاحى said: بصى فى الكود (الصب) Sub xCalc() Dim strAge As String Dim arrAge() As String Dim years As Integer Dim months As Integer Dim days As Integer Dim xD, xM, xY As Integer Dim xAge As Double 'هنا الدالة التى تحسب العمر strAge = CalcAge(bdate, Date) 'هنا بيتم البدء فى فصل الايام والشهور والسنوات arrAge = Split(strAge, " ") 'هنا تم التوزيع السنوات والشهور والايام على المتغيرات الثلاث 'هنا ممكن تستبدلى بالتوزيع الخاص بكي years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) ' 'هنا تم توزيع النتائج على الحقول الثلاث فى النموذج Y = years M = months D = days '---------------------------------------------------------- If days >= 20 Then xM = months + 1 xD = 0 Else xD = days End If '---------------------------------------------------------- If months >= 10 Then xY = years + 1 xM = 0 Else xY = years xM = months End If '---------------------------------------------------------- Debug.Print xD Debug.Print xM Debug.Print xY If xY = 0 And xM = 0 And xD <> 0 Then xAge = xD ageunit = "Days" ElseIf xY = 0 And xM <> 0 And xD <> 0 Then xAge = xM ageunit = "Months" ElseIf xY = 0 And xM <> 0 And xD = 0 Then xAge = xM ageunit = "Months" ElseIf xY <> 0 And xM = 0 And xD <> 0 Then xAge = xY ageunit = "Years" ElseIf xY <> 0 And xM <> 0 And xD = 0 Then xAge = xY & "." & xM ageunit = "Years" Else xAge = xY & "." & xM ageunit = "Years" End If age = xAge 'Debug.Print xAge End Sub لاحظي انك ممكن تقفذى وتلغي وظيفة الكود من السطر هذا years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) Expand هنا ممكن تستبدلى بالتوزيع الخاص بكي years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) دى مش فاهماهاه
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 في 12/11/2023 at 16:23, safaa salem5 said: هنا ممكن تستبدلى بالتوزيع الخاص بكي years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) دى مش فاهماهاه Expand بص انا عايزه ادى للمستخدم حرية اختيار لو كتب تاريخ الميلاد هيتحول ليوم وشهر وسنه ولو كتب السن سواء كان يوم او شهر او سنه هيتحول لتاريخ ميلاد وفى كلا الحالتين يتم تجميع السن فى حقل age والجزءيه بتاعت التحويل من والى دى خلاص عملاها عايزه بس جزئية التجميع قولى استخدم ايه من الكود والغى ايه
عمر ضاحى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 اقصد ان الجزء من هنا وفوق خاص بجلب العمر وتوزيعه على شهور وايام وسنوات years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) لكن انت ممكن تعملى ده اذا انت حابه تكتبى السنوات والشهور والايام بنفسك دون حساب years = Y 'هنا هياخد قيمة السنوات من حقل السنوات فى النموذج months = M 'هنا هياخد قيمة الاشهر من حقل الاشهر فى النموذج days = D 'هنا هياخد قيمة الايام من حقل الايام فى النموذج وهكذا والباقي الكود هيكمله عادي
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 في 12/11/2023 at 16:37, عمر ضاحى said: اقصد ان الجزء من هنا وفوق خاص بجلب العمر وتوزيعه على شهور وايام وسنوات years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) لكن انت ممكن تعملى ده اذا انت حابه تكتبى السنوات والشهور والايام بنفسك دون حساب years = Y 'هنا هياخد قيمة السنوات من حقل السنوات فى النموذج months = M 'هنا هياخد قيمة الاشهر من حقل الاشهر فى النموذج days = D 'هنا هياخد قيمة الايام من حقل الايام فى النموذج وهكذا والباقي الكود هيكمله عادي Expand بص انا لما بخرج من تاريخ الميلاد بيحصل تجميع عادى لكن لما بخرج من Y او M او D بيدينى رسايل خطأ انا هبعتلك المثال زى ما انا كنت عاملاه ياريت حضرتك تظبطلى نقطه تجميع السن اثناء الخروج من تاريخ الميلاد او من احد حقول السن اكون شاكره ليك عشان تعبت ومش عارفه اظبطها age collect.accdbFetching info...
عمر ضاحى قام بنشر نوفمبر 13, 2023 قام بنشر نوفمبر 13, 2023 في 12/11/2023 at 18:08, safaa salem5 said: بص انا لما بخرج من تاريخ الميلاد بيحصل تجميع عادى لكن لما بخرج من Y او M او D بيدينى رسايل خطأ انا هبعتلك المثال زى ما انا كنت عاملاه ياريت حضرتك تظبطلى نقطه تجميع السن اثناء الخروج من تاريخ الميلاد او من احد حقول السن اكون شاكره ليك عشان تعبت ومش عارفه اظبطها age collect.accdb 720 kB · 2 downloads Expand بعتذر عن التأخير اتفضلى الكود حسب طلبك (بعد اصلاح خطأ سابق) Sub xCalcAge() Dim years As Integer Dim months As Integer Dim days As Integer Dim xD, xM, xY As Integer Dim xAge As Double years = Nz(Y, 0) months = Nz(M, 0) days = Nz(D, 0) '---------------------------------------------------------- If days >= 20 Then xM = months + 1 xD = 0 Else xD = days End If '---------------------------------------------------------- If xM >= 10 Then xY = years + 1 xM = 0 Else xY = years xM = months End If '---------------------------------------------------------- If xY = 0 And xM = 0 And xD <> 0 Then xAge = xD ageunit = "Days" ElseIf xY = 0 And xM <> 0 And xD <> 0 Then xAge = xM ageunit = "Months" ElseIf xY = 0 And xM <> 0 And xD = 0 Then xAge = xM ageunit = "Months" ElseIf xY <> 0 And xM = 0 And xD <> 0 Then xAge = xY ageunit = "Years" ElseIf xY <> 0 And xM <> 0 And xD = 0 Then xAge = xY & "." & xM ageunit = "Years" Else xAge = xY & "." & xM ageunit = "Years" End If age = xAge End Sub مرفق الملف age collect.rarFetching info... . جربي واذا تم حل المشكلة اختاري افضل اجابة
safaa salem5 قام بنشر نوفمبر 13, 2023 الكاتب قام بنشر نوفمبر 13, 2023 في 13/11/2023 at 04:52, عمر ضاحى said: بعتذر عن التأخير اتفضلى الكود حسب طلبك (بعد اصلاح خطأ سابق) Sub xCalcAge() Dim years As Integer Dim months As Integer Dim days As Integer Dim xD, xM, xY As Integer Dim xAge As Double years = Nz(Y, 0) months = Nz(M, 0) days = Nz(D, 0) '---------------------------------------------------------- If days >= 20 Then xM = months + 1 xD = 0 Else xD = days End If '---------------------------------------------------------- If xM >= 10 Then xY = years + 1 xM = 0 Else xY = years xM = months End If '---------------------------------------------------------- If xY = 0 And xM = 0 And xD <> 0 Then xAge = xD ageunit = "Days" ElseIf xY = 0 And xM <> 0 And xD <> 0 Then xAge = xM ageunit = "Months" ElseIf xY = 0 And xM <> 0 And xD = 0 Then xAge = xM ageunit = "Months" ElseIf xY <> 0 And xM = 0 And xD <> 0 Then xAge = xY ageunit = "Years" ElseIf xY <> 0 And xM <> 0 And xD = 0 Then xAge = xY & "." & xM ageunit = "Years" Else xAge = xY & "." & xM ageunit = "Years" End If age = xAge End Sub مرفق الملف age collect.rar 37.91 kB · 6 downloads . جربي واذا تم حل المشكلة اختاري افضل اجابة Expand كدا تمام جزاك الله خيرا الداله فيها خطأ بسيط لما عدد الايام بيكون 30 او عدد الشهور. 30 ليتحول age. =1 Ageunit= years
safaa salem5 قام بنشر نوفمبر 13, 2023 الكاتب قام بنشر نوفمبر 13, 2023 (معدل) في 13/11/2023 at 09:15, safaa salem5 said: كدا تمام جزاك الله خيرا الداله فيها خطأ بسيط لما عدد الايام بيكون 30 او عدد الشهور. 30 ليتحول age. =1 Ageunit= years وعايزه اضيف رساله لو المستخدم دخل يكتب فى d قيمه اكتر من 30 تطلع رساله ادخل عدد الايام بطريقه صحيحه نفس الكلام لو زاد عدد الشهور عن 12 ادخل عدد الشهور بطريقه صحيحه Expand تم تعديل نوفمبر 13, 2023 بواسطه safaa salem5
عمر ضاحى قام بنشر نوفمبر 13, 2023 قام بنشر نوفمبر 13, 2023 في 13/11/2023 at 09:27, safaa salem5 said: Expand الخطأ هذا من الكود الخاص بيكي ممكن تستخدمي الدالة ال انا ارفقتها ليكي فى الاول للتحويل العمر الي يوم وشهر وسنه
safaa salem5 قام بنشر نوفمبر 13, 2023 الكاتب قام بنشر نوفمبر 13, 2023 في 13/11/2023 at 10:17, عمر ضاحى said: الخطأ هذا من الكود الخاص بيكي ممكن تستخدمي الدالة ال انا ارفقتها ليكي فى الاول للتحويل العمر الي يوم وشهر وسنه Expand الداله اللى حضرتك عاملها بتحول تاريخ الميلادل أيام وشهور وسنه المشكله بتحصل لما أكتب فى حقل اليوم او الشهر او السنه يعنى فى حالة ادخال يدوى فى الحقول دى يعنى كدا المشكله بعيده عن الداله بتاعت تاريخ الميلاد في 13/11/2023 at 13:54, safaa salem5 said: الداله اللى حضرتك عاملها بتحول تاريخ الميلادل أيام وشهور وسنه المشكله بتحصل لما أكتب فى حقل اليوم او الشهر او السنه يعنى فى حالة ادخال يدوى فى الحقول دى يعنى كدا المشكله بعيده عن الداله بتاعت تاريخ الميلاد Expand ممكن نحل المشكله إن انا امنع المستخدم يكتب رقم 30 حقل D او 12 فى حقل M برسائل تنبيه
عمر ضاحى قام بنشر نوفمبر 13, 2023 قام بنشر نوفمبر 13, 2023 استاذه / صفي طلبك فى حد ذاته فيه تعارض لا يجوز ان تطلبي تقريب وتحديد تاريح ميلاد لان الاثنين معا لن يكون فيها دقه اذا اردتي تحويل تاريخ الميلاد الى عمر او تحويل العمر الى تاريخ ميلاد طلبك هنا هيكون مظبوط لكن ان تطلبي تحديد تاريخ الميلاد وتقريب العمر هنا هتظهر نتائج خطأ لاحظي الصوره التاليه فى اخر مشهد بعد ما جاب تاريخ الميلاد وقربت غير الدينا ولتحويل العمر الى تاريخ ميلاد هتحتاجي الدالة هذه Function CalcBdate(years As Integer, months As Integer, days As Integer) As Date CalcBdate = DateAdd("yyyy", -years, Date) CalcBdate = DateAdd("m", -months, CalcBdate) CalcBdate = DateAdd("d", -days, CalcBdate) End Function وايضا الصب هذا Sub TestCalcBirthdate() Dim years As Integer Dim months As Integer Dim days As Integer years = Me.Y.Value months = Me.M.Value days = Me.D.Value bdate = CalcBdate(years, months, days) End Sub age collect.rar. 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.