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

كتابة التاريخ بصيغة لا تتغير بتغير اعدادات الوندوز


jjafferr

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

السلام عليكم:smile:

 

من تجربتي ، وبسبب اختلاف اعدادات الوندوز ولغاته ، توصلت لعمل جدول خاص للاشهر tbl_Months ،

ممكن اعدادات الوندوز تظهر الشهر بصيغة December ، او ديسمبر ، او كانون الاول .

 

Clipboard01.jpg.f06e0475c10cafeb275fe95a691f5385.jpg

.

ولكنك تريد ان يظهر عندك الشهر بأحد هذه الصيغ ، بغض النظر نظام اي كمبيوتر يعمل عليه برنامجك ،

فيمكنك قراءة الطريقة التي تريدها من الجدول ، كما هو واضح في المثال

 

Clipboard02.jpg.4745597fd139d83b09a5eef27657ab28.jpg

.

وهذا الكود كمثال فقط ، عن طريقة مناداة الحقول من الجدول:

Private Sub myDate_AfterUpdate()

    'display the dates based on the system setting
    Me.Date_1_System = Format(Me.myDate, "dddd dd/mm/yyyy")
    Me.Date_2_System = Format(Me.myDate, "dddd dd, mmm yyyy")
    Me.Day_System = Format(Me.myDate, "dddd")
    Me.Month_System = Format(Me.myDate, "mmmm")
    
    '
    'use the following Functions to get the integer number of:
    'Today= 22 December 2017
    'Day(Today)     = 22
    'Weekday(Today) = 6     'Friday
    'Month(Today)   = 12    'December
    'Year(Today)    = 2017
    '
    
    Me.Day_table_Arabic = DLookup("[Days_Arabic]", "tbl_Months", "[Months_Number]=" & Weekday(Me.myDate))
    
    Me.Day_table_English = DLookup("[Days_English]", "tbl_Months", "[Months_Number]=" & Weekday(Me.myDate))
    
    Me.Month_Table_Georgian = DLookup("[Months_Georgian]", "tbl_Months", "[Months_Number]=" & Month(Me.myDate))
    
    Me.Month_Table_Iraqi = DLookup("[Months_Iraqi]", "tbl_Months", "[Months_Number]=" & Month(Me.myDate))
    
    Me.Month_Table_English = DLookup("[Months_English]", "tbl_Months", "[Months_Number]=" & Month(Me.myDate))
    
    Me.Date_Table_Georgian = DLookup("[Months_Georgian]", "tbl_Months", "[Months_Number]=" & Month(Me.myDate))
    Me.Date_Table_Georgian = Day(Me.myDate) & " " & Me.Date_Table_Georgian & " " & Year(Me.myDate)
    
    Me.Date_Table_Iraqi = DLookup("[Months_Iraqi]", "tbl_Months", "[Months_Number]=" & Month(Me.myDate))
    Me.Date_Table_Iraqi = Day(Me.myDate) & " " & Me.Date_Table_Iraqi & " " & Year(Me.myDate)
    
    Me.Date_Table_English = DLookup("[Months_English]", "tbl_Months", "[Months_Number]=" & Month(Me.myDate))
    Me.Date_Table_English = Day(Me.myDate) & " " & Me.Date_Table_English & " " & Year(Me.myDate)
    
    
End Sub

 

وبعدها توسعت في الجدول واستفدت منه لأشياء اخرى:smile:

 

جعفر

 

 

 

 

 

tbl_Months.mdb.zip

تم تعديل بواسطه jjafferr
تم عمل تعديلات على الموضوع ، وهو بحلّة جديدة الآن
  • Like 7
  • Thanks 3
رابط هذا التعليق
شارك

  • 2 weeks later...
  • 8 months later...
  • 5 months later...
  • 2 years later...

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

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

في ٢١‏/١٢‏/٢٠١٧ at 12:33, jjafferr said:

وهذا الكود كمثال فقط ، عن طريقة مناداة الحقول من الجدول:

لله درك من سبّاق 🙂 

قصدت لك يا معلمنا  الكود الموجود في مشاركتك الأولى ..

في حال أردت وضع تاريخ معين على أي حقل أو استعلام مثلا ( طبعا بطريقة الجدول ) ..

نريد أن نحضر القيمة من الجدول عن طريق دالة بهذه الصيغة مثلا :

'Function syntax:
DateFromTable(MyDate as Date,Taqweem as String, DatePart as String, Format as String) as Date

'Call it like this:
DateFromTable(Me.MyDate, "Georgian", "Month", "MMMM") 

طبعا كل ما تراه هو مقترح لمبتدئ وأنت أدرى بالصواب 😅

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

حاولت أسويها وحدي ولو بشكل (مشي حالك ) .. لكن الظاهر حتى أنا قهوتي ما ضاربة في المخيخ 😆

خلاصة ما أريد توصيله لك : تحويل الكود إلى دالة . 🙂 

 

شي من جنس هذي مثلا

Public Function DateFromTable(myDate As Date, Taqweem As String, WhatDatePart As String) As Date

    Select Case WhatDatePart
    Case Is = "Weekday"
        DateFromTable = DLookup(Taqweem, "tbl_Months", "[Months_Number]=" & Weekday(myDate))
    
    Case Is = "Month"
        DateFromTable = DLookup(Taqweem, "tbl_Months", "[Months_Number]=" & Month(myDate))
        DateFromTable = Day(myDate) & " " & DateFromTable & " " & Year(myDate)
    End Select
    
 End Function

 

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

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