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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام في هذه الاله نريد ان يصفي التقرير البيانات بنفس الحقل/المعيار الذي قام به في النموذج ، 1. يمكنك استخدام هذه الطريقه (طبعا مع مراعاة تغيير الاسماء والمعيار) : DoCmd.OpenReport "rptDiscount", acPreview, , "[transfer] = 'مكتب4'" او يمكنك جعل الاستعلام هو مصدر بيانات التقرير ، وتضع المعيار في الاستعلام ، فتحصل على البيانات جاهزة في التقرير جعفر
  2. وعليكم السلام قد يفيدك المثال هنا جعفر
  3. وعليكم السلام الطريقة اللي تشتغل لكل الاحتمالات هي: Main Form Name = اسم النموذج الرئيسي Sub Form Name = اسم النموذج الفرعي Control Name = اسم الكائن في النموذج اذا كان في النموذج الرئيسي Forms![Main Form Name].setfocus Forms![Main Form Name]![Control Name].setfocus اذا كان في النموذج الفرعي Forms![Main Form Name].setfocus Forms![Main Form Name]![Sub Form Name].setfocus Forms![Main Form Name]![Sub Form Name]![Control Name].setfocus جعفر
  4. وعليكم السلام السؤال ابدا غير واضح ، لذا رجاء اخبارنا بالتفصيل عن الخطوات التي تقوم بها ، وما الذي تريد المساعدة فيه ، يا حبذا ارفاق هذه الجزئية من البرنامج ، واعطاء مثالك من بيانات البرنامج. جعفر
  5. وعليكم السلام اخي حسام ، هذا ثالث موضوع لك عن نفس السؤال ، وثاني موضوع مخالف في اسم العنوان ، وبهذه الطريقة انت تخالف قوانين المنتدى بوضع نفس السؤال في اكثر من موضوع!! ولقد تمت الاجابة على هذا السؤال في 30/8 ، وهو لايزال مفتوح للمناقشة ، ويمكنك وضع اي استفسارات اضافية فيه: . وقد تم اغلاق الموضوع التالي لأنه مخالف: . عنوان هذا الموضوع مخالف ، والموضوع نفسه مكرر ، يُغلق. جعفر
  6. يُحول الى منتدى إعلانات شخصية للاعضاء جعفر
  7. السلام عليكم اخي محمد اهلا وسهلا بك في المنتدى وعندما يكون برنامجك جاهز وتحب ان يستفيد منه الجميع ، فمافي مانع من ارفاقه وشرح طريقة عمله جعفر
  8. اخي الامير اعمل ضغط واصلاح لبرنامجك ، ثم استعمل winrar او winzip ، وارفع هذه الجزئية من برامجك ، واذا كان الحجم كبير ، فارفعه على احد مواقع رفع البرامج ، واترك لنا الرابط هنا ، واعطنا مثال من برنامجك ، وان شاء الله نجد لك الحل جعفر
  9. اخي ابو عبدالله انا هنا اطلب من الجميع ، واتحدى ان يستطيع احد ان يرفق برنامج اكسس لا نستطيع اختراقه. ولكن ليس معنى هذا انه لا توجد ملايين البرامج المعموله بالاكسس ، ومافي مشكله بين المبرمج والزبائن ، والحماية الموجودة فيها ، هي نفسها اللي اخبرتك عنها الحرامي اللي يريد يسرق ، سوف يسرق ، بغض النظر عن توع الحماية اللي تضعها في برنامجك. جعفر
  10. هذه ليست اخفاء شاشات الاكسس!! هذه هي الطريقة الصحيحة في العمل، وبدون نماذج منبثقه ، وبعد ان تعمل هذه الطريقة ، تلغي مفتاح الشفت ، وتحول البرنامج الى accde او mde ، وتعطيه الزبون جعفر
  11. السلام عليكم موقع البرنامج https://www.royal-technical.com/2018/03/psr-100.html وصفحة النسخة الخامسة https://www.royal-technical.com/2018/04/pos-program-psrsystem.html رابط كامل تحميل الحزمة الاخيرة للاصدار الخامس اخر تحديث+متطلبات التشغيل http://www.mediafire.com/file/v8pgaidu433s74n/بر+نامج+نقاط+بيع+متكامل+مجانا+PSR+System.rar ولكن ، صحيح ان برنامج حفظ البيانات هو اكسس ، ولكن البرنامج ليس معمول على اكسس ، لذلك ، ولأننا في منتدى الاكسس ، يجب ان ننقل هذا الموضوع الى إعلانات شخصية للاعضاء ، مع ترك رابطه في منتدى الاكسس جعفر
  12. لازم نعمل حقل في جدول الفواتير (يكون مثلا نعم/لا ، وليكن اسمه Printed) والقيمة الافتراضية تكون 0 (لا) ، وعلى زر طباعة الفاتورة ، يكون عندك كود شبيه بهذا: if me.dirty then me.dirty=false if me.printed=-1 then msgbox "تمت الطباعة سابقا" else 'اما اذا كان حقل التعريق نص : DoCmd.OpenReport "Report Name", acViewPreview, , "myID='" & Me.id & "'", acHidden DoCmd.PrintOut , , , , 3 DoCmd.close acReport, "Report Name" me.printed=-1 end if وكذلك يمكنك في حدث "الحالي" للنموذج ان تختبر قيمة Printed ، فاذا كانت -1 تعمل لزر الطباعة: if me.printed=-1 then me.cmd_Print.enabled=false else me.cmd_Print.enabled=true end if جعفر
  13. وعليكم السلام طرق طباعة الفاتورة الظاهرة في النموذج: لطباعة الفاتورة التي قيمة ID تساوي القيمة الموجودة في النموذج DoCmd.OpenReport "اسم التقرير", , , "[ID]=" & Me.id . او ان تجعل الاستعلام مصدر بيانات التقرير ، وفي الاستعلام تستخدم معيار ID (مثلا) لتصفية بيانات الاستعلام ، وقيمة معيار ID تكون: Forms![اسم النموذج]!ID جعفر
  14. وعليكم السلام سؤال غريب ياباشا هل قصدك انه بعد طباعة الفاتورة ، لا تريد ان يتم طباعتها مرة ثانية؟ جعفر
  15. وعليكم السلام افتح ملف اكسس جديد ، واستورد جميع كائنات قاعدة البيانات القديمة ، واحفظ قاعدة البيانات الجديدة ، ثم استعمل الملف المرفق في هذه المشاركة مع قاعدة البيانات الجديدة جعفر
  16. السلام عليكم فقط للعلم ، هذه الطريقة غير مألوفة في البحث ، فالطريقة الصحيحة للبحث هو ان نبحث في الجدول (عن طريق الاستعلام) ، ونُظهر نتائج البحث في الجدول ، وبدون الحاق بيانات بين الجداول. بما ان مصدر بيانات النموذج هو جدول القيد رقم 1 ، فانت لم ترفق البيانات كما هي في هذا الجدول ، واذا كان تسلسل بيانات النموذج ليس نفسه الذي في الجدول ، فهذا معناه ان هناك شيء وسيط يقول بعرض البيانات في الجدول بغير التسلسل الذي يتم حفظ البيانات فيه ، او ان هناك وسيط بين الجدول وبين عرض البيانات في النموذج ، وهذا الوسيط (عملية فرز) هو الذي يجعل التسلسل في النموذج غير عن الذي في الجدول ، وكما اخبرتك: وعلى كل حال ، فهناك تسلسل معين تريد ان ترى فيه السجلات في النموذج ، لذلك ، اعمل استعلام لهذا النموذج بالفرز الذي تريده ، وستكون السجلات كذلك في النموذج في جدول القيد رقم 1 ، اعمل حقل ترقيم تلقائي ، والذي سيعطي لكل سجل رقم تسلسل حسب تسلسله في الادخال ، ثم افرز الاستعلام بهذا الحقل ويمكنك ارفاق هذه الجزئية من برنامجك للنظر فيه جعفر
  17. وعليكم السلام عندك الخيار في عمل البحث: بالاسم فقط ، بين التاريخين ، من تاريخ ، وتترك الى تاريخ فاضي ، فيستعمل الاستعلام آخر تاريخ للبيانات ، الى تاريخ ، وتترك من تاريخ فاضي ، فيستعمل الاستعلام اول تاريخ للبيانات. هممم ، هل نسيت ان اضيف شيء آخر هذا هو استعلام ListBox : SELECT GnrlT.Loh, GnrlT.Alh, GnrlT.Dat, GnrlT.Nots, GnrlT.Nam FROM NamsT INNER JOIN GnrlT ON NamsT.[Id_N] = GnrlT.[Id_N] WHERE (((GnrlT.Dat) Between (IIf(IsNull(Forms!DispTotF!Date_From),#1/1/1900#,Forms!DispTotF!Date_From)) And (IIf(IsNull(Forms!DispTotF!Date_To),#1/1/2900#,Forms!DispTotF!Date_To)) Or [Dat] Is Null) And ((NamsT.Id_N)=Forms!DispTotF!cmd_Name)); جعفر 964.HT.accdb.zip
  18. وعليكم السلام النموذج يعرض البيانات حسب ادخالها في الجدول وليس حسب ترتيبها ، واذا كان عندك حقل ترقيم تلقائي ، فسترى التسلسل الصحيح فيه ، ولا تنسى بانه بإمكانك عمل فرز وتصفية على الجدول بعدة طرق ، ولكن النموذج لن يحترم هذا. والطريقة الصحيحة في اظهار البيانات في النموذج كما تريد ، هي ان يكون الاستعلام هو مصدر لبيانات النموذج ، وفي الاستعلام تعمل الفرز والتصفية التي تريدها ، وسيحترمها النموذج جعفر
  19. وعليكم السلام الشرط في الاستعلام يعمل تصفية للبيانات ، ولكن في نهاية الامر ستكون هناك بيانات (طبعا ممكن لا تكون بيانات كذلك) ، لذلك ، فنتيجة الاستعلام هي التي سيتم ارسالها للاكسل جعفر
  20. وعليكم السلام على الكيبورد ، خليك ضاغط على مفتاح الشفت ، بالماوس انقر مرتين على برنامجك لفتحه (وإلا ، فالنماذج المنبثقة سوف تملئ الشاشة ولن ترى الشريط الاصفر خلفها) ، لما ينفتح البرنامج ، اخذ يدك من مفتاح الشفت ، وسترى هذه الشاشة . انقر على الزر "Enable Content" المؤشر عليه بالسهم ، وبيشتغل البرنامج وعلشان ما يظهر لك الشريط الاصفر لبقية برامجك ، فيجب ان يكون عندك "مكان موثوق به" اي مجلد موثوق به ، بحيث لما تشغل برامجك من هذا المجلد فلن يعطيك الاكسس هذا الشريط الاصفر وستشتغل برامجك منه: . جعفر
  21. شكرا اخوي ابو ياسين على الشرح لما نعمل الكود ، نقوم بوضعه في الاحداث الصحيحة (مثل ما قمت انت بعمله) ، ولكن بعد اكتمال الكود ، نلقي نظرة على الكود ، ونحاول ان لا نجعل فيه تكرار لأسطر معينه (خصوصا بعدد الاسطر في كودك) ، وانما نحاول ان نضع هذه الاسطر المتكررة في دالة منفصله ونناديها من كل حدث ، وسبب قيامنا بهذه العملية هي في الواقع ليس لتفادي التكرار ، وانما اذا اردنا تعديل هذه الجزئية ، فلا نضطر الى تعديلها في كل الاحداث ، وانما هي دالة واحدة نعدلها والحمدلله لا وانت الصادق ابو ياسين ، انا لم المس كود هذه الاحداث ، ولكن في حقيقة الامر ، ان هذه الاحداث تغير السجل الحالي ، لهذا السبب فقد تم مناداة دالة الكود في حدث "الحالي" في النموذج ، فيقوم بهذه الطريقة التعامل مع كل سجل حالي عليه التركيز في النموذج جعفر
  22. الامر الذي وضعته لك في الكود اسرع في التنفيذ من الامر اللي انت وضعته ، ولكن عندك خطأ في طريقة تنفيذ الامر ، ويجب عليك الرجوع الى ملف المساعدة Help في الاكسس لمعرفة طريقة عمل هذه الاوامر خليني اضع لك الكود بمسمياتك ، private sub ....BeforUpdat(... dim Counter as integer 'اذا كان نوع الحقل في الجدول، نص 'Counter= dcount ("*", "clndtail", "[اسم الحقل في الجدول]='" & me.[نص57] & "'") 'اذا كان نوع الحقل في الجدول، رقم Counter= dcount ("*", " clndtail", "[اسم الحقل في الجدول]=" & me.[نص57]) if Counter>0 then cancel=true 'me.undo msgbox "عفوا ، هذه القيمة مكررة ولا يمكن حفظها" end if end sub . 1. لاحظ اني اعطيتك طريقتين لإستخدام الامر dcount ، في حال اذا كان نوع الحقل في الجدول عبارة عن نص او رقم ، وانا قمت بتفعيل نوع الرقم في الكود ، 2. رجاء استبدال العبارة [اسم الحقل في الجدول] بالاسم الصحيح. جعفر
  23. وعليكم السلام اخي رضا لما تريد ان تضع كود في مشاركتك في المنتدى ، رجاء استعمال الزر التالي ، ثم ادخال الكود في النافذه الخاصه به: . فيظهر الكود بالطريقة الصحيحة هكذا: Dim i Dim n i = DLookup("[نص57]", "clndtail", "[نص57]=[نص57]") n = DLookup("[الاسم]", "clndtail", "[نص57]=[نص57]") If i <> "" Then MsgBox " ... فضلاً تأكد من عدم إدخال رقم مكرر", vbOKOnly, "تنبيه" End If End Sub جعفر
×
×
  • اضف...

Important Information