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.rar
محمد احمد لطفى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 دى محاولة قد تكون صحيحة و قد تكون خاطئة حسب فهمى للسؤال مع تغيير حقل age لنص و ليس رقمى age collect.rar
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 (معدل) 1 hour ago, محمد احمد لطفى said: دى محاولة قد تكون صحيحة و قد تكون خاطئة حسب فهمى للسؤال مع تغيير حقل age لنص و ليس رقمى age collect.rar 589.43 kB · 0 downloads دا جزأ من المطلوب انا حاولت اكمل بنفس طريقتك 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 (معدل) 54 minutes ago, safaa salem5 said: عندى مشكلتين لما بيكون فى ايام لوحدها مش بتنزل ظهور النقطه جمب السن فى غير وقتها ageunitمش بتنزل اللى هى وحدة السن ايام شهور سنه age collect.rar تم تعديل نوفمبر 12, 2023 بواسطه safaa salem5
عمر ضاحى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 39 دقائق مضت, safaa salem5 said: عندى مشكلتين لما بيكون فى ايام لوحدها مش بتنزل ظهور النقطه جمب السن فى غير وقتها ageunitمش بتنزل اللى هى وحدة السن ايام شهور سنه age collect.rar 641.43 kB · 1 download احذفى ال . من الكود Me.age = Me.Y & "." & Me.M الى Me.age = Me.Y & " " & Me.M
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 (معدل) 9 minutes ago, عمر ضاحى said: احذفى ال . من الكود Me.age = Me.Y & "." & Me.M الى Me.age = Me.Y & " " & Me.M انا عايزه التجميعه دى مثلا شخص عنده 42 سنه و9شهور عايزاهم يتجمعو زى كدا 42.9 بمجرد ما يكون السن 42 سنه و10 شهور يتم تقريب السن ل 43 سنه تم تعديل نوفمبر 12, 2023 بواسطه safaa salem5
أفضل إجابة عمر ضاحى قام بنشر نوفمبر 12, 2023 أفضل إجابة قام بنشر نوفمبر 12, 2023 هل هذا ما تريدين age collect.rar انا وضعت تقريبا جميع الاحتمالات التى جربتها قد يكون هناك احتمالين او 3 لسه ما فكرت فيهم لكن خليهم عند التجربه انا لغيت الاكواد التى وضعتيها ووضعت ليكي مديول وصب 1
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 3 hours ago, عمر ضاحى said: هل هذا ما تريدين age collect.rar 582.18 kB · 4 downloads انا وضعت تقريبا جميع الاحتمالات التى جربتها قد يكون هناك احتمالين او 3 لسه ما فكرت فيهم لكن خليهم عند التجربه انا لغيت الاكواد التى وضعتيها ووضعت ليكي مديول وصب تمام كدا بس انا عامله الكود الخاص بتحويل تاريخ الميلاد ل ايام وشهور وسنه انا عايزه بس الجزئيه اللى انا بتكلم فيها كدا اشيل ايه من الكود
عمر ضاحى قام بنشر نوفمبر 12, 2023 قام بنشر نوفمبر 12, 2023 4 دقائق مضت, safaa salem5 said: تمام كدا بس انا عامله الكود الخاص بتحويل تاريخ الميلاد ل ايام وشهور وسنه انا عايزه بس الجزئيه اللى انا بتكلم فيها كدا اشيل ايه من الكود الكود ال انا لاغيه محوله لتعليق راجعي الاكواد غير اني كنت ملاحظ ان الموضوع ادخال يدوي صحيح ؟ عموما انا شايف كده افضل (مجرد راي طبعا والامر كله اليكي تختاري ما تفضلينه حسب حاجتك) اذا حابه تعديله يمكن ان الغيه لكي اذا حبيتي
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 23 minutes ago, عمر ضاحى said: الكود ال انا لاغيه محوله لتعليق راجعي الاكواد غير اني كنت ملاحظ ان الموضوع ادخال يدوي صحيح ؟ عموما انا شايف كده افضل (مجرد راي طبعا والامر كله اليكي تختاري ما تفضلينه حسب حاجتك) اذا حابه تعديله يمكن ان الغيه لكي اذا حبيتي انا فاهمه ان حضرتك لاغيه انا باعته لحضرتك المثال على اد اللى انا محتاجاه بس بس انا عندى تحويل من سن ل تاريخ ميلاد والعكس محتاجه بس جزئية تجميع السن 1 minute ago, safaa salem5 said: انا فاهمه ان حضرتك لاغيه انا باعته لحضرتك المثال على اد اللى انا محتاجاه بس بس انا عندى تحويل من سن ل تاريخ ميلاد والعكس محتاجه بس جزئية تجميع السن عايزه لما اخرج من حقل 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 25 minutes ago, عمر ضاحى 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)) هنا ممكن تستبدلى بالتوزيع الخاص بكي years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) دى مش فاهماهاه
safaa salem5 قام بنشر نوفمبر 12, 2023 الكاتب قام بنشر نوفمبر 12, 2023 3 minutes ago, safaa salem5 said: هنا ممكن تستبدلى بالتوزيع الخاص بكي years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) دى مش فاهماهاه بص انا عايزه ادى للمستخدم حرية اختيار لو كتب تاريخ الميلاد هيتحول ليوم وشهر وسنه ولو كتب السن سواء كان يوم او شهر او سنه هيتحول لتاريخ ميلاد وفى كلا الحالتين يتم تجميع السن فى حقل 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 1 hour ago, عمر ضاحى said: اقصد ان الجزء من هنا وفوق خاص بجلب العمر وتوزيعه على شهور وايام وسنوات years = Val(arrAge(0)) months = Val(arrAge(2)) days = Val(arrAge(4)) لكن انت ممكن تعملى ده اذا انت حابه تكتبى السنوات والشهور والايام بنفسك دون حساب years = Y 'هنا هياخد قيمة السنوات من حقل السنوات فى النموذج months = M 'هنا هياخد قيمة الاشهر من حقل الاشهر فى النموذج days = D 'هنا هياخد قيمة الايام من حقل الايام فى النموذج وهكذا والباقي الكود هيكمله عادي بص انا لما بخرج من تاريخ الميلاد بيحصل تجميع عادى لكن لما بخرج من Y او M او D بيدينى رسايل خطأ انا هبعتلك المثال زى ما انا كنت عاملاه ياريت حضرتك تظبطلى نقطه تجميع السن اثناء الخروج من تاريخ الميلاد او من احد حقول السن اكون شاكره ليك عشان تعبت ومش عارفه اظبطها age collect.accdb
عمر ضاحى قام بنشر نوفمبر 13, 2023 قام بنشر نوفمبر 13, 2023 10 ساعات مضت, safaa salem5 said: بص انا لما بخرج من تاريخ الميلاد بيحصل تجميع عادى لكن لما بخرج من Y او M او D بيدينى رسايل خطأ انا هبعتلك المثال زى ما انا كنت عاملاه ياريت حضرتك تظبطلى نقطه تجميع السن اثناء الخروج من تاريخ الميلاد او من احد حقول السن اكون شاكره ليك عشان تعبت ومش عارفه اظبطها age collect.accdb 720 kB · 2 downloads بعتذر عن التأخير اتفضلى الكود حسب طلبك (بعد اصلاح خطأ سابق) 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 . جربي واذا تم حل المشكلة اختاري افضل اجابة
safaa salem5 قام بنشر نوفمبر 13, 2023 الكاتب قام بنشر نوفمبر 13, 2023 4 hours ago, عمر ضاحى 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 . جربي واذا تم حل المشكلة اختاري افضل اجابة كدا تمام جزاك الله خيرا الداله فيها خطأ بسيط لما عدد الايام بيكون 30 او عدد الشهور. 30 ليتحول age. =1 Ageunit= years
safaa salem5 قام بنشر نوفمبر 13, 2023 الكاتب قام بنشر نوفمبر 13, 2023 (معدل) 14 minutes ago, safaa salem5 said: كدا تمام جزاك الله خيرا الداله فيها خطأ بسيط لما عدد الايام بيكون 30 او عدد الشهور. 30 ليتحول age. =1 Ageunit= years وعايزه اضيف رساله لو المستخدم دخل يكتب فى d قيمه اكتر من 30 تطلع رساله ادخل عدد الايام بطريقه صحيحه نفس الكلام لو زاد عدد الشهور عن 12 ادخل عدد الشهور بطريقه صحيحه تم تعديل نوفمبر 13, 2023 بواسطه safaa salem5
عمر ضاحى قام بنشر نوفمبر 13, 2023 قام بنشر نوفمبر 13, 2023 49 دقائق مضت, safaa salem5 said: الخطأ هذا من الكود الخاص بيكي ممكن تستخدمي الدالة ال انا ارفقتها ليكي فى الاول للتحويل العمر الي يوم وشهر وسنه
safaa salem5 قام بنشر نوفمبر 13, 2023 الكاتب قام بنشر نوفمبر 13, 2023 3 hours ago, عمر ضاحى said: الخطأ هذا من الكود الخاص بيكي ممكن تستخدمي الدالة ال انا ارفقتها ليكي فى الاول للتحويل العمر الي يوم وشهر وسنه الداله اللى حضرتك عاملها بتحول تاريخ الميلادل أيام وشهور وسنه المشكله بتحصل لما أكتب فى حقل اليوم او الشهر او السنه يعنى فى حالة ادخال يدوى فى الحقول دى يعنى كدا المشكله بعيده عن الداله بتاعت تاريخ الميلاد Just now, safaa salem5 said: الداله اللى حضرتك عاملها بتحول تاريخ الميلادل أيام وشهور وسنه المشكله بتحصل لما أكتب فى حقل اليوم او الشهر او السنه يعنى فى حالة ادخال يدوى فى الحقول دى يعنى كدا المشكله بعيده عن الداله بتاعت تاريخ الميلاد ممكن نحل المشكله إن انا امنع المستخدم يكتب رقم 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.