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

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    237

كل منشورات العضو ابوخليل

  1. ابو ياسين نريد نفهم ليش تنتهج هذه الطريقة .. الى الآن لم توضح لنا ذلك ؟ مع ان المسألة كلها نسخ احتياطية . ويتم استرجاعها ما المشكلة انك تضع النسخ الاحتياطية بجانب قاعدة البيانات الخلفية ، وتتنقل بينها متى ما اردت ؟ حذف البيانات من قاعدة البيانات لا يوافقك عليها اي مبرمج على الكرة الارضية فما بالك بحذف العلاقات ؟
  2. تم تعديل العنوان بما يتوافق والطلب انظر هنا مشابه لما تطلبه او ابحث في المنتدى كما في العنوان انظر هنا .. هذه اولى نتائج البحث
  3. رغم عدم قناعتي بطريقتك في التبديل بين النسخ باعتبارها خطيرة و الاحتمال وارد بشكل قاطع لفقدان شيء من البيانات فكلامك صحيح ومشكلتك بسبب العلاقات فيلزم لحل المشكلة ان يتم الاستيراد على خطوات بالترتيب : 1- حذف العلاقات في القاعدة المرتبطة 2- حذف البيانات في القاعدة المرتبطة 3- جلب البيانات من القاعدة النسخة 4- جلب العلاقات من القاعدة النسخة وهذا ماتم عمله في مثالك المرفق اتمنى ان يلبي حاجتك بـرنـامـج خـيـاط.rar
  4. تظهر في جميع الاصدارات انا اعمل على 2003 دائما تظهر لي وانا لم احدد الكل
  5. السلام عليكم وبعد اذن اخونا ابو ياسين افتح الاستعلام على التصميم ، وكليك يمين واختر SQL امسح النجمة والعلامة كما هو موضح بالصورة
  6. عليكم السلام 1- احذف الجداول المرتبطة 2- اعد ربطها من جديد سيطالبك بكلمة المرور
  7. السلام عليكم ابدأ بثلاث جداول : جدول العهد / جدول الموظفين / جدول الحركة يجب ان تتبع الطرق الصحيحة في تصميم الجداول والحقول داخلها من اهمها احرص ان تكون اسماء الجداول والحقول بحروف انجليزية والتسمية التوضيحية بالعربية
  8. فقط نريد بيانات كافية حتى نتأكد انا وانت ان العملية صحيحة غالبا تظهر الملاحظات والافكار عند التجربة
  9. تفضل لمعرفة كيف تم اظهار وقبول الحقول يجب ان تفتح التقرير على التصميم وتنظر الى مصدر البيانات الذي هو الاستعلام الجدولي انقر بزر الفأرة الأيمن على الجزء العلوي من الاستعلام واذهب الى الخصائص ستلاحظ اننا كتبنا اسماء الحقول المهنة2.rar
  10. تفضل لاحظ انه يحذف جميع الملفات ويبقي على أحدث 3 ملفات فقط x.rar
  11. السلام عليكم صحيح تفحص التاريخ وآخر ثلاثة ايام غير عملي فقد يتوقف العمل في البرنامج اكثر من ذلك وحينها يتم حذف جميع النسخ رغم اننا في المثال اخذنا الحيطة باخذ نسخة عند الفتح ، يبقى المسألة محتملة المخاطرة لذا بحثت في المنتديات المتخصصة وخرجت بهذا الكود الجميل الذي يحقق المطلوب بكل كفاءة : Sub DeleteOldFiles() Dim fso As New FileSystemObject Dim fil As File Dim oldfile As File Dim BackUpPath As String 'This is the FOLDER where your backups are stored Do Until fso.GetFolder(BackUpPath).Files.Count < 4 For Each fil In fso.GetFolder(BackUpPath).Files 'Checks to see if this file is older than the oldest file thus far If oldfile Is Nothing Then Set oldfile = fil If oldfile.DateLastModified > fil.DateLastModified Then Set oldfile = fil Next fil fso.DeleteFile oldfile, True Set oldfile = Nothing Loop End Sub هذا الكود يتطلب تثبيت مكتبة microsoft Script Runtime
  12. عزيزي : عندما اتصدى لحل المشكلة اعرض النقاط التي يجب مراعاتها في العمل ، وهذا الشيء هو منهجي الذي اتبعه في ردودي وسواء اخذ بها السائل في الحال او وضعها نصب عينيه مستقبلا . خذ نقدا رعاك الله : انت قمت بتسمية احد الحقول في الجدول بــ time وهذه الكلمة محجوزة في اكسس ولاحظ انها في صميم طلبك . على كل حال يمكن تحقيق مطلبك وتطبيقه على المثال ولكن يلزم رفع بيانات اكثر البيانات الموجودة في الجدول غير كافية للتجربة والفحص
  13. لا بد من اتباع القواعد الصحيحة لتصميم وبناء قواعد البيانات في مثالك من المتوقع وجود رقم الموظف وتاريخ العملية / ويفضل ان يكون التاريخ عام او ما يسمى جنرال = Now() ولو قلت اننا نستخرج البيانات بناء على الفترات (بداية الوقت ونهايته ) فنؤكد انه يجب ان يكون احد التواريخ في السجل = عام الدالة Now جميلة جدا تحتضن كل شيء ولو اردت معالجة بياناتك على الوضع الحالي فانت ملزم بصنع استعلام وفيه حقل خاص يجمع بين التاريخ والوقت اتمنى اكون بينت سبب الاشكال عندك
  14. تم تعديل العنوان اخي الكريم يجب الاهتمام باختيار العنوان المناسب للموضوع
  15. لا لم ينتهي الموضوع ولكن الذي في جعبتي انتهى ، فأنا اجتهدت في وضع القالب والأساسات اي احد تناسبه الفكرة ويروق له طريقة التصميم ، عليه التطبيق والتطوير وانا ان شاء الله حاضر وجاهز للمساعدة قدر استطاعتي
  16. هذا رابط تراثي للاستاذ ابي هادي وهذا الرابط لاستخدام الحذف اليدوي وهذا مثال تعرفت على صاحبه من الرمز في تسمية المرفق وهو الاستاذ ابو يوسف Public Sub DeleteDuplicateRecords(strTableName As String) ' حذف السجلات المكررة اذا كانت جميع الحقول متطابقة مع استبعاد حقول الترقيم التلقائى من عملية المقارنة Dim rst As DAO.Recordset Dim rst2 As DAO.Recordset Dim tdf As DAO.TableDef Dim fld As DAO.Field Dim strSQL As String Dim varBookmark As Variant Dim i As Integer i = 0 Set tdf = DBEngine(0)(0).TableDefs(strTableName) strSQL = "SELECT * FROM " & strTableName & " ORDER BY " ' ترتيب السجلات للتأكد من أن السجلات المكررة تكون متتالية 'OLE or Memo لن يتم الترتيب على اساس الحقول من نوع For Each fld In tdf.Fields If (fld.Type <> dbMemo) And (fld.Type <> dbLongBinary) Then strSQL = strSQL & fld.Name & ", " End If Next fld '", " و هى sql حذف العلامات الزائدة فى نهاية جملة ال strSQL = Left(strSQL, Len(strSQL) - 2) Set tdf = Nothing Set rst = CurrentDb.OpenRecordset(strSQL) ' نأخذ نسخة من مجموعة السجلات ليتم المقارنة بها Set rst2 = rst.Clone rst.MoveNext Do Until rst.EOF varBookmark = rst.Bookmark For Each fld In rst.Fields ' استبعاد حقول الترقيم التلقائى من عملية المقارنة If IsAutoNumber(fld) = False Then 'اذا كانت قيمة الحقل غير مكررة انتقل الى السجل التالى 'و اذا كانت مكررة انتقل الى الحقل التالى فى نفس السجل و قارن القيمة If fld.Value <> rst2.Fields(fld.Name).Value Then GoTo NextRecord End If End If Next fld 'احذف السجل المكرر rst.Delete 'عدد السجلات المحذوفة i = i + 1 GoTo SkipBookmark NextRecord: rst2.Bookmark = varBookmark SkipBookmark: rst.MoveNext Loop rst2.Close Set rst2 = Nothing rst.Close Set rst = Nothing MsgBox IIf(i > 0, "تم حذف عدد " & i & " سجلات مكررة", "لا يوجد سجلات مكررة") End Sub Function IsAutoNumber(ByRef fld As Object) As Boolean 'لتحديد ما اذا كان نوع الحقل ترقيم تلقائى ام لا On Error GoTo ErrHandler If TypeOf fld Is ADODB.Field Then IsAutoNumber = (fld.Properties("ISAUTOINCREMENT") = True) ElseIf TypeOf fld Is DAO.Field Then IsAutoNumber = (fld.Attributes And dbAutoIncrField) Else Err.Raise vbObjectError + 100, "IsAutoNumber()", _ "Unsupported Field Type argument: " & TypeName(fld) End If ExitHere: Exit Function ErrHandler: Debug.Print Err, Err.Description Resume ExitHere End Function MrNo_delete_repeated.rar
  17. شكرا استاذنا الغالي للنداء .. بالنسبة لي لا اذكر وايضا لا يحضرني شيء .. سأبحث في محفوظاتي لعلي اجد شيئا .
  18. عند كل اغلاق يقوم بتحديث الجدول .. هذه طريقة غير احترافية . ولكن قبل هذا : الدالة UmDate() تعمل في حقل النموذج المنظم ‘ فهي تعمل عندي ولو لم تعمل عندك يمكنك توظيف السطر : Me.textUm = UmR2L(Date()) توظفه في اي حدث مثلا عند تحميل النموذج او عند الكتابة في اي حقل باعتبار textUm هو حقل تاريخ ام القرى
  19. تاريخ اليوم الافتراضي : =Date() وتاريخ ام القرى الافتراضي : =UmDate() ولزيادة الفائدة : اي دالة خاصة بالتاريخ الميلادي يقابلها دالة في الوحدة النمطية فقط اضف Um فمثلا ()Now يقابلها ()UmNow وهكذا ....
  20. تفضل الدالة الخاصة بالتحويل الى تاريخ ام القرى ، و هي موجودة ضمن الوحدة النمطية Me.StartDateH = UmR2L(Me.StartDate) في النموذج اكتب التاريخ الميلادي وسيتحول آليا الى تاريخ ام القرى كما صنعت لك استعلام تحديث لتحديث الحقول الخالية السابقة الوحدة النمطية اعدها وصححها الاستاذ ابو هادي فلا تنسونا من دعوة صالحة في ظهر الغيب تحويل التاريخ.rar
  21. حول مرفقك الى صيغة mdb ان اردتني اعدل عليه وان لم تتمكن سأرفق لك مثالا من عندي
  22. تفضل Public Function toHjre(dm As Date) Dim sc As Integer Dim d1 As Date Dim z As String sc = Calendar Calendar = 0 d1 = dm Calendar = 1 z = CStr(d1) toHjre = Format(z, "YYYY/MM/DD") Calendar = sc End Function تحويل.rar مع الاخذ بالاعتبار ان التحويل الى الهجري المحول من اكسس ، وليس تقويم ام القرى حيث يوجد اختلافات وتعارض في نهاية بعض الشهور بين الميلادي وتقويم ام القرى اذا اردت اعتماد تقويم ام القرى فيجب ان تستخدم وحدة نمطية خاصة .. تجدها متوفرة في غالب امثلة المنتدى
  23. الامر يسير جدا فقط تبديل سطر بسط سأوافيك بالحل والمثال
×
×
  • اضف...

Important Information