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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام 🙂 بما انه يوجد في برنامجك ، فتستطيع الاستفادة منه 🙂 او تستطيع انزال هذا البرنامج: http://lebans.com/DownloadFiles/A2KMonthCalenderVer205.zip والشرح هنا: http://lebans.com/monthcalendar.htm انزل المرفق ، افتح البرنامج ، افتح النموذج ، ثم انقر نقر مزدوج على حقل التاريخ ، وسترى روزنامة التاريخ 🙂 جعفر تم انزال المرفق واضافته هنا A2KMonthCalenderVer205 (2).zip
  2. للاسف الشديد ، محاولاتي فشلت ، وفتحت الملف عن طريق برنامج Hex ولم ارى في الملف غير اصفار !! يمكن احد الشباب يقدر يساعد
  3. وعليكم السلام 🙂 هذا معناه ان البرنامج معطوب ، وقد استطاع اخونا @kkhalifa1960 ان يُصلح برنامجه كاملا (تابع الموضوع في المرفق) ، فياريت يساعدنا هنا 🙂 . فرجار ارفاق برنامجك حتى نحاول استعادة ما يمكن استعادته 🙂 جعفر
  4. وعليكم السلام 🙂 همممم ، هذا تعريف للمتغير rst على انه "مجموعة سجلات" Recordset ، وهذا Recordset من نوع DAO . هناك طريقتين لإستدعاء البيانات عن هذا الطريق: 1. من الجداول او الاستعلامات ، 2. بيانات النموذج تلقائيا تكون في Recordset النموذج ، فلا يوجد داعي لمناداتها من الجدول/الاستعلام مرة اخرى. جعفر
  5. وعليكم السلام 🙂 تفضل بعضها : رسالة عادية ، ولكن تختفي بتوقيت : . 6 طرق ، ومنها بالونه فوق ساعة الكمبيوتر ، وتختفي بتوقيت : . وهنا شرح عمل البالونه . جعفر
  6. اخبرني ماهي الفقرات التي لم يتعرف عليها ؟ اما اذا فالحمدلله 🙂
  7. حياك الله اخي الفاضل 🙂
  8. الله يطول عمرك، علشان اقدر اساعدك، رجاء تخبرني بالضبط وين المشكلة 🙂
  9. شوف نتائج الاستعلام 3 ، ان شاء الله تكون مرادك ، وإلا ، فمحتاج معلومات ومثال من بياناتك لوسمحت 🙂 جعفر 1540.1.A.accdb.zip
  10. هي مشكلة تنسيق التاريخ بين الكمبيوترات ، وتفضل الحل 🙂 جعفر 1540.A.accdb.zip
  11. تفضل 🙂 . الوحدة النمطية الجديدة (شايف خط يدي في الوحدة النمطية القديمة 🙂 ) ، فكما تلاحظ ، التعديل جدا بسيط : Public Function Concatenate_pcode(C As String, D As Date) As String Dim rst As DAO.Recordset Dim myWhere As String myWhere = myWhere & "[PName]='" & C & "' " myWhere = myWhere & " And" myWhere = myWhere & " [DDate]=#" & D & "#" Set rst = CurrentDb.OpenRecordset("Select [TName] From [1_JO] Where " & myWhere) Do Until rst.EOF Concatenate_pcode = Concatenate_pcode & ", " & rst!TName rst.MoveNext Loop Concatenate_pcode = Mid(Concatenate_pcode, 3) rst.Close: Set rst = Nothing End Function . جعفر 1540.A.accdb.zip
  12. وعليكم السلام 🙂 الكود هو: Name oldpathANDname As newpathANDname Name "اسم ومسار الملف الحالي" As "اسم ومسار الملف الجديد" مثلا dim oldpathANDname As string, newpathANDname as string 'oldpathANDname = currentdb.path & "\myFles\myText.txt" oldpathANDname = "c:\abc\myText.txt" newpathANDname = "d:\DBs\new_File.txt" Name oldpathANDname As newpathANDname . جعفر
  13. وعليكم السلام 🙂 ايه ده ، جوسف عنده سؤال من السنة الفايته وملقاش جواب 😉 هناك طريقتين لحل طلبك: 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. يجب ان ترفق بيانات الشخص لأكثر من يومين (على الاقل شخصين ، علشان التجارب) ، لأني ما عرفت كيف اضيف 🙂 جعفر
  14. السلام عليكم 🙂 انا لازلت على ابو كلتش ، ما تحولت على الاوتوماتيك 🙂 عملت دالة علشان نتأكد ايهم الصح ، فجربت الطرق الثلاث على جميع السجلات : 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
  15. انا اشتريت نسخة مايكروسوفت اوفيس 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 ، فلا تنسى الشباب 🙂 جعفر
  16. السلام عليكم 🙂 وخلال جولتي التفقدية للجديد عن الاكسس ، ممرت بهذا الرابط الذي يعطينا معلومات حقيقية عن واقع استعمال المحترفين العالميين اي نسخة من الاكسس https://www.accessforever.org/post/which-access-versions-do-developers-use وبإختصار . . جعفر
  17. هذه اول مرة اسمع ببرنامج يُرجع النماذج والتقارير والكود ، وكله يعمل تمام !!
  18. انا وضعت شرح في مشاركتي السابقة ، فرجاء ترجع لي بشرح اكثر وامثلة اضافيه عن طلبك الثاني
  19. بالعكس ، هذا موضع استعمال الاستعلام مباشرة ، وليس استعماله من الكود 🙂 ثانيا: اضف 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); . . جعفر
  20. السلام عليكم 🙂 ولو يبدو ان مشاركتي دعاية لي 😁 لقواعد البيانات المعطوبة ، استعمل هذا البرنامج : . والبرنامج الذي لا استغنى عنه ، واستعمله عدة مرات في اليوم ، وعلى اي كمبيوتر اشتغل عليه ، فبالاضافة الى عمله في اصلاح بعض البرامج ، واخبارك اذا الاكسس شايف فيه مشكلة في الكود او لم تُعرّف متغير في الكود ، فهو يقوم بعمل نسخة احتياطية : . هذه صورة من جزء من المجلد اللي يحفظ البرنامج فيه النسخ ، ولاحظ عدد النسخ من البرنامج ، وفارق التوقيت بين كل نسخة ، فانا استخدم البرنامج كلما عملت تغيير/اضافة اساسية في برنامجي : . وبهذه الطريقة دائما تقدر ترجع للنسخة السابقة (قلت لك دعاية 🙂) جعفر
  21. السلام عليكم 🙂 لأني مستعجل فما اقدر اعطيك تفاصيل ، اليك هذا استعلام التحديث : 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 ، ثم الصق الكود فيه ، وشغل الاستعلام 🙂 جعفر
  22. السلام عليكم 🙂 مسمى نوع حقل 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 ، فبعض الاحيان نحتاج الى تغيير نوع الدالة ، وبعض الاوقات نحتاج الى تغيير نوع المتغير في الدالة ، وبعض الاحيان نحتاج الى تغيير الاثنين معاً 🙂 جعفر
  23. هل تقصد الميزان الالكتروني للسيارات ؟ او الميزان الالكتروني لمحلات بيع الخضار والفواكه ؟
  24. السلام عليكم 🙂 على قدر السؤال تأتي الاجابة 🙂 هل تريد التقرير هكذا: . . . جعفر 1538.Two_Column_Report.accdb.zip
  25. السلام عليكم اخي tiger wanted 🙂 اجعل البحث في الموقع صديقك ، فهناك ما لذ وطاب 🙂 تفضل ، هذه نتائج البحث في قسم الاكسس عن ميزان الكتروني 🙂 جعفر
×
×
  • اضف...

Important Information