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

ابوخليل

أوفيسنا
  • Posts

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

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

  • Days Won

    257

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

  1. تفضل استاذنا وجدت لك هذا DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "tbl2", strPath & "مصروفات عمومية" يعدل اسم الورقة والملف واذا لم تحصل على حل شافي فلدي اقتراح انه يتم تغيير اسم الورقة من داخل اكسل قريب من هذا : Public Sub changNm() I = Replace(ActiveSheet.Name, "_", " ") ActiveSheet.Name = I End Sub
  2. السلام عليكم هذا يعمل عندي ولا يضيف علامة : DoCmd.TransferSpreadsheet acExport, 5, "tbl2", FilPath & "مصروفات عمومية", True, ""
  3. الحمد لله انك وجدت حلا دائما عند النسخ واللصق او التحديث حاول ان تتعامل مع الجداول فنقل قيمة من نموذج لآخر هي في الاصل يتم نقلها الى جدول
  4. طيب اذا في الأولى كود مسؤول عن المقارنة والتأكد من الاختلاف فهذا تمام انقله واستخدمه في الثانية
  5. لا يوجد فارق في الخطورة بل الاخيرة محكمة واضمن بعدم حدوث الأخطاء الاولى : أول خطوة يتم فيها هو حذف جميع البيانات وهذا يكفي الطريقة الثانية يتم استبدال القاعدة بالكامل وكلا الطريقتين بالفناء سواء واعتقد ان الطريقة الاخيرة هي ماكنت تبحث عنها في موضوع لك سابق
  6. تفضل بـرنـامـج خـيـاط2.rar
  7. طيب .. نقول العاقل خصيم نفسه اذا عندي لك طريقة محكمة وسهلة جدا انتظرني ...
  8. ابو ياسين نريد نفهم ليش تنتهج هذه الطريقة .. الى الآن لم توضح لنا ذلك ؟ مع ان المسألة كلها نسخ احتياطية . ويتم استرجاعها ما المشكلة انك تضع النسخ الاحتياطية بجانب قاعدة البيانات الخلفية ، وتتنقل بينها متى ما اردت ؟ حذف البيانات من قاعدة البيانات لا يوافقك عليها اي مبرمج على الكرة الارضية فما بالك بحذف العلاقات ؟
  9. تم تعديل العنوان بما يتوافق والطلب انظر هنا مشابه لما تطلبه او ابحث في المنتدى كما في العنوان انظر هنا .. هذه اولى نتائج البحث
  10. رغم عدم قناعتي بطريقتك في التبديل بين النسخ باعتبارها خطيرة و الاحتمال وارد بشكل قاطع لفقدان شيء من البيانات فكلامك صحيح ومشكلتك بسبب العلاقات فيلزم لحل المشكلة ان يتم الاستيراد على خطوات بالترتيب : 1- حذف العلاقات في القاعدة المرتبطة 2- حذف البيانات في القاعدة المرتبطة 3- جلب البيانات من القاعدة النسخة 4- جلب العلاقات من القاعدة النسخة وهذا ماتم عمله في مثالك المرفق اتمنى ان يلبي حاجتك بـرنـامـج خـيـاط.rar
  11. تظهر في جميع الاصدارات انا اعمل على 2003 دائما تظهر لي وانا لم احدد الكل
  12. السلام عليكم وبعد اذن اخونا ابو ياسين افتح الاستعلام على التصميم ، وكليك يمين واختر SQL امسح النجمة والعلامة كما هو موضح بالصورة
  13. عليكم السلام 1- احذف الجداول المرتبطة 2- اعد ربطها من جديد سيطالبك بكلمة المرور
  14. السلام عليكم ابدأ بثلاث جداول : جدول العهد / جدول الموظفين / جدول الحركة يجب ان تتبع الطرق الصحيحة في تصميم الجداول والحقول داخلها من اهمها احرص ان تكون اسماء الجداول والحقول بحروف انجليزية والتسمية التوضيحية بالعربية
  15. فقط نريد بيانات كافية حتى نتأكد انا وانت ان العملية صحيحة غالبا تظهر الملاحظات والافكار عند التجربة
  16. تفضل لمعرفة كيف تم اظهار وقبول الحقول يجب ان تفتح التقرير على التصميم وتنظر الى مصدر البيانات الذي هو الاستعلام الجدولي انقر بزر الفأرة الأيمن على الجزء العلوي من الاستعلام واذهب الى الخصائص ستلاحظ اننا كتبنا اسماء الحقول المهنة2.rar
  17. تفضل لاحظ انه يحذف جميع الملفات ويبقي على أحدث 3 ملفات فقط x.rar
  18. السلام عليكم صحيح تفحص التاريخ وآخر ثلاثة ايام غير عملي فقد يتوقف العمل في البرنامج اكثر من ذلك وحينها يتم حذف جميع النسخ رغم اننا في المثال اخذنا الحيطة باخذ نسخة عند الفتح ، يبقى المسألة محتملة المخاطرة لذا بحثت في المنتديات المتخصصة وخرجت بهذا الكود الجميل الذي يحقق المطلوب بكل كفاءة : 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
  19. عزيزي : عندما اتصدى لحل المشكلة اعرض النقاط التي يجب مراعاتها في العمل ، وهذا الشيء هو منهجي الذي اتبعه في ردودي وسواء اخذ بها السائل في الحال او وضعها نصب عينيه مستقبلا . خذ نقدا رعاك الله : انت قمت بتسمية احد الحقول في الجدول بــ time وهذه الكلمة محجوزة في اكسس ولاحظ انها في صميم طلبك . على كل حال يمكن تحقيق مطلبك وتطبيقه على المثال ولكن يلزم رفع بيانات اكثر البيانات الموجودة في الجدول غير كافية للتجربة والفحص
  20. لا بد من اتباع القواعد الصحيحة لتصميم وبناء قواعد البيانات في مثالك من المتوقع وجود رقم الموظف وتاريخ العملية / ويفضل ان يكون التاريخ عام او ما يسمى جنرال = Now() ولو قلت اننا نستخرج البيانات بناء على الفترات (بداية الوقت ونهايته ) فنؤكد انه يجب ان يكون احد التواريخ في السجل = عام الدالة Now جميلة جدا تحتضن كل شيء ولو اردت معالجة بياناتك على الوضع الحالي فانت ملزم بصنع استعلام وفيه حقل خاص يجمع بين التاريخ والوقت اتمنى اكون بينت سبب الاشكال عندك
  21. تم تعديل العنوان اخي الكريم يجب الاهتمام باختيار العنوان المناسب للموضوع
  22. لا لم ينتهي الموضوع ولكن الذي في جعبتي انتهى ، فأنا اجتهدت في وضع القالب والأساسات اي احد تناسبه الفكرة ويروق له طريقة التصميم ، عليه التطبيق والتطوير وانا ان شاء الله حاضر وجاهز للمساعدة قدر استطاعتي
  23. هذا رابط تراثي للاستاذ ابي هادي وهذا الرابط لاستخدام الحذف اليدوي وهذا مثال تعرفت على صاحبه من الرمز في تسمية المرفق وهو الاستاذ ابو يوسف 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
×
×
  • اضف...

Important Information