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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. 1. نعم 2. نعم ، حل الاستعلام اللي ما اشتغل عندك طيب ، ممكن تخبرني ما هو مصدر النموذج ؟ جعفر
  2. في هذه الحالة يجب ان تستعمل الطريقة رقم 1 في اول مشاركة لي جعفر
  3. حيالله اخونا العود هذا اللي كنت اقصده لما قلت: اما بالنسبة الى المستخدم ، فلن يتدخل في شئ ، والكود المفروض يعمل الشغل كله ، بس لوسمحت تعطيني الاحتمالات ، وان شاء الله اشتغل على الموضوع اما بالنسبة للجدول المؤقت (وطبعا هذه الطريقة الاسهل) ، فالطريقة التي استعملها ، هي ان اعمل برنامج mdb خارجي وفيه الجدول المؤقت ، وبربط الجدول او حتى عن طريق الاستعلام بهذا الجدول الخارجي ، وتكون البيانات جاهزة للعمل كما قمت انت العمل عليها سابقا ، واخي صالح وفكرة اخونا رمهان انت اختار ، واحنا ننفذ ان شاء الله جعفر
  4. السلام عليكم شباب في الواقع عندي حلين غير الجدول المؤقت (انا شخصيا احاول الابتعاد عنه ، لأن تعبئتة ، وحذف البيانات ، وتعبئته ... ، يجعلون البرنامج يكبر بحجمه ، وبالتالي يحتاج الى ضغط لإرجاعه لحجمه العادي) ، الحل الاول: استعمال الاستعلام Union النتيجة: . والحيلة هي تكرار استعلام واحد فقط بعدد المرات التي ارادها اخوي أبوخليل: . واضطررت استخدام 3 استعلامات ، لأن استعلام Union ما رضى بالـ 65 استعلام داخل استعلام واحد طبعا هذه محاولة مبدئية ، فاذا اخوي أبوخليل اراد المضي في هذا الطريق ، فسأحتاج معلومات اكثر علشان اصقل الجواب اما الطريقة الثانية ، واللي سأبدأ المحاولة فيها ، هي استعمال WebBrowser داخل التقرير ، وعمل عدد الحقول فيها مرة واحدة جعفر 524.rep.mdb.zip
  5. تفضل الكود يشتغل ، بس بسبب انك كنت علامة صح بالكود القديم ، فالجدول كله عليه علامة صح ، انا الغيت الصح من الجدول بالكامل ، وارفقت لك البرنامج بكود الاستعلام جعفر 523.Selection.accdb.zip
  6. وعليكم السلام هذا الرابط للأكسس 2007 فما فوق: https://support.office.com/en-us/article/Create-custom-menus-and-shortcut-menus-by-using-macros-5bd538ff-19c4-4dfe-9540-3309aebf8a1a?CorrelationId=efc3d151-69a4-4453-8686-d8a378a3c6ca&ui=en-US&rs=en-US&ad=US&ocmsassetID=HA010282509 جعفر
  7. وعليكم السلام الكود السابق كان يستعمل سجلات الجدول fatora ، بينما الكود التالي يستخدم سجلات مصدر النموذج ، والذي هو الاستعلام esfatora : CurrentDb.Execute ("UPDATE esfatora SET done =" & Not Me.done) جعفر
  8. السلام عليكم تم تغيير الكود الى: Option Compare Database 'have the value of show_Footer availabe, always in the Report Private show_Footer As Integer 'if we have the GroupFooter visible, we turn PageFooter items invisible Private Sub GroupFooter1_Format(Cancel As Integer, FormatCount As Integer) show_Footer = 1 End Sub Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer) If show_Footer = 1 Then Cancel = True show_Footer = 0 End If End Sub Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) ' If Me.RowCount Mod 47 = 0 Then ' Detail.ForceNewPage = 2 ' after section ' Else ' Detail.ForceNewPage = 0 ' none ' End If End Sub . جعفر 521.1.Sheet.accdb.zip
  9. وعليكم السلام الرابط التالي فيه برنامج فنادق مجاني http://www.access-diva.com/dm13.html جعفر
  10. السلام عليكم كود بسيط وعمل جبّار شكرا أخي صالح على مشاركتك جعفر
  11. نعم انا فهمت قصدك من البداية ، شكرا جعفر
  12. حيا الله اخوي شفان للعلم ، وهذا الكود كذلك يعتمد على الامر Not الشئ الذي يجب ان يكون على بالنا وقت المشاركة في اي من المواضيع: هذا المنتدى للتعلّم وتعليم الاخرين ، لذلك ، بعض الاوقات ترى اني اضع اكثر من طريقة لحل الموضوع ، وبعض الاوقات اضع توضيح لكل سطر ، وبعض الاوقات افكك الحل لأسطر اكثر حتى يكون سهل على الشباب تغييره لاحقا ، وبعض الاوقات تحذير عن الوقوع في خطأ ومثل ما هو مكتوب في اسفل مواضيعي: في اعتقادي ، مشاركة أكثر من شخص في الرد على السؤال ، هو فائدة للجميع ، فمنه نتعلم الطرق الاخرى للإجابة على السؤال ، ونتعلم خبايا البرمجة فبمشاركة الاخ صالح ، اصبح هذا الموضوع اكثر اثراءً جعفر
  13. التعديل جميل ايش رايك نقلل الكود الذي وضعته انت ، بواسطة الامر Not ، ومعناه ، غيّر القيمة الحالية الى القيمة التي ليست فيه: Dim f As Boolean Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount f = rst!done For i = 1 To RC rst.Edit rst!done = Not f rst.Update rst.MoveNext Next i rst.Close: Set rst = Nothing End Sub . جعفر ونعم كنت على علم بهذا ، ولكني كنت اعتقد بأن المبرمج كان سيقفل على المستخدمين تغيير الحقل يدويا ، وبالتالي تكون المشكلة تم حلها ولكن ، وحتى بالحليين (الحل الثاني الذي تركته انا في الكود الاصلي) ، وحتى الطريقة التي تفضلت بها انت ، فنحن نعتمد على قيمة اول حقل ، وربما لم يكون صحيحا ، لذا سيضطر المستخدم الى الضغط على زر التغيير مرتين (بعض الاوقات للحصول على القيمة الصحيحة) جعفر
  14. وعليكم السلام تفضل Private Sub cmd_Select_All_Click() '1 ' Dim rst As DAO.Recordset ' Set rst = Me.RecordsetClone ' rst.MoveLast: rst.MoveFirst ' RC = rst.RecordCount ' ' For i = 1 To RC ' rst.Edit ' rst!done = Not rst!done ' rst.Update ' ' rst.MoveNext ' Next i ' ' rst.Close: Set rst = Nothing '2 CurrentDb.Execute ("UPDATE fatora SET done =" & Not Me.done) Me.Requery End Sub . جعفر
  15. وعليكم السلام ورحمة الله وبركاته اختي ، انا لست من مشجعي حفظ المرفق في الجدول ، لذلك لا املك خبرة كافية في هذا الموضوع ، لذا ، بحثت ووجدت مثال ، وقمت بتعديل المثال ليناسب مع طلبك الكود التالي به وحدتان نمطيتان: الاولى: CopyAttachment (الوحدة النمطية الاصلية) ، لعمل نسخة من المرفق الى حقل في سجل جديد آخر ، وهكذا يستعمل: ومثلا نريد نسخ المرفق في الحقل fld_1 في الجدول tbl_1 ، من السجل الذي Emp=25 (هذا الحقل غير الزامي ، فيمكن تجاهله وتركه فارغا) ، الى الحقل fld_2 في tbl_2 ، call CopyAttachment("tbl_1", "fld_1", _ "tbl_2", "fld_2", _ "Emp=25") . الثانية: UpdateAttachment (الوحدة النمطية التي عدلت عليها) ، لتحديث حقل موجود اصلا ، ووهكذا يستعمل: ومثلا نريد نسخ المرفق في الحقل fld_1 في الجدول tbl_1 ، من السجل الذي Emp=25 ، وتحديث الحقل fld_2 في tbl_2 ، الى السجل الذي Emp=30 " call UpdateAttachment("tbl_1", "fld_1", _ "tbl_2", "fld_2", _ "Emp=25", "Emp=30") . والوحدتان النمطيتان هما: Option Compare Database 'from 'http://www.access-programmers.co.uk/forums/showpost.php?p=1465813&postcount=3 ' Public Sub CopyAttachment(ByVal strTableSource As String, _ ByVal strSourceAttachmentField As String, _ ByVal strTableTarget As String, _ ByVal strTargetAttachmentField As String, _ Optional ByVal strCondition As String = "") Dim rstFrom As DAO.Recordset2 Dim rstTo As DAO.Recordset2 Dim rstMVF As DAO.Recordset2 Dim rstMVT As DAO.Recordset2 Dim strSQL As String Dim db As DAO.Database strSQL = "SELECT * FROM " & strTableSource Set db = CurrentDb If strCondition <> "" Then strSQL = strSQL & " WHERE " & strCondition End If Set rstFrom = db.OpenRecordset(strSQL, dbOpenDynaset) Set rstTo = db.OpenRecordset(strTableTarget, dbOpenDynaset) Do While rstFrom.EOF = False rstTo.AddNew 'rstTo!Description = rstFrom![Description] Set rstMVF = rstFrom(strSourceAttachmentField).Value Set rstMVT = rstTo(strTargetAttachmentField).Value ' Copy all the attachment in the field (attachment datatype) Do While rstMVF.EOF = False rstMVT.AddNew rstMVT!FileData = rstMVF!FileData rstMVT!FileName = rstMVF!FileName '********************************* ' below fields are not updateable ' 'rstMVT!FileFlags = rstMVF!FileFlags 'rstMVT!FileTimeStamp = rstMVF!FileTimeStamp 'rstMVT!FileType = rstMVF!FileType 'rstMVT!FileURL = rstMVF!FileURL ' '********************************* rstMVT.Update rstMVF.MoveNext Loop rstMVF.Close rstMVT.Close Set rstMVF = Nothing Set rstMVT = Nothing rstTo.Update rstFrom.MoveNext Loop rstFrom.Close rstTo.Close Set rstFrom = Nothing Set rstTo = Nothing Set db = Nothing End Sub ' 'modified by jjafferr to include a condition for both source and destination tables '04-01-2017 ' Public Sub UpdateAttachment(ByVal strTableSource As String, _ ByVal strSourceAttachmentField As String, _ ByVal strTableTarget As String, _ ByVal strTargetAttachmentField As String, _ ByVal strCondition_s As String, _ ByVal strCondition_d As String) Dim rstFrom As DAO.Recordset2 Dim rstTo As DAO.Recordset2 Dim rstMVF As DAO.Recordset2 Dim rstMVT As DAO.Recordset2 Dim strSQL_Source As String Dim strSQL_destination As String Dim db As DAO.Database strSQL_Source = "SELECT * FROM " & strTableSource strSQL_destination = "SELECT * FROM " & strTableTarget Set db = CurrentDb 'If strCondition <> "" Then strSQL_Source = strSQL_Source & " WHERE " & strCondition_s strSQL_destination = strSQL_destination & " WHERE " & strCondition_d 'End If Set rstFrom = db.OpenRecordset(strSQL_Source, dbOpenDynaset) Set rstTo = db.OpenRecordset(strSQL_destination, dbOpenDynaset) Do While rstFrom.EOF = False rstTo.Edit 'rstTo!Description = rstFrom![Description] Set rstMVF = rstFrom(strSourceAttachmentField).Value Set rstMVT = rstTo(strTargetAttachmentField).Value ' Copy all the attachment in the field (attachment datatype) Do While rstMVF.EOF = False rstMVT.AddNew rstMVT!FileData = rstMVF!FileData rstMVT!FileName = rstMVF!FileName '********************************* ' below fields are not updateable ' 'rstMVT!FileFlags = rstMVF!FileFlags 'rstMVT!FileTimeStamp = rstMVF!FileTimeStamp 'rstMVT!FileType = rstMVF!FileType 'rstMVT!FileURL = rstMVF!FileURL ' '********************************* rstMVT.Update rstMVF.MoveNext Loop rstMVF.Close rstMVT.Close Set rstMVF = Nothing Set rstMVT = Nothing rstTo.Update rstFrom.MoveNext Loop rstFrom.Close rstTo.Close Set rstFrom = Nothing Set rstTo = Nothing Set db = Nothing End Sub . جعفر 522.نقل نسخة.accdb.zip
  16. عفوا ، لوسمحت توضح اكثر ، وبما اننا عندنا المرفق ، فاخبرني برقم الصفحة من التقرير ، ووو ، ورجاء بالتفصيل جعفر
  17. تفضل انا غيّرت اسماء الحقول التالية كما هو باللون الاحمر: . والكود التالي يقوم بالعمل المطلوب Option Compare Database 'have the value of show_Footer availabe, always in the Report Private show_Footer As Integer 'if we have the GroupFooter visible, we turn PageFooter items invisible Private Sub GroupFooter1_Format(Cancel As Integer, FormatCount As Integer) show_Footer = 1 End Sub Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer) If show_Footer = 1 Then Me.lbl_School_Footer.Visible = False Me.lbl_2.Visible = False show_Footer = 0 Else Me.lbl_School_Footer.Visible = True Me.lbl_2.Visible = True End If End Sub . والنتيجة . جعفر 521.Sheet.accdb.zip
  18. اذا تحذف تذييل المجموعة ، فتذييل الصفحة يظهر لك في كل صفحة ، هل هذا الحل مقبول؟ جعفر
  19. اذا سمحت ترفق جزء من قاعدة بياناتك ، الجزء المطلوب مع بعض البيانات ، ومثال فيما تريد من برنامجك ، حتى نحاول ان نساعدك جعفر
  20. وعليكم السلام واهلا وسهلا بك في المنتدى المنتدى غني بالمواضيع ، والكثير منها متكرر ، فالبحث سيكون اسهل طريقة لك للوصول لما تريد هذا رابط احد المواضيع جعفر
  21. تفضل Private Sub Nemper_AfterUpdate() Me.subform!sn = DLookup("[sn]", "qry_Count") End Sub جعفر
  22. هممم الظاهر اسلاكي تشابكت في بعضها البعض ، وارفقت الملف الخطأ مع ان الشرح كان كافي تفضل الملف الصحيح جعفر 520addcountForm.zip
  23. وعليكم السلام تفضل: . . اما اذا اردت ان تظهر قيمة واحدة ، فتستطيع عمل: . والنتيجة . جعفر 520.addcountForm.rar.zip
×
×
  • اضف...

Important Information