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

Foksh

أوفيسنا
  • Posts

    4510
  • تاريخ الانضمام

  • Days Won

    195

كل منشورات العضو Foksh

  1. راجع هذا الرابط ، بعد تجربتي له يعطيك اختيار اسم السكانر ( حسب ما اذكر )
  2. بما أن الفكرة هكذا .. أيضاُ إذا كان التعليق أكثر من سطر ، فيمكن تجزئة سطر التعليق بحيث عند اي جزء اترك مسافة بين آخر حرف وضع إشارة _ ثم Enter ليصبح التعليق مقسماً إلى أسطر .. ' لإضافة تعليق يمكن تقسيمه الى عدة أسطر _ نستطيع فعل التالي ليكون بهذا الشكل _ وها أنا في منتدانا الغالي ما زلت أتعلم _ ولله الحمد.
  3. أختنا الكريمة @olah بعد تجربة الكود السابق في المشاركة السابقة توضح انه لا يعمل بشكل صحيح ضمن القيم الفريدة .. وهذا تعديلي الأخير . قاعدة بيانات_عدد السجلات2.accdb
  4. اخي اشرح الفكرة التي في مشروعك بمرفق أول بصور على الأقل حتى نستفهم ما هو المطلوب
  5. اغلق الموضوع باختيار افضل اجابة أخي الكريم
  6. تفضلي باستبدال قيمة مربع النص في النموذج Form1 الى السطر التالي :- =DCount("[no]", "Table1", "dat_t Between Forms!Form1!d1 And Forms!Form1!d2") سيكون تعداد السجلات بناءً على الشرط في النموذج ( بين التاريخين ) من بيانات الجدول مباشرةً .
  7. وجهة نظر سديدة وأدعمها اذا لم يكن يرغب ( صاحب الموضوع ) بإضافة المكتبات 🤗
  8. يلزمك استخدام مكتبة اوفيس١٦ او ١٤ حسب اصدار الأوفيس لديك ليتم فتح مربع حوار اختيار ملف مثلاً.
  9. اخي عبدالقدوس48 ، الطلب غير واضح وغير مفهوم .. لا تبخل على سؤالك بالتوضيح
  10. ومشاركة مع أستاذنا ابو خليل فصل العدد الكسري.accdb
  11. معلمنا الفاضل هذا من حسن حظي بلا شك لا شك أن ألأستاذ @Barna أنتج عمل جميل وذكي ، إلا أن فكرتي كانت بتوسيع المجال ليس إلا
  12. تفضل add attachment.accdb
  13. هدفي والحمد لله تم تحقيقه تم والحمد لله تعميم الفكرة بحيث يمكن استعمالها في أكثر من جدول ، وحسب الحاجة دون تقييد . أولا انشاء المديول العام :- Function CreateYearsRecords(sourceTableName As String, employeeFieldName As String, startDateFieldName As String, _ endDateFieldName As String, targetTableName As String, targetEmployeeFieldName As String, targetStartDateFieldName As String, targetEndDateFieldName As String, targetYearsFieldName As String) Dim sourceRS As DAO.Recordset Dim targetRS As DAO.Recordset Dim recordStartDate As Date Dim recordEndDate As Date Dim currentYear As Integer DoCmd.SetWarnings False DoCmd.RunSQL "DELETE " & targetTableName & ".* FROM " & targetTableName & ";" DoCmd.SetWarnings True Set sourceRS = CurrentDb.OpenRecordset(sourceTableName) Set targetRS = CurrentDb.OpenRecordset(targetTableName) Do Until sourceRS.EOF recordStartDate = sourceRS.Fields(startDateFieldName) recordEndDate = sourceRS.Fields(endDateFieldName) For currentYear = Year(recordStartDate) To Year(recordEndDate) targetRS.AddNew targetRS.Fields(targetEmployeeFieldName) = sourceRS.Fields(employeeFieldName) targetRS.Fields(targetStartDateFieldName) = sourceRS.Fields(startDateFieldName) targetRS.Fields(targetEndDateFieldName) = sourceRS.Fields(endDateFieldName) targetRS.Fields(targetYearsFieldName) = CStr(currentYear) targetRS.Update Next currentYear sourceRS.MoveNext Loop sourceRS.Close targetRS.Close Set sourceRS = Nothing Set targetRS = Nothing End Function ثانياً يمكن استدعاء الدالة كما يلي :- Call CreateYearsRecords("date1", "t1", "t2", "t3", "TEMP_DATE", "EmployeeName", "StartDate", "EndDate", "Years") بحيث يتم ادراج البيانات في جدول قابل للتغيير واسماء الحقول فيه أيضاً . Get Date.accdb
  14. اعتذر منك اخوي على تجاربي التي تكاد تلمس نجاح فكرتك ، اقوم بقراءة الكود نظرياً لعدم وجودي قرب الكمبيوتر في الوقت الحالي سأقوم بتنفيذ الفكرة غداً سعياً لانجاح الفكرة ، فليس من طبعي الوقوف عند تجربة غير ناجحة والاستسلام لها. 🤗
  15. تم تعديل الأكواد في المشاركة الأخيرة
  16. طيب ، جرب التعديل الاخير على المديول اخي @حامل المسك Function GetYearsBetweenDatesForPerson(personName As String, startDate As Date, endDate As Date) As String Dim yearString As String Dim currentYear As Integer yearString = "" currentYear = Year(startDate) Do While currentYear <= Year(endDate) If yearString <> "" Then yearString = yearString & ", " End If yearString = yearString & currentYear currentYear = currentYear + 1 Loop ' إرجاع السلسلة المكونة من سنوات GetYearsBetweenDatesForPerson = personName & ": " & yearString End Function والاستعلام SELECT [t1] AS [اسم الشخص], [t2] AS [تاريخ البداية], [t3] AS [تاريخ النهاية], GetYearsBetweenDatesForPerson([t1], [t2], [t3]) AS [السنوات] FROM [date1]; وأخبرني بالنتيجة 😊
  17. امممممم بعض التعديلات كما يلي ، ونبدأ في المديول :- Function GetYearsBetweenDatesForPerson(personName As String, startDate As Date, endDate As Date) As String Dim yearString As String Dim currentYear As Integer yearString = "" currentYear = Year(startDate) Do While currentYear <= Year(endDate) If yearString <> "" Then yearString = yearString & vbCrLf End If yearString = yearString & personName & ": " & currentYear currentYear = currentYear + 1 Loop GetYearsBetweenDatesForPerson = yearString End Function ثم الاستعلام سيكون على هذا الشكل :- SELECT GetYearsBetweenDatesForPerson([t1], [t2], [t3]) AS [السنوات] FROM [date1]; جرب و وافني بالنتيجة 😊 طبعاً سيكون الإستخدام للمديول عاماً وليس خاصاً ، حيث تستطيع استخدامه لأكثر من جدول مع تغيير اسماء الحقول والجدول في الاستعلام في كل مرة 🤗
  18. عذراً في التأخر بالرد بسبب فصل الانترنت لدي فكرة اخرى مشاركة مع استاذي @Barna بحيث لا تتكرر البيانات ابداً . في مديول ضع هذا الكود :- Function GetYearsBetweenDates(startDate As Date, endDate As Date) As String Dim yearString As String Dim currentYear As Integer yearString = Year(startDate) currentYear = Year(startDate) Do While currentYear < Year(endDate) currentYear = currentYear + 1 yearString = yearString & "/" & currentYear Loop GetYearsBetweenDates = yearString End Function ثم استخدم هذا الاستعلام Sql SELECT [t1] AS [اسم الحقل], [date1].[t2] AS [البداية], [date1].[t3] AS [النهاية], GetYearsBetweenDates([t2], [t3]) AS [السنوات] FROM [date1]; 😁 أن تصل متأخراً ، خير من أن لا تصل
  19. وأيضاً جرب هذا التعديل SELECT [اسم الحقل], [اسم جدول].[اسم الحقل تاريخ البداية] AS البداية, [اسم جدول].[اسم الحقل تاريخ النهاية] AS النهاية, Concat(Year([تاريخ البداية]), "/", Year([تاريخ البداية])+1, "/", Year([تاريخ البداية])+2) AS [السنوات] FROM [اسم جدول];
  20. الأستاذ @Barna قام باقتراح جميل . وهذه تجربة ثانية SELECT [اسم الحقل], [اسم جدول].[اسم الحقل تاريخ البداية] AS البداية, [اسم جدول].[اسم الحقل تاريخ النهاية] AS النهاية, Concat(Year([تاريخ البداية]), "/", Year([تاريخ النهاية])) AS [السنوات] FROM [اسم جدول];
  21. اخي الكريم لعدم معرفة اسماء الحقول والجدول ، هذا تصور خيالي ، واستبدل انت اسم الجدول واسم الحقول بما يناسبك SELECT [اسم حقل الإسم], Year([تاريخ البداية]) AS السنة FROM [اسم الجدول] WHERE Year([تاريخ البداية]) >= Year([تاريخ النهاية]) اذا لم تنجح ، فأرسل ملف 😊
  22. الصحيح أنا ما فهمت الموضوع لأنها ليست في قاموس الرياضيات اللي اعرفها 🧐 العدد يسار الفاصلة العشرية يسمة عدد صحيح ، والذي على اليمين يسمى العدد الكسري 😊
  23. ارسل مرفقك اخي الكريم لرؤية النماذج التي تستخدم الجدول المحدد . او انك تستخدم الجدول بدلا من استعلام لعرض البيانات في اكثر من نموذج
×
×
  • اضف...

Important Information