بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
لدي حقل في جدول يحتوي على رقم واسم الحقل month
كيف احول الرقم إلى عدد الشهور والسنين
بمعنى
5 = 5 شهور
12 = سنة
14 = سنة وشهرين
وجزاكم الله كل خير
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
لدي حقل في جدول يحتوي على رقم واسم الحقل month
كيف احول الرقم إلى عدد الشهور والسنين
بمعنى
5 = 5 شهور
12 = سنة
14 = سنة وشهرين
وجزاكم الله كل خير
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
اخي الكريم .. لعل في هذا المثال ما يلبي طلبك
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
اخ koao ممكن تشرح لي هذا الكود
Private Sub month_AfterUpdate()
Dim Month_Count, Year_Count As Integer
Dim Month_String, Year_String As String
Year_Count = Me.month \ 12
Month_Count = Me.month - (Year_Count * 12)
Select Case Year_Count
Case 0
Year_String = ""
Case 1
Year_String = ""
Case 2
Year_String = "ÓäÊÇä"
Case 3 To 10
Year_String = Year_Count & " ÓäæÇÊ"
Case Is > 11
Year_String = Year_Count & " "
End Select
Select Case Month_Count
Case 0
Month_String = ""
Case 1
Month_String = ""
Case 2
Month_String = "ÔåÑÇä"
Case 3 To 10
Month_String = Month_Count & " ÔåæÑ"
Case Is > 11
Month_String = Month_Count & " "
End Select
If Year_Count <> 0 And Month_Count = 0 Then
Me.Date_Full_Phrase = Year_String
ElseIf Year_Count = 0 And Month_Count <> 0 Then
Me.Date_Full_Phrase = Month_String
ElseIf Year_Count <> 0 And Month_Count <> 0 Then
Me.Date_Full_Phrase = Year_String & " æ " & Month_String
End If
End Sub
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
أخي بوجهاد .. أنت تأمر ونحن نلبي .. ولكن هدانا الله وإياك لم تبين ما أشكل عليك في الكود
لذا سأحاول أشرح الكود كاملا
Dim Month_Count, Year_Count As Integer Dim Month_String, Year_String As String Year_Count = Me.month \ 12
عرفت متغيرين من نوع Integer لتخزيين عدد السنوات وعدد الشهور
وكذلك متغيرين من نوع String لتخزيين النص كسنة وسنتان وسنوات وكذلك شهر وشهران وشهور
ثم إستخدمت المعامل \ وهو يختلف عن / لأن الأول يعطي رقم صحيح لناتج عملية القسمة والآخر يعطي رقم عشري
فلو قسمت بإستخدام المعامل \
5 على 12 فإن الناتج صفر .. ولو قسمت 13 على 12 فإن الناتج واحد .. وهكذا
ووضعت ناتج قسمة عدد الشهور في الحقل month في المتغير Year_Count
Month_Count = Me.month - (Year_Count * 12)
ووضعت ناتج طرح الناتج من ضرب قيمة المتغير Year_Count بـ 12 من عدد الشهور في الحقل month في المتغير Month_Count
Select Case Year_Count Case 0 Year_String = "" Case 1 Year_String = "ÓäÉ" Case 2 Year_String = "ÓäÊÇä" Case 3 To 10 Year_String = Year_Count & " ÓäæÇÊ" Case Is > 11 Year_String = Year_Count & " ÓäÉ" End Select Select Case Month_Count Case 0 Month_String = "" Case 1 Month_String = "ÔåÑ" Case 2 Month_String = "ÔåÑÇä" Case 3 To 10 Month_String = Month_Count & " ÔåæÑ" Case Is > 11 Month_String = Month_Count & " ÔåÑ" End Select
<< يبدو أن التشفير في الأكسيس يختلف عن المنتدى لذا قد لا تظهر الحروف العربية بشكل واضح>>
عموما .. كم تعلم فإنك تقول سنة ولا تقول 1 سنة وتقول سنتان ولا تقول 2 سنة وهكذا
لذا وضعت تحليل لقيمة متغير عدد السنوات بإستخدام عبارة Select Case ووضعت القيمة المناسبة في المتغير Year_String
فلو كان عدد السنوات صفر .. فقيمة المتغير ستكون لا شئ لأمنع ظهور 0 سنة فلا حاجة لذكرها
ولو كان واحد .. فقيمة المتغير ستكون سنة فقط ولا حاجة لظهور الرقم 1 والذي سنحتاج لتبيين الرقم كما سترى لاحقا
ولو كان إثنين ... فقيمة المتغير ستكون سنتان فقط ولا حاجة لظهور الرقم 2
ولو كان بين الرقمين 3 و10 فنحتاج لتبيين قيمة متغير عدد السنوات كرقم ثم كلمة سنوات
ولو كان أكبر من 11 سنة (وهنا تبين لي أني أخطأت فالمفروض يكون أكبر أو يساوي) فيجب علي تبيين قيمة متغير عدد السنوات كرقم ثم كلمة سنة
ونفس الشئ بالنسبة لمتغير عدد الشهور ووضعته في المتغير Month_String
If Year_Count <> 0 And Month_Count = 0 Then Me.Date_Full_Phrase = Year_String ElseIf Year_Count = 0 And Month_Count <> 0 Then Me.Date_Full_Phrase = Month_String ElseIf Year_Count <> 0 And Month_Count <> 0 Then Me.Date_Full_Phrase = Year_String & " æ " & Month_String End If
هنا فقط لمعرفة هل نستخدم "و" بين المتغيرين أو لا .. مع أنني تبين لي أنني أخطأت فالكود المفروض يكون كالتالي
If Year_Count <> 0 And Month_Count <> 0 Then Me.Date_Full_Phrase = Year_String & " æ " & Month_String Else Me.Date_Full_Phrase = Year_String & Month_String End If
وخطأي أنه لست محتاج أن أختبر كل متغير إذا هو صفر .. بحكم أنني قد حللت القيمة بإستخدام العبارة Select Case السابقة
أرجو أني وفقت بالشرح .. وهذا المثال بعد تفادي الأخطاء
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
أخي الحبيب koao
السلام عليكم ورحمة الله وبركاته
الف شكر على جهدك الرائع هذا ما كنت أبحث عنه
لكن هل استطيع استخدامه في استعلام ؟؟
وألف شكر مرة أخرى
اقتباسلكن هل استطيع استخدامه في استعلام ؟؟
أخي الكريم .. ما فهمت طلبك .. الجدول وبه الحقل الذي طلبته في بداية موضوعك .. فجواب سؤالك نعم أنشئ إستعلام مبني على الجدول
وإذا ما عرفت فأبشر باللي يرضيك
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
أخي الكريم
شكرا لردك ولتواجدك معي
اريد نفس الجدول month به عدد الشهور
ثم انشئ استعلام month عدد الشهور Date_Full_Phrase به نفس البيانات سنة وسهر مثلاً
لكن دون الحاجة لنموذج لتسجيلها
حيث أن عندي قاعدة بيانات قديمة فيها الآف السجلات ولا أريد ادخال البيانات من جديد
شكرا لك
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
أخي ابوغدي .. غالي والطلب رخيص
تم عمل ما تريد عن طريق الإستعلام من دون النموذج
عملت إستعلام بإسم koao لتحليل البيانات كما ستلاحظ
ثم عملت إستعلام بإسم koao1 يأخذ الزبدة .. من الإستعلام الأول كما ستلاحظ
والحمدلله رب العالمين أولا وآخرا
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
السلام عليكــم ورحمـة الله وبركاتــه
بارك الله فيك اخي koao وجزاك خير الجزاء على كل ما تقدمه لأخواننا بمنتدانا الغالي
ًاقتباس<< يبدو أن التشفير في الأكسيس يختلف عن المنتدى لذا قد لا تظهر الحروف العربية بشكل واضح>>
فعلاً هذه المشكلة موجودة ولتفاديها تحتاج الى تحرير الكود بعد ادراجه وتنسيقه وبالتحديد كل العبارات التي تحتوي على اللغة العربية ليظهر الكود واضحاً
تقبل فائق الاحترام والتقدير,,,
اخوك / يوسف احمد
أستاذي الكريم .. يوسف أحمد .. شرفتني بإهتمامك ومتابعتك
ومهما قدمنا .. فلن نرد جميل هذا الصرح الشامخ في المنتديات العربية .. فمنكم ومن أساتذتي الأفاضل وأعضاء هذا المنتدى المعطاء .. تعلمت التقنية البرمجية وغيرها و ,, وهو الأهم المحبة والتواصل بين أخواننا من جميع الأقطار العربية
ومهما كانت المشاكل الفنية فالجهد المبذول من القائمين على المنتدى يشكرون عليه وعلى تطويرهم المتواصل والملحوظ
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
أخي الحبيب koao
لا أستطيع التعبير عن مدى شكري وتقديري لك
هذا فعلا ما اردت
فجزاك الله كل خير