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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام 🙂 ايه ده ، جوسف عنده سؤال من السنة الفايته وملقاش جواب 😉 هناك طريقتين لحل طلبك: 1. تكرار الاسم لكل تاريخ ، وفي حقل C يتم تجميع الفحوصات ، وهذه الطريقة الافضل في نظري ، 2. عدم تكرار الاسم ، وحذف حقل التاريخ من النموذج ، ثم جعل الحقل C يحتوي على التاريخ والفحوصات ، هكذا مثلا: 29/11/2022 CBC, Urine Culture and Sensitivity 01/01/2023 CBC, PT_Prothrombin Time, PTT_ Partial Thromboplastine Time . بس علشان نعمل اي من الطريقتين: 1. تختار الطريقة الافضل لك ، والطريقة الصحيحة للاختيار ، هي معرفة طريقة عمل المستخدم للنموذج وفرزه وتصفيته ، فإذا اخترت الطريقة الاولى ، فيمكنك الفرز والتصفية بالتاريخ مباشرة من النموذج بالفأرة اليمين ، بينما اذا اخترت الطريقة الثانية ، فلعمل الفرز او التصفية ، فيحتاج كود واستعلام خاص له. 2. يجب ان ترفق بيانات الشخص لأكثر من يومين (على الاقل شخصين ، علشان التجارب) ، لأني ما عرفت كيف اضيف 🙂 جعفر
  2. السلام عليكم 🙂 انا لازلت على ابو كلتش ، ما تحولت على الاوتوماتيك 🙂 عملت دالة علشان نتأكد ايهم الصح ، فجربت الطرق الثلاث على جميع السجلات : Function Which_Chr_is_used() As String Dim x() As String, x1() As String, x2() As String Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select ID, Nass From book Order by ID") Do Until rst.EOF x = Split(rst!Nass, vbCrLf) 'chr(13) & chr(10) x1 = Split(rst!Nass, vbCr) 'chr(13) x2 = Split(rst!Nass, vbLf) 'chr(10) Debug.Print rst!ID, UBound(x), UBound(x1), UBound(x2) rst.MoveNext Loop rst.Close: Set rst = Nothing End Function . والصقت البيانات في الاكسل ، وبعد عمل تنسيق شرطي ، عرفت بأن فاصل الفقرات هو chr(13) ، لأنه موجود في جميع السجلات اللي نحتاج لها : . للجزء الثاني ، عملت وحدة نمطية : Function Search_for_Two_Numbers(ID As Integer, txt As String) As String On Error GoTo err_Search_for_Two_Numbers Dim x() As String Dim i As Integer, How_Many_Numbers As Integer How_Many_Numbers = 0 '1st letter If IsNumeric(Left(txt, 1)) Then How_Many_Numbers = How_Many_Numbers + 1 End If x = Split(txt, Chr(13)) 'Do we have a new Paragraph 'check if the begining of the new Paragraph is a number For i = 1 To UBound(x) If IsNumeric(Mid(x(i), i + 1, 1)) Then 'Debug.Print ID, Mid(x(i), i + 1, 1) How_Many_Numbers = How_Many_Numbers + 1 End If Next i Search_for_Two_Numbers = How_Many_Numbers Exit_Search_for_Two_Numbers: Exit Function err_Search_for_Two_Numbers: If Err.Number = 9 Then Resume Next ElseIf Err.Number = 13 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . نناديها من الاستعلام. عملت لك استعلامين ، Query2 حتى تعرف كيف ناديت الوحدة النمطية ، وحتى اذا اردت اللعب بها وترى نتائجها ، والاستعلام Query3 ليعمل تحديث في الجدول: جعفر 1539.check_Book2.zip
  3. انا اشتريت نسخة مايكروسوفت اوفيس 2021 Pro Plus الذي يحتوي على مايكروسوفت اكسس بمبلغ 39.99$ يعني حوالي 40$ من هنا : https://store.techspot.com/sales/microsoft-office-professional-plus-2021-for-windows?utm_source=techspot.com&utm_medium=referral&utm_campaign=microsoft-office-professional-090922 في هذه الحالة ، حُسم الامر ، Microsoft 365 هو المستقبل 🙂 بس اذا فيه عزيمة ويوزعون فيه اصدار 365 ، فلا تنسى الشباب 🙂 جعفر
  4. السلام عليكم 🙂 وخلال جولتي التفقدية للجديد عن الاكسس ، ممرت بهذا الرابط الذي يعطينا معلومات حقيقية عن واقع استعمال المحترفين العالميين اي نسخة من الاكسس https://www.accessforever.org/post/which-access-versions-do-developers-use وبإختصار . . جعفر
  5. هذه اول مرة اسمع ببرنامج يُرجع النماذج والتقارير والكود ، وكله يعمل تمام !!
  6. انا وضعت شرح في مشاركتي السابقة ، فرجاء ترجع لي بشرح اكثر وامثلة اضافيه عن طلبك الثاني
  7. بالعكس ، هذا موضع استعمال الاستعلام مباشرة ، وليس استعماله من الكود 🙂 ثانيا: اضف Not الى الكود ، هكذا IIf(Not IsNumeric(Left([Nass],1)),-1,Null) . اذا اول حرف من اليسار (يعني من بداية الجملة) رقم IsNumeric ، اذن اكتب لي -1 ، وإلا اجعل الحقل Null. اضافة الامر Not معناه اذا اول حرف لم يكن رقم. . ثالثا: جرب هاي IIf(InStr(10,[Nass],Chr(10)),-1,Null) . لاحظت انك لما تكتب الجملة ، فكلامك مستمر ، الى ان توصل الى نهاية الجملة وتتوقف. بينما لما تريد اضافة رقم ، فانت تنتقل الى سطر جديد (رمز التعرف على انك ضغطت على زر Enter على لوحة المفاتيح هو Chr(10) ) ابدا البحث في الجملة عن هذا الرمز ابتدأً من الحرف رقم 10 (اعطيتك مجال اذا الارقام عندك وصلت الى 10 خانات 😁) ، . فيصبح الاستعلام: UPDATE book SET book.check_Page = IIf(Not IsNumeric(Left([Nass],1)),-1,Null), book.check_No = IIf(InStr(10,[Nass],Chr(10)),-1,Null); . . جعفر
  8. السلام عليكم 🙂 ولو يبدو ان مشاركتي دعاية لي 😁 لقواعد البيانات المعطوبة ، استعمل هذا البرنامج : . والبرنامج الذي لا استغنى عنه ، واستعمله عدة مرات في اليوم ، وعلى اي كمبيوتر اشتغل عليه ، فبالاضافة الى عمله في اصلاح بعض البرامج ، واخبارك اذا الاكسس شايف فيه مشكلة في الكود او لم تُعرّف متغير في الكود ، فهو يقوم بعمل نسخة احتياطية : . هذه صورة من جزء من المجلد اللي يحفظ البرنامج فيه النسخ ، ولاحظ عدد النسخ من البرنامج ، وفارق التوقيت بين كل نسخة ، فانا استخدم البرنامج كلما عملت تغيير/اضافة اساسية في برنامجي : . وبهذه الطريقة دائما تقدر ترجع للنسخة السابقة (قلت لك دعاية 🙂) جعفر
  9. السلام عليكم 🙂 لأني مستعجل فما اقدر اعطيك تفاصيل ، اليك هذا استعلام التحديث : UPDATE book SET book.check_Page = IIf(IsNumeric(Left([Nass],1)),-1,Null), book.check_No = IIf(IsNumeric(Left([Nass],1)) And InStr(10,[Nass],Chr(10)),"-1",Null); . اعمل استعلام جديد ، لا تختار اي جدول او استعلام ، انقر بالفأرة اليمين واختار اول اختيار SQL view ، ثم الصق الكود فيه ، وشغل الاستعلام 🙂 جعفر
  10. السلام عليكم 🙂 مسمى نوع حقل DataType الجدول يختلف عن ذلك في الكود ، فكما في الجدول ، نوع DatType النص هو Text (او Short Text للاكسس 2013 فما فوق) ، ففي الكود فيتم تعريفه بـ Dim myText as String ، نفس الشيء بالنسبة للارقام الكبيرة ، في الجدول يسمى Large Number ، وفي الكود LongLong : 1. https://support.microsoft.com/en-us/office/data-types-for-access-desktop-databases-df2b83ba-cef6-436d-b679-3418f622e482 . https://support.microsoft.com/en-us/office/using-the-large-number-data-type-5b623f6e-641d-4e97-8bdf-b77bae076f70 . https://learn.microsoft.com/en-us/office/vba/Language/Reference/User-Interface-Help/longlong-data-type . رجاء قراءة الموضوع التالي ، حيث شرحت فيه بعض هذه الدوال للنواتين: الكثير من دوال Api ستعمل اذا اضفنا PtrSafe في سطر مناداة الدالة ، ولا نحتاج الى تغيير Long الى LongPtr ، ويمكنك قراءة بعض هذه الدوال من السطر التالي في الموضوع اعلاه : . والآن الى الرابط التالي: . فمنه نرى انه لا يوجد قانون ثابت في تغيير جميع دوال/متغيرات Long الى LongPtr ، فبعض الاحيان نحتاج الى تغيير نوع الدالة ، وبعض الاوقات نحتاج الى تغيير نوع المتغير في الدالة ، وبعض الاحيان نحتاج الى تغيير الاثنين معاً 🙂 جعفر
  11. هل تقصد الميزان الالكتروني للسيارات ؟ او الميزان الالكتروني لمحلات بيع الخضار والفواكه ؟
  12. السلام عليكم 🙂 على قدر السؤال تأتي الاجابة 🙂 هل تريد التقرير هكذا: . . . جعفر 1538.Two_Column_Report.accdb.zip
  13. السلام عليكم اخي tiger wanted 🙂 اجعل البحث في الموقع صديقك ، فهناك ما لذ وطاب 🙂 تفضل ، هذه نتائج البحث في قسم الاكسس عن ميزان الكتروني 🙂 جعفر
  14. السلام عليكم 🙂 اعتقد السؤال الاصح هو: الاكسس الافضل اليوم 🙂 في هذا الرابط تم نقاش معظم النقاط في موضوعك ، وفيه رابط آخر لتكملة النقاش : . وختاما ، هذا ما قاله اخي خالد @مبرمج متقاعد : . في كمبيوتري الجديد اتمنى ان يكون آخر اصدار الوندوز بنواة 64بت ، والاوفيس Microsoft 365 نواة 64بت 🙂 اذا لم تستعمل الازرار والاشكال الجديدة في النسخة الحديثة من الوندوز الاكسس ، فأعتقد بإمكان برنامجك العمل على معظم نسخ accdb 🙂 جعفر
  15. اخي الفاضل @kkhalifa1960 ، شكرا على الهدية 🙂 جعفر
  16. عملت تعديل اخير ، ورفعته مكان المشاركة الاولى 🙂 مع ان جوابي هو ما ممكن ، ولكن اخونا العود @ابوخليل نصحني بعدم استعمال هذه العبارة ، فيمكن يجي مبرمج اشطر مني ، ويعطينا الحل 🙂 ممكن هنا اطلب من اخوي موسى @Moosak ان يحاول بلعبته الجديدة : اداة بحث ثورية ان يجد لنا الحل هناك 🙂 جعفر
  17. اما السؤال عن فائدة استخدام ملف pdf في المقارنة ، فلاحظت الخطوط في هذا التقرير ، اللي عليها الاسهم سميكة ، وما المفروض ان يصير هذا الشيء . ولكن لما صدرته الى ملف pdf وفتحته ، اتضح ان تقرير الاكسس لم يعطيني رؤية صحيحة للخطوط !! . جعفر
  18. ما اعتقد له علاقة بالطابعة ، فأنا طابعتي هو طابعة pdf افتراضية !! بالنسبة لتجاربي ، فكانت بعكس طلبك ، يعني ما لاحقت سبب سمك التقرير ، وانما جعلت سمك التقرير ذو الخطوط الانحف يساوي نفس سمك التقرير الآخر. ولكني لاحقا حاولت معرفة سبب البرواز السميك ، ولم استطع ، بالرغم اني عملت تغيير للكثير من الاعدادات !!
  19. انا جربت قبل ان اضع مشاركتي السابقة ، فللتقريرين كان BW=10 وللعلم ، فالامر BorderStyle = 0 يشمل البراوييز الداخليه (مكان Hide Duplicates) ، ولا يشمل البرواز الذي تناديه من Detail_Print ، لأنك لم تكتبه هناك ايضا !! جرب الكلام اللي اخبرتك في مشاركتي الاولى ، وشوف النتائج
  20. بكلام آخر ، انظر الى البروازين (تكبير بنسبة 1600% بعد تصديرهم الى ملف pdf) ، الخارجي للتقرير rptReport1 ، والداخلي للتقرير qry_rpt1-test ، سترى انهما بنفس الحجم : . 1. قمت بتصدير qry_rpt1-test الى pdf كما هو : 20Pixel+10Pixels=30Pixels 2. غير الكود ، واجعل قيمة العرض = 30Pixel ، ثم قم بتصدير التقرير rptReport1 الى ملف pdf ، سترى ان البروازين اصبحوا بنفس الحجم 🙂
  21. وعليكم السلام 🙂 1. انت سمحت لإظهار البرواز بعرض 1Point=20Pixel ، . 2. ثم عملت برواز بعرض 10Pixels عن طريق الكود . بينما في التقرير الثاني (الخطوط الاضعف) ، قمت بعمل البرواز عن طريق الكود فقط : . جعفر
  22. وعليكم السلام 🙂 اولا وقبل كل شيء ، يجب عليك تنصيب معرّف الطابعة ، وتختار الطابعة للتقرير ، ومنها يكون عرض التقرير/صفحة الطباعة واضح ، اما طول الصفحة ، فلا تهتم بها ، فهي تأخذ الطول الذي يكون فيه التقرير 🙂 وهذه الروابط قد تفيدك . . . . جعفر
  23. شغل جميل 🙂 بدل تخزين البيانات في الجدول ، انا استعملت Array لحل الموضوع ، وانت موضوعك اسهل لأنك استعملت عمودين فقط 🙂 جعفر
  24. وعليكم السلام اخي عمر 🙂 شكرا لك لمشاركتك هذا المجهود الكبير ، والمطلوب دائما 🙂 حصلت لي بعض الاشكالات عند فتح البرنامج ، فياريت تعالجها ثم ترفق التعديل : 1. هل انت بحاجة الى جميع هذه المكتبات ؟ انا ظهرت عندي مشكلة في عدم وجود برنامجين (لاحظ كلمة Missing) ، وتوقف البرنامج الى ان حذفت اشارة الصح √ من امام المكتبتين : . 2. الرسالة التالية كانت تشتكي لعدم وجود برنامج الجداول في المكان الذي برمجته انت فيه ، فاقترح عليك ان تضع كود يفتح نافذة اختيار الملف ، ويطلب من المستخدم التوجه له واختياره . 3. وبعد تعدي المشكلتين اعلاه ، توقفت عند هذا النموذج ، فلم اعرف ما يجب ان افعله !! . جعفر
  25. نعم كان مرهق ، واوقفت تقريبا جميع اعمالي بس علشان اكمله !! اذا الله سبحانه وتعالى قدّرني ، بكرة ان شاء الله اكتب تفاصيل العمل 🙂 محاولاتي الاولى فشلت 😞 اتمنى ابو احمد يقدر يضيف هذه الفقرة في برنامجه ان شاء الله 🙂 جعفر
×
×
  • اضف...

Important Information