اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر (معدل)

السلام عليكم

بعد إذن أخي أمجد وحيث أن البحث حاليا لا يعمل بشكل جيد فقد كتبت لك هذا الكود آمل أن يكون مفيدا :

Sub GetPeriod()
  Const YearAvg = 365.25
  Dim Days As Long
  '----------------
  Dim yy As Integer
  Dim mm As Integer
  Dim dd As Integer
  
  Days = 9625
  
  yy = Fix(Days / 365)
  If Fix(yy * YearAvg) > Days Then
    yy = yy - 1
  End If
  '-------------------------------
  Days = Days - Fix(yy * YearAvg)
  '-------------------------------
  mm = Fix(Days / 29.5)
  If IIf(mm > 2, CLng((mm - 2) * 30.6) + 59, CLng(mm * 30.6) + Int(mm > 1) * 2) > Days Then
    mm = mm - 1
  End If
  '-------------------------------
  dd = Days - IIf(mm > 2, CLng((mm - 2) * 30.6) + 59, CLng(mm * 30.6) + Int(mm > 1) * 2)
  
  MsgBox yy & " " & mm & " " & dd
End Sub

تحياتي .

تم تعديل بواسطه أبو هادي
قام بنشر (معدل)

السلام عليكم

أنشئ وحدة نمطية / موديول والصق به هذا الكود :

Option Explicit

'-- هذا الإجراء من كتابة الأستاذ أبو هاجر
Sub CalcAge(ByVal DateFm As Variant, ByVal DateTo As Variant, _
            ByRef vDays As Integer, ByRef vMonths As Integer, ByRef vYears As Integer)
  'Dim vMonths, vDays, vYears

  If Not IsDate(DateFm) Or Not IsDate(DateTo) Then Exit Sub

  DateFm = DateFm - 1  '-- تم إضافة هذا السطر بواسطة أبو هادي --'
  '------------------
  vMonths = DateDiff("m", CDate(DateFm), CDate(DateTo))
  vDays = DateDiff("d", DateAdd("m", vMonths, CDate(DateFm)), CDate(DateTo))
  If vDays < 0 Then
    vMonths = vMonths - 1
    vDays = DateDiff("d", DateAdd("m", vMonths, CDate(DateFm)), CDate(DateTo))
  End If
  vYears = vMonths \ 12
  vMonths = vMonths Mod 12
End Sub

Function GetAge(Days As Long) As String
  Const CalBegin = #1/1/2001#
  Dim yy As Integer
  Dim mm As Integer
  Dim dd As Integer

  Call CalcAge(CalBegin, (CalBegin - 1) + Days, dd, mm, yy)
  GetAge = yy & " " & mm & " " & dd
End Function
ثم من أي موقع تريد استدعاء الدالة أعلاه يمكنك ذلك بالطريقة التالية :
Sub Test()
  MsgBox GetAge(9625)
End Sub

إذا لم تستطع الإستفادة مما سبق فعليك بأن تضع مثالك في الرابط التالي وسوف أقوم بالتعديل عليه :

قسم مؤقت لتحميل الملفات إلى الموقع للأعضاء

تحياتي .

تم تعديل بواسطه أبو هادي
قام بنشر

السلام عليكم

أخي jaffjaff .. وعدي لك بالتعديل لطلبك هنا وهو كيف تستفيد من هذه الدالة . فإن كان كذلك فلا بأس ، فقط حدد لي نموذج واحد وحدد لي أين أستطيع أن أجد القيمة/الرقم الذي تريد تحويله إلى سنة وشهر ويوم .

أما وإن كان غير ذلك فأنا شديد الأسف بأني لن أتمكن من عمل أي تعديلات في مثالكم وذلك يعود لظروف الوقت والإرتباطات بأمور أخرى لها أولوياتها لدي .

كما أني أدعو من يستطيع المساعدة في التعديلات المطلوبة والمشروحة في القسم المؤقت لتحميل الملفات بأن لا يتردد بذلك وله مني الشكر والتقدير .

تحياتي .

قام بنشر

اخي ابو هادى

جزاك الله خيرا

عملت لي دالة في الاستعلام وهي Period

ماهي هذه الدالة وما محلها في النموذج

مشكور

قام بنشر

السلام عليكم

أخي الكريم .. Period ليس دالة بل هو إسم مستعار للحقل ويسمى بالإنجليزي Alias .

وليس له وجود بالنموذج ولكن نتيجته داخلة ضمن قيمة NetPeriod .

تحياتي .

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