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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. السلام عليكم 🙂 نصيحة ، اذا كان مصدر البيانات في شبكة ، فسيكون هذا العمل جدا بطيء ، لأنك تنادي البيانات من الجداول على كل نقرة !! وسيكون الحل ، بأن تكتب الكلمة التي تريدها ، ثم تعمل تصفية ، سواء عن طريق "حدث بعد التحديث" للحقل ، او عمل زر "البحث" 🙂 وفي كل الاحوال ، يجب ان يكون هذا الحقل مُفهرس في الجدول ، وتقوم بعملية ضغط واصلاح حتى تتم عملية الفهرسة 🙂 جعفر
  2. انزلت المرفق ، ونزل بدون مشاكل ، وما كان فيه شيء ، مجرد ان المتصفح يقوم بتحذيرك من ان المرفق قد يكون به مشاكل امنية !! جعفر
  3. ممكن تخبرنا شو عملت ، وبالتفصيل لوسمحت. جعفر
  4. وعليكم السلام 🙂 نعم تطلع هذه الرسالة ، اذا اشتغل البرنامج عند المستخدم من مجلد غير موثوق به ، فكل اللي عليهم عمله ، ولمرة واحدة فقط ، هو ، النقر على زر "تمكين المحتوى" الموجود في الخط الاصفر في اعلى الشاشة ، او يمكنك استعمال هذه الطريقة : جعفر
  5. السلام عليكم 🙂 في الاكسس ، السجلات التي ليس عليها التركيز ، تبدأ البيانات التي بها من اول سطر في الحقل ، ومن اول موقع (على اليمين او اليسار ، يعتمد على اتجاه الحقل) ، فعلشان نرفع بيانات الحقل ، يمكنك وضع هذا الكود على "حدث الحالي" للنموذج Find1 : Me.nassx.SetFocus Me.nassx.SelStart = InStr(Me.nassx, Forms!Book!tx1) - Len("<font color=red>") فلما تنقر على اي سجل ، سترى ان الكلمة التي تبحث عنها والمؤشرة باللون الاحمر ، اصبحت في منتصف السجل ، ويمكنك قراءة السطر (كما هي في الصورة التي ارفقتها انت). حاولت ان اتحكم في السجل الاول عند فتح النموذج ، ولكني للاسف لم افلح 😞 جعفر
  6. اذا وضعت البرنامج على الشبكة حتى يستخدمه اكثر من مستخدم ، فيجب تفكيك البرنامج الى: 1. اعمل نسختين من البرنامج: نسخة تضعها في مجلد المشاركة ، وستكون للجداول ، نسخة على كمبيوتر كل مستخدم ، وستكون للواجهة. 2. الجداول: افتح البرنامج ، واحذف جميع الكائنات ، ماعدا الجداول ، احفظ البرنامج ، ثم ضغط واصلاح ، 3. الواجهة: ولا تكون في مجلد المشاركة ، وانما على كمبيوتر كل مستخدم ، والواجهة عبارة عن جميع كائنات الاكسس ماعدا الجداول ، وتربط الجداول بالواجهة ، ثم تجعل نسخة منها على كمبيوتر كل مستخدم ، احفظ البرنامج ، ثم ضغط واصلاح. جعفر
  7. اخي @capitala 🙂 رجاء اختيار افضل اجابة ، كما موضح في الدوائر الحمراء في الصورة ادناه:
  8. طيب والاجابة عن السؤال الاول والثاني ؟
  9. في الكود لا يوجد عندنا كائنات ، وانما: اسماء الكائنات في النموذج (مثل Me.ID) او التقرير او الجدول او الاستعلام ، وفهرسة هذه الكائنات تأتي/تُورّث من الجداول ، وينطبق عليها المادة #3 ، اوامر (مثل Docmd او Len او Split او Dlookup او ....) ، وهذه لا تفهرس ، اسماء المتغيرات ، وهذا ما تنطبق عليه المادة #4 ، وجميعها يُفهرس. بالنسبة الى برمجة الاكواد ، فأفضل طريقة لتعلمها ، هي حل المشكلة على ورقة ، سطر تحت آخر ، وبالتفصيل ، ثم تعطي كل كلمة/جملة اسم متغير (واحترافيا ، يجب ان يكون هذا الاسم يدل على نوع المتغير ، مثل User_ID ، وليس U فقط) ، ويجب ان تحصل على نفس النتائج كما كتبتها باليد 🙂 واما عن الاوامر ، فقد قام الاستاذ @صالح حمادي بجهد مميز في هذا الموضوع: جعفر
  10. وعليكم السلام 🙂 المبتدئ: يريد ان يعمل برنامج ، ويشتغل البرنامج حسب المطلوب ، المحترف: يريد ان يعمل برنامج ، ويشتغل البرنامج حسب المطلوب ، ثم تركيزه يصب على سرعة عمل البرنامج: تجربة قاعدة البيانات على ما لا يقل عن 10,000 سجل ، عمل العلاقات بين الجداول ، عمل فهرسة الحقول في الجداول ، وذلك بفهرسة جميع الحقول التي نعمل لها فرز او تصفية ، في اي مكان في قاعدة البيانات ، عمل فهرسة لجميع المتغيرات في محرر الاكواد ، بإستخدام Dim او Private او ... لهذه المتغيرات ، وافضل طريقة لإجبار المستخدم على العمل بها ، هو إضافة السطر الثاني: Option Explicit (طبعا بالاضافة الى السطر الاول) ، استعمال الاستعلام العادي بدلا عن استعلام الكود ، الاستفادة من وجود البيانات في النموذج ، وعمل المطلوب بها ، بدل ان يطلب البيانات مرة اخرى من الجداول بأوامر مثل Dlookup واخواتها ، وذلك لتقليل الضغط على الشبكة ، عدم استعمال الاوامر Dlookup واخواتها في الاستعلام ، إلا في حالات جدا نادرة ، واكيد اني نسيت ملاحظات اخرى 🙂 فالرد على سؤالك هو النقطة 4 🙂 جعفر
  11. تفضل : تحت كل مشاركة ، هناك سطر يمكنك النقر عليه "إختر كأفضل إجابة" (وكما هو موضح في الصورة التاليه بالدوائر الحمراء) : جعفر
  12. السلام عليكم 🙂 رجاء توضيح طلبك ، وبمثال لوسمحت 🙂 جعفر
  13. السلام عليكم 🙂 اخي الفاضل @السبيل1 ، رجاء اختيار مشاركة اخونا ناقل كأفصل إجابة ، حيث تمت الاجابة على السؤال 🙂 جعفر
  14. السلام عليكم 🙂 كان هذا لصيغة mdb ، وليس لصيغة accdb 🙂 كلامي عن البرنامج وليس محرر الاكواد. وبالاضافة الى شرح اخوي ابوجودي واخوي ناقل ، هذه احد طرق الحماية: جعفر
  15. السلام عليكم 🙂 ومتابع 🙂 جعفر
  16. السلام عليكم 🙂 جواب اخوي الدكتور حسين يأتي من رؤيته للاشكال في كل صورة ، وحسب رقم الصور 🙂 ولكن ، اذا اعدت تسمية المرفقات بأرقام او اسماء اخرى ، فهنا نحتاج الى طريقة ثابته لتأخذ جميع الاحتمالات ، اسماء اشكال وفواكه وبلدان وووووو ، فأحد الطرق ان يكون اسم الملف هو يشرح محتواه ، ولكن الطريقة الاصح هي ان تضيف معلومات اضافية في MetaData الصورة (البيانات الوصفية) عن طريق البيانات في EXIF الصورة ، في احد الحقول ، مثل tag ، ويمكنك رؤية وتغيير هذه البيانات عن طريق: متصفح الملفات ، ثم تنقر على ملف الصورة بالزر اليمين ، ثم تفاصيل ، ثم تفاصيل : . وهذه الاضافات يمكنك اضافتها في جميع انواع ملفات الصور (jpg , bmp , tiff ...) ، ماعدا صيغة png القديمة. وتستطيع استعمال كود لقراءة هذه البيانات ، مثل: https://docs.microsoft.com/en-us/previous-versions/tn-archive/ee176615(v=technet.10)?redirectedfrom=MSDN او https://www.devhut.net/get-image-exif-properties-using-vba-and-powershell/ جعفر
  17. السلام عليكم 🙂 الجواب المختصر ، لا يمكنك توسيط عنوان النموذج ، في الشريط اعلى النموذج. نظرياً ، هذا الشريط يقبل 2048 حرفا فقط ، وهذا لا يُمثل عرض النموذج ، وعملياً ، لم يأخذ اكثر من 127 حرفا ، اما الاحرف الباقية فهي تختفي 😥 جعفر
  18. السلام عليكم 🙂 ليش يا جماعة المراسلة بالايميل (مخالف لقوانين المنتدى) ، ضع كل شيء هنا حتى يستفيد الجميع 🙂 جعفر
  19. حياك الله 🙂 نعم ، عدم الاعتماد عليها في تسلسل رقم السجلات ، وتعويض الرقم المحذوف ، ويجب اضافة الفهرسة لهذا العمود ، وعند استعماله في مناداة السجل ، فالسجلات سيتم جلبها بطريقة اسرع ، جعفر
  20. نعم ممكن : 1. عمل جدول جديد فارغ فيه جميع حقول جدولك الحالي ، باسم New_Tab ، 2. عمل استعلام اضافة سجلات ، من الجدول القديم الى الجدول الجديد ، 3. اضافة جميع سجلات الجدول القديم باستثاء الحقل ID ، عمل الفرز بالحقل TNO ، INSERT INTO New_TAB ( TNO, Auto_Date, File_Name, nom, MNO, NASS, Col_3, TYPE1, TYPE2, TFLVL, TFR, MUSND, TR, MOVEX ) SELECT TAB.TNO, TAB.Auto_Date, TAB.File_Name, TAB.nom, TAB.MNO, TAB.NASS, TAB.Col_3, TAB.TYPE1, TAB.TYPE2, TAB.TFLVL, TAB.TFR, TAB.MUSND, TAB.TR, TAB.MOVEX FROM TAB ORDER BY TAB.TNO; 4. تنفيذ الاستعلام 🙂 جعفر
  21. وعليكم السلام 🙂 الترقيم التلقائي يكون بحسب تسلسل عمل السجلات ، ولا علاقة له بطريقة الفرز والتصفية في الجدول ، يعني ، سواء عملت حقل الرقم التلقائي عند عمل الجدول ، او عملته بعد سنه ، فالرقم التلقائي سيكون نفسه ، طبعا بالاخذ في الاعتبار السجلات المحذوفة والتي سيتجاهلها ويعمل التسلسل. جعفر
  22. السلام عليكم 🙂 هذه المعلومة غير صحيحة ، ولا دخل لها بزيادة حجم البرنامج !! رجاء اعطاءنا معلومات اكثر عن بيئة العمل: 1. هل المشكلة في الواجهة او في الجداول ؟ 2. هل الواجهة موجودة على كمبيوترات المستخدمين ؟ 3. هل لديك جداول مؤقته ؟ وحسب ملاحظتك بأن الاستعلامات هي السبب ، هل هناك استعلام بالذات ؟ جعفر
  23. وعليكم السلام 🙂 استعمل الكود مرتين: Private Sub CRN_DblClick(Cancel As Integer) File_Path = Application.CurrentProject.Path & "\CONTACT\" File_Name = Me.crn & ".pdf" Name_Path = File_Path & File_Name If Dir(Name_Path) <> "" Then Application.FollowHyperlink Name_Path Else MsgBox "المستندات غير محفوظة" End If File_Path = Application.CurrentProject.Path & "\NEW FOLDER\" File_Name = Me.crn & ".pdf" Name_Path = File_Path & File_Name If Dir(Name_Path) <> "" Then Application.FollowHyperlink Name_Path Else MsgBox "المستندات غير محفوظة" End If End Sub جعفر
  24. وعليكم السلام 🙂 اضفت حقل مخفي في النموذج ، اسمه All ، يتم التحكم بقيمته برمجيا : . الكود خلف النموذج والازرار : All = 0 معناه جميع السجلات All = 1 معناه السجلات حسب قيم البحث Private Sub Command16_Click() Me.All = 0 Me.Requery End Sub Private Sub Command20_Click() Me.All = 1 Me.Requery End Sub Private Sub Form_Load() Me.All = 0 Me.Requery End Sub Private Sub ind_AfterUpdate() Me.All = 1 Me.Requery End Sub . وعليه ، يصبح الاستعلام q1 مصدر بيانات النموذج: . معيار xDate Between (IIf([Forms]![f1]![All]=0,#01-Jan-1900#,[forms]![f1]![str])) And (IIf([Forms]![f1]![All]=0,#01-Jan-2900#,[forms]![f1]![ind])) ومعيار xname IIf([Forms]![f1]![All]=0,[xname],[Forms]![f1]![srch_xname]) . اي: للتاريخ: اذا كانت All=0 (جميع السجلات) فاختار التاريخ بين 1-1-1900 وتاريخ 1-1-2900 ، واذا احتجت اكبر من سنة 2900 فخذ راحتك واعمل التغيير 🤣 ولحقل الصنف: اذا كانت All=0 (جميع السجلات) فاختار قيمة الحقل xname من الجدول ، مما يعني جميع السجلات 🙂 ورجاء مراجعة الرابط التالي لتتعرف على طرق البحث في الاستعلام: جعفر تحديث.zip
  25. خلينا ندخل في الثقيل ، واعطنا مثال ، علشان جوابنا يكون واضح 🙂 جعفر
×
×
  • اضف...

Important Information