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

منتصر الانسي

المشرفين السابقين
  • Posts

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

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

  • Days Won

    4

كل منشورات العضو منتصر الانسي

  1. قمت بوضع حل أرجو أن ينجح اولاً قم بإستيراد الجدول الذي في المثال المرفق الى قاعدة بياناتك وهذا الجدول يقوم بعملية تقدر تقول عليها وساطة بين شكل البيانات عندك والشكل الذي اريده فستلاحظ ان الدرجة (الأولى/أ) يقابلها (11) وهكذا لذا يرجى التأكد من أن طريقة كتابة الدرجات هي كما وردت في الجدول ثانيا قم بإعادة تسمية الصور بإضافة الرقم المقابل للدرجة في الجدول مثال الرقم 2222 اذا كان في الدرجة الأولى/أ سيكون عنوان الصورة 11222 وهكذا ثالثاُ قم بتعديل الكود ليكون كما يلي Private Sub Form_Current() On Error GoTo ERRPIC Dim MyDgree as String MyDgree=Dlookup("DegreeTo","tblDegreesConv","DegreeFrom=Form!الدرجة") Me.MYPIC.Picture = Trim("C:\PHOTOS\") & MyDgree & Trim(Me.الرقم) & Trim(".jpg") Exit_FORM_CURRENT: Exit Sub ERRPIC: Me.MYPIC.Picture = "" End Sub مع تعديل إسم الحقل (الدرجة) كما هو في برنامجك بالضبط وذلك في السطر MyDgree=Dlookup("DegreeTo","tblDegreesConv","DegreeFrom=Form!الدرجة") ارجو ان يكون الشرح واضح ... جرب واخبرني حيث لم اقوم بتجربته تحياتي,,,
  2. آخر سؤال ان شاء الله ماهو النص الذي يكون في مربع النص هل هو (الأولى أ) ام ان كلمة (الأولى) تأتي في حقل و (أ) تأتي في حقل آخر ...؟ ولو كان بالامكان ارفاق المثال يكون أفضل ليتم التعديل فيه مباشرة . تحياتي,,,
  3. مافيش مشكلة ممكن تقول لي كم درجات معك...؟ ولو امكن تذكرها بالنص
  4. في هذه الحالة يمكن ان يصبح الكود كما يلي Private Sub Form_Current() On Error GoTo ERRPIC Me.MYPIC.Picture = Trim("C:\PHOTOS\") & Format(Me.الدرجة,"00") & Trim(Me.الرقم) & Trim(".jpg") Exit_FORM_CURRENT: Exit Sub ERRPIC: Me.MYPIC.Picture = "" End Sub عدل اسم حقل الدرجة كما هو في الواقع واكتبه بدل Me.الدرجة إذا كان هناك اختلاف وهذا يتطلب اولاً ان تكون قيمة حقل الدرجة رقما أي (1 و 2 ....) وليس (الأولى - الثانية.....) ثانياً تعديل عناوين الصور كذلك فمثلا الموظف الذي برقم 2222 وفي الدرجة الأولى سيكون عنوان صورته 012222 والذي في الدرجة الثالثة سيكون 032222 ارجو ان يكون التعديل واضحا ومفيداً تحياتي,,,
  5. ياخي والله عليك تصميم فني واخراج للنماذج يعقّد وهذا لا يقلل من القدرة البرامجية بل يضيف لها فالذي يكون فاهم للكود وتصميمه يجب أن يتعلم من فنيات التصميم والعكس الله يوفقك اخي العزيز تحياتي,,,
  6. اخي العزيز من خلال إسم البرنامج (أكسس) ومن شعاره (المفتاح) من الواجب أن تعلم أن أهم ماعلى مصمم قاعدة البيانات مراعاته لوضع قاعدة بيانات قوية (في أي بيئة كانت من اكسس وحتى اوراكل) ان يتم تصميم جداول رئيسية ترتبط بجداول أخرى فرعية من خلال حقل فريد يكون هو المفتاح الرئيسي للجدول (ومن وجهة نظري) وقد يكون هو المفتاح الرئيسي لقاعدة البيانات كلها (كرقم الموظف في أي قاعدة بيانات للموظفين) لذا فمن الأفضل إعادة التصميم بجعل رقم الموظف فريد لايتكرر تحت أي ظرف مهما كان هذا الحل صعب ولكنه في الأخير هو الأفضل فكما ترى فمن خلال مثالك هذا تقول ان الرقمين متشابهين ولكن تختلف الدرجة الوظيفية فاذا ما سلمنا جدلا بذلك فان تعديل درجة احد الموظفين سيؤدي الى - ضرورة تعديل عنوان الصورة الخاصة به - ستواجه مشكلة اخرى اذا ماتصادف رقم مكرر لشخصين في نفس الدرجة في الأخير وحتى لا أطيل عليك سألخص إقتراحي في : - كما قلت لك فالأفضل هو إعادة النظر في تصميم القاعدة (أو على الأقل في طريقة ترقيم الموظفين) - أو إضافة حقل خاص لهذا الغرض يتم فيه وضع رقم فريد لكل موظف ويتم الربط بموجبه - الحل الاخير (والغير مستحسن) تعديل الكود بحسب رغبتك ولكن بعد توضيح اكثر لحقول بيانات الموظف للتوصل الى توليفة يمكن من خلالها ان يتفرد كل موظف برمز خاص وتعديل الكود بناء على ذلك (ولكن ذلك سيتطلب منك تعديل عنوان صورة الموظف بعد تعديل اي عنصر من عناصر التوليفة هذه) تحياتي,,,
  7. اخي العزيز حسب علمي فإنه لايمكن لأكسس أن يقوم بتشفير أي كائن خارج نطاق قاعدة البيانات لذا ولكي تستطيع ان تقوم بالتشفير عليك حفظ الفيديو في حقل من نوع OLE ثم قم بحذف الفيديو من القرص وبالتالي فبتشفير قاعدة البيانات فكأنك شفرت الفيديو ولكن يجب أن يراعى هنا حجم ملفات الفيديو فيجب ان لا يزيد عن 2 جيجابايت لذا ففي رأيي - إذا كان حجم ملفات الفيديو صغير فيمكن إستخدام هذه الطريقة (مرفق لك مثال يوضح ذلك) - اذا كان الحجم كبير فمن الأفضل إستخدام احد برامج تشفير الملفات مثال برنامج MySecretFolder ويعتبر من اقوى برامج التشفير حيث لايمكن تجاوزه حتى من خلال الوضع الآمن تحياتي,,, Athan.rar
  8. ومرفق لكم مثال الأستاذ محمد طاهر (وبتدخل بسيط مني) وبصراحة أعتبره أفضل مثال لتقسيم الأسماء حيث يشمل 1- تقسيم الإسم كاملاً 2- تجاهل المسافات بين الأسماء 3- تحديد أجزاء الإسم التي يجب ربطها بما قبلها أو بما بعدها (مثال عبد و أمة) أو تجاهل (مثال بن و بنت) وبالإطلاع على المثال سيتضح المقصود إن شاء الله تحياتي,,, تقسيم الاسماء.rar
  9. اولاً اسألك سؤال كيف ستضع صورتين بنفس الإسم ونفس الإمتداد في ملف واحد...؟ فبحسب الكود يتم إستدعاء الصورة التي اسمها مطابق للرقم (باضافة s) وامتدادها jpg فكيف سيكون صورتين لهما نفس الاسم والامتداد في ملف PHOTOS ...؟ وبالإجابة على هذا السؤال يمكن عمل التعديل تحياتي,,,
  10. تفضل اخي جرب التعديل المرفق تحياتي,,, sample.rar
  11. بعد اذن صاحب الموضوع قمت بالتحميل من خلال الرابط الموجود في الكتاب وهذا الرابط هنـــا تحياتي,,,
  12. اسمحوا لي اخواني بهذه المداخلة ارجو الاطلاع على التعديل المرفق تحياتي,,, AK_NA_33.rar
  13. اخواني الأعزاء نواصل حلول التقارير في اكسس مرفق لكم المثال السابق بعد إضافة مدول جديد وتقريرين وذلك لعمل خلفية تقرير برمجيا دون إثقال البرنامج بصور لجعلها خلفية للتفارير ارجو ان تكون مفيدة تحياتي,,, التقارير.rar
  14. مشكورين جميعاً اخواني الأعزاء وارجو من الله ان تستفيدوا مما جاء في المثال لنثبت للبقية بأن الأكسس لا يستعصي عليه أي أمر تحياتي,,,
  15. دائماً ما تحرجني بكلامك ... فأنا أبعد ما أكون عن الإبداع ولكن لا أقول إلا جزاك الله خير تحياتي,,,
  16. اخوتي اعضاء المنتدى كما يعلم الجميع فإنه يتم الحكم على كفاءة اي برنامج من خلال مخرجاته أي تقاريره ومن يعمل في اكسس يلاحظ جمود تقاريره مقارنة بتقارير اكسل لذا فقد اخذت الكثير من الوقت في تصميم تقارير مرنة تشمل اهم الافكار المطلوبة في التقرير وكنت قد وضعتها في تقرير واحد بهدف رفعه للمنتدى ولكني رأيت ان ذلك يمكن ان يصعب على الأعضاء فهم الطريقة . لذا قررت ان اجعل المثال يحتوي على تقريرين . الأول : يوضح طريقة رسم الحدود وتحديد سجلات الصفحة والإقفال بعد آخر سجل . الثاني : يشمل جميع الأفكار . أرجو أن ينفع الله بهذا المثال كل طالب علم ... ملحوظة : المثال يحتوي على 80 سجل وتم تحديد عدد سجلات الصفحة 20 سجل لذا عند فتح التقرير سيطلب منك تحديد عدد السجلات المطلوبة لذا للتعرف على المثال بشكل واضح جرب تحديد عدد (5 و 20 و 21 و 40 و 45) على التوالي ولاحظ كيف سيظهر التقرير في كل مرة اسأل من الله الأجر والدعاء من كل من إستفاد من هذا العمل تحياتي,,, التقارير.rar
  17. المعذرة كان الخطأ في جملة IF الثانية مرفق لك التعديل تحياتي,,, Documents Description.rar
  18. تفضل اخي العزيز مرفق مثالك وبه تعديل يفي بالغرض . رغم اني أعتقد أنه يمكن إختصار الكود أكثر ولكن يحتاج بعض الوقت تحياتي,,, Documents Description.rar
  19. الامور الان وضحت فكرة جميلة رغم استغرابي لطريقة تحديد الوثائق المرفقة بهذا الشكل . ولكن لدي هنا استفسارين - هل ان قيمة الحقل تكون بهذا الشكل (اي ثلاثة ارقام مسافة ثلاثة ارقام مسافة... الخ أي هكذا "000 000 000") ولا تتغير ؟ - اقصى عدد للوثائق المرفقة للتعرفة الواحدة . والحل قريب ان شاء الله تحياتي,,,
  20. اخي العزيز الصور لم توضح السؤال المعروف ان وظيفة البحث هي البحث عن السجلات التي تتطابق مع معايير البحث فاذا كنت اعرف رقم السجل المطلوب فلماذا ابحث عنه اساساً ؟؟؟ يكفي ان اذهب اليه مباشرة . لكن بحسب معرفتي بك اعتقد ان طلبك يحتوى على فكرة جميلة ولكنك لم توصلها بطريقة صحيحة نرجو التوضيح أكثر... تحياتي,,,
  21. الله يسامحك اخي المشرف يعني قمت بتطبيق مقترحي بمثال لي عموما مشكور ولكن لي هنا ملاحظة فانا ارى انه من الافضل ان يتم إضافة الروابط ضمن المشاركة الأولى لتبقى هي مصدر كل الروابط وتحذف المشاركات التالية تحياتي,,,
  22. اخي العزيز جزاك الله كل خير على الكلام الجميل وكما تقول دائماً مانحن الا طلبة علم نعلم ونتعلم من بعضنا وانا معك في كل ماقلته ولكن ذكري للمصادر هو من باب تكريم صاحب الفكرة ولأضع نفسي في مكاني الصحيح . تحياتي,,,
  23. تكرم عينك اخي ابوخليل ولكن في البداية لابد من التوضيح بان هذه الدالة استقيتها من مثال اجنبي ولا اريد ان اسند لنفسي فضل ليس لي ولكن من بساطتها يمكن فهمها بسهولة... والان الى الشرح Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1) هذا سطر تعريف الدالة ومتغيراتها والتي تتمثل في اسم الجدول او الاستعلام , اسم الحقل المراد التجميع بحسبه , اسم الحقل الذي سيتم تجميعه , اسم الحقل الذي سيرتبط به حقل التجميع (وأعتقدانه يمكن فهمها اكثر من واقع المثال) Dim DB As Database, rs As Recordset Set DB = CurrentDb هنا يتم تعريف متغيرين الأول من نوع Database أي قاعدة بيانات (وجعلناها قاعدة البيانات الحالية التي نعمل بها) والثاني rs من نوع Recordset وهذا النوع من المتغيرات وبشكل مبسط يمكن تعريفه كأنه جدول أو إستعلام Set rs = DB.OpenRecordset("select distinct " & Feld2 & " from " & tabelle _ & " where " & Feld1 & "='" & valFeld1 & "' order by " & Feld2) هنا اسندنا للمتغير rs جملة SQL التي تمثل مصدر بياناته Do If rs.AbsolutePosition = rs.BOF Then هذه بداية الحلقة التكرارية التي ستتنقل بين سجلات الـ Recordset ثم تقوم جملة IF هنا بإختبار ما إذا كان موقع السجل الحالي (AbsolutePosition) في بداية (BOF) الـ Recordset Horizontal = rs(Feld2) عندها يجعل النتيجة تمثل قيمة الحقل المجمع Else Horizontal = Horizontal & ", " & rs(Feld2) End If وإلا تكون النتيجة هي قيم الحقل المجمع في السجلات السابقة مضافاً اليها الفاصلة (ويمكن تعديلها بما تشاء) ثم قيمة الحقل المجمع للسجل الحالي rs.MoveNext الإنتقال للسجل التالي Loop Until rs.EOF إختبار ما إذا وصلت الحلقة التكرارية إلى آخر سجل (EOF) في الـ Recordset rs.Close DB.Close Set rs = Nothing Set DB = Nothing End Function عندها يتم إغلاق الـ Recordset و الـ DB وتصفية الذاكرة من أي قيم محفوظة فيها وإنهاء الدالة هذا شرح مبسط فأرجو أن يكون واضح تحياتي,,,
  24. بعد اذن الاخ nart lebzo تفضل اخي مثالك بعد التعديل تحياتي,,, base.rar
  25. اقترح تثبيت الموضوع وعلى ان يتم توسيعه ليشمل ارتباطات اي مواضيع او مشاركات تحتوي على افكار و تلميحات جديدة من قبل اي عضو وبحسب مايراه المشرف . تحياتي,,,
×
×
  • اضف...

Important Information