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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. يا سلام ، انا واخي السيد @husamwahab حلينا الموضوع ، وبدون مشاركة 🙂 يعني لو كان اسمي فقط ، كنتوا بتقولون: عماني وساحر 🙂 جعفر
  2. وعليكم السلام 🙂 اعمل جدول خاص فيه اسماء الصفوف ، وحقل تسلسل بترتيبهم هكذا : kg1 1 kg2 2 3 الاول ثم اعمل استعلام ، اربط فيه هذا الجدول بالجدول الموجود عندك ، الربط يكون باسم الصف ، وفي الاستعلام تُنزل حقل تسلسل الصف ، وفي التقرير ، تجعل الفرز برقم التسلسل (بدلا ان الصف الذي عملته انت) 🙂 جعفر
  3. وعليكم السلام 🙂 اول خطوة تعملها هو تصفية برنامجك من الشوائب ، عن طريق . واذا لازالت المشكلة مستمرة ، فنريد يا المرفق ، ويا الكود كاملا للتقرير (الكود اعلاه يصدر ملف pdf مرة واحدة ، بينما انت تقول انك تصدره عدة مرات) . جعفر
  4. هل قصدك كلمات مرور VBA وليس البرنامج !!
  5. وعليكم السلام : محتاجين تفصيل اكثر لوسمحت 🙂 جعفر
  6. اخوي ابو حسان ، احنا نحاول ان نساعدك تتعلم ، فرجاء ساعدنا علشان نساعدك !! ارفق اللي عملته علشان تتعلم ونخبرك وين الخطأ في عملك. واخبرنا الخطوات علشان نحصل على اللي انت حصلت عليه
  7. وعليكم السلام 🙂 رجاء مراعاة كتابة العنوان الصحيح في المرات القادمة 🙂 يجب تضبيط اعدادات الكمبيوتر ، هكذا جعفر
  8. الله الله يا ابوخليل ، صحيح انك اخونا العود ، وما ادري من وين تجيب هالعبارات الجميلة (كان زين لو كنا نعرف بعض من ايام الشباب، كنت بأستفيد من كلماتك لأمور خاصة 😁) 🙂 كلامك في محله ، ولكني لما حولت برنامج اخونا ابو حسان من الاكسل الى الاكسس ، حاولت مراعاة اصول قواعد البيانات ، ولكني لم اعرف جميع تفاصيل برنامجه ، فعملته على قدر المعلومات المتوفرة 🙂 ولكن ، لو كنت اعلم في ذلك الوقت ما اعلمه اليوم ، لكان هناك تغييرات في برنامجه 🙂 افتح الاستعلام الموجود في الصورة في وضع التصميم ، اذهب الى حقل فارغ ، ثم انسخ الكود الذي وضعته لك ، واكتب باقي الاشياء هناك ، فيصبح الحقل كما في الصورة. جعفر
  9. بالنسبة للدالة ، فرجاء التأكد بأنها كما يلي ، بينما الدالة التي عرضتها في مشاركتك اعلاه (غير صحيحة) ، والموجودة في مرفقك (تم تغييرها الى) : Public Function PN_All(N As Double) As Double 'PN_All : Positive, Negative, All 'N = iAmount Dim frm_Option As String frm_Option = Forms!frm_Main!srch_All_PN If frm_Option = "All" Then PN_All = N ElseIf frm_Option = "Positive" And N > 0 Then PN_All = N ElseIf frm_Option = "Negative" And N < 0 Then PN_All = N End If End Function . الموضوع ماله علاقة بالدالة ، انت تريد عمل تصفية للسجلات ، لهذا السبب ، تم اضافة جقل الاستعلام ليقوم بهبه المهمة : . IIf([Forms]![frm_Main]![srch_All_PN]="Positive",[iAmount]>0,IIf([Forms]![frm_Main]![srch_All_PN]="Negative",[iAmount]<0,[iAmount])) . وما اقدر ارفع برنامجك ، لأني لما اعمل على برنامج وفيه اخفاء الاكسس وصلاحيات زنماذج منبثقة ، فانا اغير جميع هذه الاعدادات حتى اقدر اني اشتغل على كيفي 🙂 جعفر
  10. انزلت المرفق ولكن لم احصل على جواب !! انت قلت: البرنامج لا يسمح ان نختار من 1 او 2 ، فرجاء تخبرنا كيف ممكن نختار منهم !!
  11. في الدالة PN_All لم نذكر كيفية التعامل مع القيمة صفر ، وحتى اذا كتبناها ، ففي التقرير لما نجمع ، بنحصل على اصفار !! الطريقة التالية تعطيك كل الارقام ، ولكن لما تحصل على صفر ، فهي تخفية ، لجميع الحالات All و Positive و Negative . وهذا مجرد تنسيق ، من اليسار الى اليمين: القيمة الموجبة ، القيمة السالبة ، القيمة صفر ، القيمة Null : #;\-#;"";""
  12. عفوا ، قصدي اختار قيمة معينه من النموذج واعطنا خطوات العمل ، حتى نقدر نعملها نحن كذلك . تقدر ترفعه على احد مواقع الرفع ، ثم تعطينا الرابط هنا
  13. اختار Top Left ، اما الباقين فهي لأمور اخرى ، انظر : جعل برنامجك يتحجم تبعاً لاختلاف الشاشات - responsive design - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  14. وعليكم السلام 🙂 ياريت تعطينا مثال من برنامجك حتى نقدر تتبعه 🙂 ثم النموذجين 1 و 2 مقفلان ، فلم استطع ان اختار شيئا منهم !! جعفر
  15. وعليكم السلام 🙂 اختار احد الخيارات ، انت الآن خلطت بينهم 🙂 . جعفر
  16. وعليكم السلام 🙂 هناك العديد من المواضيع في المنتدى بهذا الخصوص ، ويمكنك ان تخبرنا الطريق التي اتبعتها في برنامجك ، لتحصل على آراء الاعضاء 🙂 الحماية ليست من تخصصي (يعني 99% من برامجي ليست فيها حماية) ، لهذا السبب فأنا أفضل ان يساعدنا بقية الاعضاء ذوي الخبرة 🙂 جعفر
  17. وعليكم السلام 🙂 تم حذف هذه الميزة من اكسس 2013 ، ولكن هناك اداة من مايكروسوفت لتقوم بنفس العمل اسمها SSMA ، ويمكنك انزالها من هذا الرابط : https://www.microsoft.com/en-us/download/confirmation.aspx?id=54255 جعفر
  18. شكرا شباب 🙂 كنت ابحث عن هذا الموضوع ، والحمدلله لقيته ، وفيه نصائح عن الامور التي تحتاجها لأي برنامج ، وكان لأخوي @kha9009lid السهم الاكبر من هذه النصائح (شكرا اخوي خالد 🙂) : . جعفر
  19. السلام عليكم 🙂 ملاحظاتي: 1. يجب ان يكون هذا الحقل هكذا ، وعادة يكون المفتاح الاساس ، ولكن لأن عندك مفتاح اساس آخر ، فمافي مشكلة: . 2. وجميع الحقول لا تستخدم خاصية Lookup الجدول : . 3. تسمية الجداول/النماذج/الاستعلامات/التقارير تبدأ بحرف/حروف تميزها عن بقية الكائنات (ما يكون عندك جدول واستعلام ونموذج وتقرير بنفس الاسم ، Type1 ، مثلا) ، وانما يكون tbl_Type1 و qry_Type1 ..) ، ونجعل الحقل مفهرس لأن عنده علاقة مع جدول آخر (انظر الصورة رقم 11) ، ويجب ان يكون في جدول الحقلين Auto_ID و Auto_Date (المسمى غير مهم ، وانما الاعدادات مهمة) ، فبالاضافة الى فائدة Auto_ID لتسريع جلب بيانات الجدول ، و Auto_Date لمعرفة وقت عمل السجل ، فإن هذين الحقلين هما الاساس في تحويل جدولك الى SQL Server لاحقا اذا شئت : . 4. مصدر سجلات الحقل من جدوله tbl_Type1 ، بينما مصدر بيانات السجل من جدول MZ_TAB : . 5. هكذا نرى في النموذج الاسم الذي نريد المستخدم ان يراه : . 6. . 7. بعد ان يُدخل المستخدم قيمة للحقل nom ، يمكن استخدام الدوال لتحديث الحقلين الآخرين في النموذج : . 8. وبما انن نحدّث الحقلين تلقائيا ، فنقفلهم حتى لا يعبث بهما المستخدم : . 9. نوع القيمة المسترجعة من الدالة ، يجب ان تطابق تلك التي في الجدول : . 10. تجنب استخدان الكلمات العربية في اي من كائنات برنامجك ، فمن السهل التغلب على هذه النقطة من البداية ، ولكن اذا لم تفعل هذا ، فستقلب كف على كف : . 11. العلاقة بين الجدول الجديد والجدول/الجداول التي تكون فيها قيمة TYPE1 ، اما العلاقة التي في الاعلى ، فمالك شغل في اولاد الجيران وعملهم 😁 . جعفر 1350.1.MZtab08.accdb.zip
  20. ونصيحة ، ابدا لا تستخدم هذه الخاصية في الجدول : . وانما اعمل جدول خاص بقيم هذا الحقل ، ثم في الاستعلام تربط هذا الحقل بحقل الجدول الآخر. لاحظ ان جوابي في المشاركة السابقة لم يتطرق لهذا الحقل ، لأنه لا يوجد طريقة لمعرفة استخدامك لهذه الخاصية إلا بفتح الجدول في وضع التصميم ومعرفة القيم !! عليه ، الدوال يجب تغييرها الى: Function TR_Check(str_N As String) As Boolean If str_N = "^" Or str_N = "#^" Or str_N = "@^" Then TR_Check = True End If End Function Function Type_Check(str_N As String) As Long If IsNumeric(str_N) Or str_N = Chr(34) & "^" & Chr(34) Or str_N = Chr(34) & "*" & Chr(34) Then Type_Check = 1 ElseIf str_N = "@^" Or str_N = "@" Then Type_Check = 2 ElseIf str_N = "^" Then Type_Check = 3 ElseIf str_N = "#^" Or str_N = "#" Then Type_Check = 4 End If End Function جعفر
  21. وعليكم السلام 🙂 طبعا انت تعرف انه من الخطأ ان تستعمل كلمات عربية لأي من الكائنات في الاكسس ، سوء اسماء جداول او استعلامات او نماذج او تقارير او ماكرو ، واسماء الحقول والازرار ووووو ، وطبعا في الكود 🙂 جرب المرفق في هذه المشاركة ، قد يفيدك: عندما يعطي برنامج الاكسس اخطاء - النسخة رقم 4 + عمل نسخ احتياطية - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  22. السلام عليكم 🙂 هذه مشاركتي ، وانا لا احب ان اجعل المعادلات تتزاحم في الاستعلام ، ويُصعب تعديلها لاحقا 🙂 في الاستعلام ، ننادي دالة لقيمة TR ، ودالة اخرى لقيمة Type ، وبما ان القيمتين تعتمدان على قيمة الحقل nom ، فنرسل قيمته الى الدوال : . والنتيجة : . والدوال: Function TR_Check(str_N As String) As Boolean If str_N = "^" Or str_N = "#^" Or str_N = "@^" Then TR_Check = True End If End Function Function Type_Check(str_N As String) As String If IsNumeric(str_N) Or str_N = Chr(34) & "^" & Chr(34) Or str_N = Chr(34) & "*" & Chr(34) Then Type_Check = "[1 (مسند)]" ElseIf str_N = "@^" Or str_N = "@" Then Type_Check = "[2 (موقوف)]" ElseIf str_N = "^" Then Type_Check = "[3 (طريق)]" ElseIf str_N = "#^" Or str_N = "#" Then Type_Check = "[4 (زائد)]" End If End Function . ويمكنك ان تأخذ معادلات الاستعلام ، وتضعها في استعلام تحديث 🙂 جعفر 1350.MZtab.accdb.zip
  23. وهذا للتأكيد ، اذا بالفعل كنا في نهاية السجلات (EOF) ، اذن اذهب الى بداية السجلات : 'Lsql.MoveFirst If Lsql.EOF Then Lsql.MoveFirst جعفر
×
×
  • اضف...

Important Information