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

ابوخليل

أوفيسنا
  • Posts

    12,463
  • تاريخ الانضمام

  • Days Won

    232

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

  1. بالنسبة للصورتين الاخيرتين فهي بسبب الحماية في اوفيس ، يمكنك تخفيض امان الماكرو فتختفي هذه الرسائل اما الرسالة الاولى فيوجد طريقتين لتجاوز الخطأ الاولى : اذا انت متأكد ان الكود بسيط والخطأ منطقي مثلا عدم وجود بيانات في حقل وضعت له شرطا ونحو ذلك يمكن ان تضع هذا السطر في البداية اعلى الكود On Error Resume Next ووظيفة هذا السطر انه اذا وجد خطأ يقفز لما بعده ويكمل تنفيذ الاجراء الثانية : اذا الكود يشتمل على جمل برمجية كل واحدة منها احتمال يصدر الخطأ منها فيجب ان تضع العبارة التالية On Error GoTo ErrHandler '>>>>> الصق كودك هنا Exit_ErrHandler: Exit Sub ErrHandler: MsgBox Err.Description Resume Exit_ErrHandler والوظيفة هنا تدلك على سبب الخطأ احيانا عند عدم فهم مكان الخطأ لتشابه الأوامر اقوم بتعطيل هذه الوظيفة لأكتشف بنفسي مكان الخطأ لأن المحرر سوف يقف عليه
  2. تفضل طريقة اخرى بكود مختلف Const MyTime = 5 'وقت سكون النموذج /ثواني Dim i As Long ' ========== اختر الحدث المناسب لك =========== Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) i = 0 End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) i = 0 End Sub ' ============================================= Private Sub Form_Timer() i = i + 1 If i > MyTime Then DoCmd.Close End Sub وهذا مثال تطبيق إغلاق تلقائي بعد مدة.mdb
  3. اخي الكريم يرجى مراعاة قواعد المشاركة يجب افراد سؤالك الاخير بموضوع وعنوان جديد يخصه
  4. لا يمكن لان التاريخ يشترك فيه اكثر من واحد يوجد حل وهو ان نمنع التكرار بشرط : الكود + التاريخ اسهل طريقة وهي مضمونة 100% هو ان تجعل الحقلين يشتركان في مفتاح الجدول اليك التعديل copy table2.accdb
  5. سيصبح هكذا Dim a, werldr1, werldr2 As String a = Choose_File(FolderPath(Nz(Me.AttachmentPath, ""))) Dim fileName As String fileName = a Dim vPathSplitter As Variant vPathSplitter = Split(fileName, "\") werldr1 = (vPathSplitter(UBound(vPathSplitter) - 1)) werldr2 = (vPathSplitter(UBound(vPathSplitter) - 2)) If Nz(a, "") <> "" Then Me.AttachmentPath = werldr2 & "\" & werldr1 & "\" & Right(a, Len(a) - InStrRev(a, "\")) If Not IsNull([AttachmentPath]) Then MsgBox "تم إضاف اسم المرفق بنجاح", vbInformation, "إضافة مرفقات" Else MsgBox "عفواً لم يتم تحديد المرفقات", vbInformation, "لا يوجد مرفقات لهذه الموضوع" End If آمل ان تدرس الكود جيدا تحديد اسم المرفق2.rar
  6. لم افهم قصدك ولكن هذه الطريقة اسرع وافضل تفضل DoCmd.RunSQL "INSERT INTO Table1 ( coud, nam, periode ) SELECT Table2.coud, Table2.nam, Table2.periode FROM Table2" يجب ان تحتاط لعملية التكرار لأن كل ضغطة زر سوف يعيد الالحاق مرة اخرى يجب ان يكون ضمن الجدول حقل فريد لا يمكن تكراره ينبني عليه عمل شرط copy table (1).accdb
  7. Private Sub Form_Timer() If MyTime = Empty Then MyTime = Now() If Now() >= DateAdd("s", 5, MyTime) Then DoCmd.Close End Sub
  8. عليكم السلام استخدم استعلام الحاق وخذ احتياطك في مسألة تكرر البيانات
  9. شوف الموضوع هذا تجد فيه حاجتك ، سواء تريد المجلد الاول او الثاني ...
  10. Right(a, Len(a) - InStrRev(a, "\")) تحديد اسم المرفق.rar
  11. نسيت شيئا هذا الكود يوضع في اعلى الكود السابق تحت المتغيرات بالضبط strSQL = "INSERT INTO tblNewTable (RecordID, Field1) " _ & " SELECT RecordID, Field1 FROM tblOldTable" db.Execute strSQL, dbFailOnError وايضا كود لحذف الجدول الجديد يوضع قبل هذا ... عذرا احبتي .. التوجيه لأخوتي المبتدئين ..
  12. شكرا استاذ موسى على المرفق الجميل جزاك الله خيرا قمت باستلال الزبدة منه .. لكونها هنا ابقى واقرب للتناول On Error GoTo errHandler Dim rs1 As DAO.Recordset 'Table with attachments to be imported Dim rs2 As DAO.Recordset 'Table to import attachments into Dim rs3 As DAO.Recordset2 'Attachments to be imported Dim rs4 As DAO.Recordset2 'Recordset to accept the new attachments Dim strSQL As String 'Open table with attachments strSQL = "SELECT RecordID, Attachments FROM tblOldTable WHERE Attachments.FileName Is Not Null ORDER BY RecordID" Set rs1 = db.OpenRecordset(strSQL, dbOpenSnapshot) 'Loop through all the records to be imported Do While Not rs1.EOF 'Open table to be appended strSQL = "SELECT RecordID, Attachments FROM tblNewTable WHERE RecordID=" & rs1!recordid Set rs2 = db.OpenRecordset(strSQL, dbOpenDynaset) 'Recordsets for the attachment fields Set rs3 = rs1!Attachments.Value Set rs4 = rs2!Attachments.Value 'Table to be appended must be in edit mode rs2.Edit 'Add all new attachments (Note: Access automatically adds the file type) Do While Not rs3.EOF rs4.AddNew rs4!FileData = rs3!FileData rs4!FileName = rs3!FileName rs4.Update rs3.MoveNext Loop 'Update parent record rs2.Update 'Go to next record with attachment to import rs1.MoveNext Loop 'Refresh new table subform Me.frmNewAttachment.Requery errExit: 'Cleanup rs2.Close rs1.Close Set rs4 = Nothing Set rs3 = Nothing Set rs2 = Nothing Set rs1 = Nothing Exit Sub errHandler: MsgBox Err.Number & ": " & Err.Description Resume errExit
  13. اخي الكريم تكرما اقرأ موضوع الاستاذ جعفر اعلاه تجده مع المثبتات لا يوجد صعوبة في كتابة المطلوب هنا تصور ان المرفقات تمت ازالتها .. ماذا سنجد في الموضوع
  14. وعليكم السلام .. اهلا ابا انس الحقيقة نقله عبر النموذج فيه صعوبة حبتين لاننا نحتاج لمصفوفة لجلب بيانات المرفق ايضا نحن بحاجة الى حقل صريح مرتبط بالحقل الذي نريد النقل منه ، ونموذجك مصدر بياناته الجدول المنقول اليه لدي استفسار ذو شقين : هل طلبك هو عملية نقل المرفق واحدا واحدا حسب الحاجة ؟ وما رأيك بعملية نسخ الجدول الأول بكامله الى الجدول الثاني ؟
  15. تأكد من نقل هذا الفنكشن الى برنامجك
  16. كل مرة امثلتك تتغير يوجد اخطاء برمجية كثيرة المهم اللي انت تريده حققته لك .. كلها تذهب ضمن بدي الرسالة افتح المثال وجرب ارسل وشوف بريدك تجرية11.rar
  17. شكرا ابو احمد .. تكثر الحاجة لمثله
  18. البلد : السودان .. ومعك حق انا غفلت عن الاسم ابن جبلة اذا انت يمني او سوري ، لان بلدة جبلة في اليمن وفي سوريا بالنسبة لمشكلتك اذا بتلغي شرط الفترة جرب تكتفي بحقلين فقط مفاتيح في الجدول
  19. ومشاركة مع اخي موسى يتم تعريف متغير عام .. ويتم تغيير قيمة المتغير من النموذج عند فتح التقرير If hedAPage = 1 Then Me.PageHeaderSection.Visible = False Me.PageFooterSection.Visible = False End If اخي موسى لاحظ اننا كنا نعمل على الاجابة في الوقت نفسه Database4.accdb
  20. تأكد يا زول ، انت ما جربتها الحقول الثلاث : اسم الطالب / السنة الدراسية / الفترة ، مفاتيح مرتبطة مع بعض يستحيل الحاق سجل مشابه للحقول الثلاث .
  21. واذا اردت تقرأ التاريخ من اليمين يصبح هكذا format([dateFiled];"yyyy-mm")
  22. format([dateFiled];"mm-yyyy")
×
×
  • اضف...

Important Information