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

Foksh

الخبراء
  • Posts

    2,155
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    78

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

  1. استكمال الشرط اسم الخامة يساوي أي حقل في النموذج DLookup("سعـــر البيع", "المخزن", "[اسم الخامة] = 'اسم الخامة المطلوبة'") طبعاً من تصوري لجملة الدالة DLookup
  2. ما لم يكن هناك نسخة احتياطية ، أعتقد من الصعب استرجاع جدول تم حذفه من قاعدة البيانات 😬
  3. مشاركه مع الاستاذ @Barna في حدث عند النقر للزر SelectScanner
  4. راجع هذا الرابط ، بعد تجربتي له يعطيك اختيار اسم السكانر ( حسب ما اذكر )
  5. بما أن الفكرة هكذا .. أيضاُ إذا كان التعليق أكثر من سطر ، فيمكن تجزئة سطر التعليق بحيث عند اي جزء اترك مسافة بين آخر حرف وضع إشارة _ ثم Enter ليصبح التعليق مقسماً إلى أسطر .. ' لإضافة تعليق يمكن تقسيمه الى عدة أسطر _ نستطيع فعل التالي ليكون بهذا الشكل _ وها أنا في منتدانا الغالي ما زلت أتعلم _ ولله الحمد.
  6. أختنا الكريمة @olah بعد تجربة الكود السابق في المشاركة السابقة توضح انه لا يعمل بشكل صحيح ضمن القيم الفريدة .. وهذا تعديلي الأخير . قاعدة بيانات_عدد السجلات2.accdb
  7. اخي اشرح الفكرة التي في مشروعك بمرفق أول بصور على الأقل حتى نستفهم ما هو المطلوب
  8. اغلق الموضوع باختيار افضل اجابة أخي الكريم
  9. تفضلي باستبدال قيمة مربع النص في النموذج Form1 الى السطر التالي :- =DCount("[no]", "Table1", "dat_t Between Forms!Form1!d1 And Forms!Form1!d2") سيكون تعداد السجلات بناءً على الشرط في النموذج ( بين التاريخين ) من بيانات الجدول مباشرةً .
  10. وجهة نظر سديدة وأدعمها اذا لم يكن يرغب ( صاحب الموضوع ) بإضافة المكتبات 🤗
  11. يلزمك استخدام مكتبة اوفيس١٦ او ١٤ حسب اصدار الأوفيس لديك ليتم فتح مربع حوار اختيار ملف مثلاً.
  12. اخي عبدالقدوس48 ، الطلب غير واضح وغير مفهوم .. لا تبخل على سؤالك بالتوضيح
  13. ومشاركة مع أستاذنا ابو خليل فصل العدد الكسري.accdb
  14. معلمنا الفاضل هذا من حسن حظي بلا شك لا شك أن ألأستاذ @Barna أنتج عمل جميل وذكي ، إلا أن فكرتي كانت بتوسيع المجال ليس إلا
  15. هدفي والحمد لله تم تحقيقه تم والحمد لله تعميم الفكرة بحيث يمكن استعمالها في أكثر من جدول ، وحسب الحاجة دون تقييد . أولا انشاء المديول العام :- 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
  16. اعتذر منك اخوي على تجاربي التي تكاد تلمس نجاح فكرتك ، اقوم بقراءة الكود نظرياً لعدم وجودي قرب الكمبيوتر في الوقت الحالي سأقوم بتنفيذ الفكرة غداً سعياً لانجاح الفكرة ، فليس من طبعي الوقوف عند تجربة غير ناجحة والاستسلام لها. 🤗
  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 & ", " 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]; وأخبرني بالنتيجة 😊
  18. امممممم بعض التعديلات كما يلي ، ونبدأ في المديول :- 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]; جرب و وافني بالنتيجة 😊 طبعاً سيكون الإستخدام للمديول عاماً وليس خاصاً ، حيث تستطيع استخدامه لأكثر من جدول مع تغيير اسماء الحقول والجدول في الاستعلام في كل مرة 🤗
  19. عذراً في التأخر بالرد بسبب فصل الانترنت لدي فكرة اخرى مشاركة مع استاذي @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]; 😁 أن تصل متأخراً ، خير من أن لا تصل
  20. وأيضاً جرب هذا التعديل SELECT [اسم الحقل], [اسم جدول].[اسم الحقل تاريخ البداية] AS البداية, [اسم جدول].[اسم الحقل تاريخ النهاية] AS النهاية, Concat(Year([تاريخ البداية]), "/", Year([تاريخ البداية])+1, "/", Year([تاريخ البداية])+2) AS [السنوات] FROM [اسم جدول];
×
×
  • اضف...

Important Information