اذهب الي المحتوي
أوفيسنا

ارغب في تحويل من تقويم ميلادي الى هجري


الرهوي

الردود الموصى بها

في ١٣‏/١‏/٢٠١٦ at 21:05, alrahawe said:

لدي قاعدة بيانات معتمدة على التاريخ الهجري ولحاجتي للتاريخ الميلادي قمت بوضع مربع نص له لادخاله

 

وما المانع من أن نجعل هذا الحقل الذى سننشأه لاستيعاب التاريخ الميلادى تاريخا ليس نصا - أعتقد أن هذا سيوفر علينا عناء البحث عن وحدات نمطية تتعامل مع النص على أنه تاريخ

رابط هذا التعليق
شارك

لان الاكسس لايعتمد التاريخين مع بعض وانا معتمد التقويم الهجري في برنامجي وعند جعل حقل التاريخ الميلادي حقل تاريخ يتعرف على التاريخ الميلادي كهجري .. يعني شكليا يعطيني ميلادي لكن عند عمل استعلام ومعايير بحث لايعطي النتيجة المطلوبة لانه برمجيا تاريخ هجري وليس ميلادي ..

فالحل ان تجعل التاريخ الميلادي في حقل نصي ويتم تحويله للهجري حتى استطيع التعامل معاه كتاريخ هجري ..

اتمنى عرفت اشرح الفكرة 

رابط هذا التعليق
شارك

حياك الله اخي الكريم

سؤال اخير ...

انت تريد عند الكتابة ان يبدأ المؤشر من اليمين هل هذا مقصدك .

ام الا يهم تريد شكل التاريخ فقط ان يصبح من اليمين الى اليسار .

 

رابط هذا التعليق
شارك

تفضل هذا الحل لعله يفى بالغرض

وبانتظار رد استاذ سعيد يبدو أنه سيجىء بالثريد 

Database1.rar

رابط هذا التعليق
شارك

السلام عليكم

 

طبعا بالاضافة الى طرق الشباب ، اليكم طريقة الكسالى :wink2:

 

1. غيّر القناع:

بدل
0000-00-00;0;_

اجعله
00-00-0000;0;_

 

2. قم بإدخال التاريخ بالعكس ، يعني السنة - الشهر - اليوم

 

جعفر

رابط هذا التعليق
شارك

6 دقائق مضت, أبو عبدالله الحلوانى said:

تفضل هذا الحل لعله يفى بالغرض

وبانتظار رد استاذ سعيد يبدو أنه سيجىء بالثريد 

Database1.rar

انت الغيت التاريخ الهجري من البرنامج وانا معتمد على الهجري 

يعطيك العافية على مجهوداتك

3 دقائق مضت, jjafferr said:

السلام عليكم

 

طبعا بالاضافة الى طرق الشباب ، اليكم طريقة الكسالى :wink2:

 

1. غيّر القناع:


بدل
0000-00-00;0;_

اجعله
00-00-0000;0;_

 

2. قم بإدخال التاريخ بالعكس ، يعني السنة - الشهر - اليوم

 

جعفر

يعطيك العافية 

بس ادخال التاريخ بالعكس لايناسبني

تقبل تحياتي

رابط هذا التعليق
شارك

6 دقائق مضت, alrahawe said:

انت الغيت التاريخ الهجري من البرنامج وانا معتمد على الهجري 

ما لغيت هجرى ولا ميلادى بل استخدمت الدالة Format داخل مربع النص a11  والذى عدلت اسمه الى a111  لتفادى خطأ التسمية لأن حقل التاريخ بالجدول اسمه a11 أيضا.

ولكن ما هى المشكلة التى ظهرت لديك والملف لدى يعمل جيدا انظر الصورة.. وعلى كل حال مازلت بانتظار ثريد أستاذنا سعيد

 

pct2.JPG

  • Like 1
رابط هذا التعليق
شارك

حياكم الله اخواني . 

اخ عبدالله جزاك الله خير انا اعتمدت تقريبا نفس الحل ولكن من خلال الكود .. بالمناسبة مرفقك لا يقبل الإدخال في حقل التاريخ لا اعلم لماذا .

الأستاذ جعفر ماشاء الله عليك ... ليتنا كلنا كسالى .

الأخ السائل الكريم 

اول شئ قم بتجربة حل الأستاذ جعفر .. ان كان يناسبك فخير وبركة .. 

=============================

ما لاحظته انا انك وضعت قناعي ادخال في النموذج وفي الجدول  .... قم بالغاء القناعين .

وقم بالإدخال عادي وبعد الخروج من الحقل سيتغير التاريخ كما طلبت فقط اظف سطر الى الكود الموجود لديك.

Private Sub a11_AfterUpdate()
On Error Resume Next
    Dim sc As Integer
    Dim d As Date
    Dim S As String
     sc = Calendar
    Calendar = 0
    d = CDate(a11.Text)
    Calendar = 1
    S = CStr(d)
     a11hijri = Format(S, "YYYY/MM/DD")
    Calendar = sc
    Me.a11 = Format(a11, "YYYY/MM/DD")
End Sub

لا حظ الإضافة هي السطر الأخير في الكود ..

بالتوفيق

فيه سؤال محيرني جدا ... ولكن وقفت عند رغبتك وما حبيت اكثر الأسئلة 

ماهو التقويم المعتمد في القاعدة  ؟؟؟؟؟

اذا كان هجري فلماذا نحول الى هجري .... واذا كان ميلادي فلماذا لانضع الحقل تاريخ وكفى ..

بالتوفيق

تم تعديل بواسطه سعيد صواب
  • Like 2
رابط هذا التعليق
شارك

9 دقائق مضت, أبو عبدالله الحلوانى said:

ما لغيت هجرى ولا ميلادى بل استخدمت الدالة Format داخل مربع النص a11  والذى عدلت اسمه الى a111  لتفادى خطأ التسمية لأن حقل التاريخ بالجدول اسمه a11 أيضا.

ولكن ما هى المشكلة التى ظهرت لديك والملف لدى يعمل جيدا انظر الصورة.. وعلى كل حال مازلت بانتظار ثريد أستاذنا سعيد

 

pct2.JPG

لايقبل الادخال في حقل التاريخ ؟؟

رابط هذا التعليق
شارك

22 دقائق مضت, سعيد صواب said:

Me.a11 = Format(a11, "YYYY/MM/DD")

 

هذا هو الحل الاسهل ، واخونا عبدالله استعمله ، ولكن لأنه وضعه في اعدادات مصدر الحقل بعلامة = ، فقفل الادخال ، واخونا سعيد تفادى هذا الخطأ بوضع التنسيق في الكود :rol:

 

انا كنت اعمل على نفس الفكرة ، ولكن بتفكيك مكونات الحقل a11 (طبعا الادخال سيكون كما هو ، وبعد الخروج من الحقل ، وفي نفس مكان سطر اخي سعيد ، كنت سأنادي وحدة نمطيه تقوم بتفكيك بيانات الخانه ، ثم إعادة تركيبها بالطريقة المطلوبه) :rol:

 

جعفر

 

 

هكذا:

Private Sub a11_AfterUpdate()
On Error Resume Next
    Dim sc As Integer
    Dim d As Date
    Dim S As String
     sc = Calendar
    Calendar = 0
    d = CDate(a11.Text)
    Calendar = 1
    S = CStr(d)
     a11hijri = Format(S, "YYYY/MM/DD")
    Calendar = sc
    
    Call Reverse_Date_Format
End Sub

Function Reverse_Date_Format()

    Dim x() As String
    
    If InStr(Me.a11, "-") > 0 Then
        a = "-"
    ElseIf InStr(Me.a11, "/") > 0 Then
        a = "/"
    End If
    
    x = Split(Me.a11, a)
    
    a0 = x(0)
    a1 = x(1)
    a2 = x(2)
    
    If Len(a0) > Len(a2) Then
    
        Me.a11 = a0 & a & a1 & a & a2
    Else
        Me.a11 = a2 & a & a1 & a & a0
        
    End If
    
End Function

 

جعفر

  • Like 2
رابط هذا التعليق
شارك

بارك الله فيك استاذ جعفر وفي الاستاذ عبدالله ... 

وان شاء الله ان اخونا السائل وجدت الجواب ..

 

ولكن اريد منك اخي السائل ان تجيبني على سؤالي بخصوص التاريخ المعتمد 

بارك الله فيكم جميعا ..

رابط هذا التعليق
شارك

33 دقائق مضت, سعيد صواب said:

حياكم الله اخواني . 

اخ عبدالله جزاك الله خير انا اعتمدت تقريبا نفس الحل ولكن من خلال الكود .. بالمناسبة مرفقك لا يقبل الإدخال في حقل التاريخ لا اعلم لماذا .

الأستاذ جعفر ماشاء الله عليك ... ليتنا كلنا كسالى .

الأخ السائل الكريم 

اول شئ قم بتجربة حل الأستاذ جعفر .. ان كان يناسبك فخير وبركة .. 

=============================

ما لاحظته انا انك وضعت قناعي ادخال في النموذج وفي الجدول  .... قم بالغاء القناعين .

وقم بالإدخال عادي وبعد الخروج من الحقل سيتغير التاريخ كما طلبت فقط اظف سطر الى الكود الموجود لديك.


Private Sub a11_AfterUpdate()
On Error Resume Next
    Dim sc As Integer
    Dim d As Date
    Dim S As String
     sc = Calendar
    Calendar = 0
    d = CDate(a11.Text)
    Calendar = 1
    S = CStr(d)
     a11hijri = Format(S, "YYYY/MM/DD")
    Calendar = sc
    Me.a11 = Format(a11, "YYYY/MM/DD")
End Sub

لا حظ الإضافة هي السطر الأخير في الكود ..

بالتوفيق

فيه سؤال محيرني جدا ... ولكن وقفت عند رغبتك وما حبيت اكثر الأسئلة 

ماهو التقويم المعتمد في القاعدة  ؟؟؟؟؟

اذا كان هجري فلماذا نحول الى هجري .... واذا كان ميلادي فلماذا لانضع الحقل تاريخ وكفى ..

بالتوفيق

الف شكر لك وللاخوان جميعا 

قمت بحذف قناع الادخال من النموذج ومن الجدول واضفت الكود المذكور

ولو ان الشرطة المائلة صرت ادخلها يدوي لكن ضبط معي ويفي بالغرض تحياتي للجميع والف شكر

بالنسبة لسؤالك اخي سعيد

انا معتمد الهجري ولكن هناك بعض الادخالات تكون بالميلادي ويكون مطلوب لها استعلام وبحث فتوصلت لهذه الطريقة لكي احل هذه الاشكالية

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information