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

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    237

كل منشورات العضو ابوخليل

  1. ولك بالمثل اخي انت شريك في هذا العمل وأرى ان نسند اليك بعض المهام وهي عملية الديكوروالاخراج في النماذج والتقارير فنحب ان نرى لمساتك الفنية من خلالها
  2. انظر هنا http://www.officena.net/ib/index.php?showtopic=54836
  3. كما ذكرت يوجد لديك بيانات سابقة الى ثلاث سنوات خلت فافضل طريقة هي الطريقة التي تحافظ على خصوصية البيانات وحفظها عن التغيير خاصة اذا كان تغير المعرفات ينشأ عنه مشكلات مستقبلية يوجد اكثر من حل لمشكلتك ، فالنستعرض بعضها لنتمكن من معرفة ما يوافق رغبتك : احدها : الشروط : ان يحتوي الجدول الرئيس على حقل تاريخ مثبت بالفعل خلال هذه الطريقة لن تتأثر ارقامك السابقة في الجدولين وكل ما عليك عمله هو انشاء حقل نصي في الجدول الرئيس ويكون حجمه 4 وسندخل فيه السنة فقط استنادا الى حقل التاريخ المقابل في السجل ( وسيتم ذلك بضغطة زر باستخدام استعلام التحديث ) الخطوة الثانية جعل حقل السيريال وحقل السنة مفاتيح وبهذه الطريقة لن يتم تكرار الرقم خلال السنة الواحدة
  4. الخطوة الرابعة : ذهبنا الى خصائص النموذج /لسان التبويب : بيانات ثم غيرنا القيمة ادخال بيانات الى : نعم والفرق بين ان نجعلها نعم او لا كالتالي : - النموذج في حال ادخال البيانات =لا 1- البيانات تظهر للمستخدم 2- يمكن استخدام ازرار التنقل بين السجلات 3- امكانية البحث والعرض - النموذج في حال ادخال البيانات = نعم 1- كل الخصائص السابقة غير ممكنة 2- عند فتح النموذج يكون جاهزا لادخال بيانات جديدة الخطوة الخامسة : انشاء زر عند النقر عليه يقوم بنسخ البيانات الظاهرة والتي جلبناها من الاستعلام الى حقول النموذج التي اخفيناها ومن ضمنها حقل الشهر وحقل السنة المضمن داخله على النحو التالي : Me.UserId = UID ' المعرف Me.Noa = 101 ' الرقم يعني العملية وهي الايرادات وهذا الرقم ثابت Me.tfNoa = TXT3 ' نوع العملية او الاشتراك Me.Amount = TXT4 ' المبلغ Me.shahr = txt0 ' الشهر Me.sanah = Me.txt0.Column(2) ' السنة وهي مضمنة في العمود الثاني في مربع التحرير Me.Sdate = Date ' تاريخ اليوم الخطوة السادسة : انشاء نموذج فرعي مصدره جدول العمليات ونوظف داخله استعلام يستخرج آخر تاريخ لكل شخص وطبعا آخر تاريخ هو آخر دفعه تم سدادها ونجعل الرابط بين النموذج الرئيسي والنموذج الفرعي هو المعرف هذا ما تهيأ لي ايضاحه اخوتي الكرام : مجال الاستفسار والمناقشة مفتوح للجميع حتى نستفيد ونفيد فهذا درس بدأه اخوكم ابو الوليد جزاه الله خيرا
  5. نحن الآن عملنا الجداول 1- جدول بالاسماء 2- جدول نوع الاشتراك والمبلغ 3- جدول التفاصيل او العمليات ونريد ان نبني على جدول العمليات نموذجا ندخل من خلاله اسم الشخص والبيانات اللازمة ويكفي ان نرصد فيه الشهر + السنة + تاريخ الادخال +نوع الاشتراك + المبلغ + معرف الشخص حيث نستطيع اظهار الاسم في التقارير بناء على هذا المعرف وحيث ان المعرف في جدول والمبلغ في جدول آخر فعلى هذا يلزمنا عمل استعلام يجمعهما الخطوة الأولى : نعمل نموذجا بواسطة المعالج او يدويا ويكون مصدر بياناته جدول العمليات وحيث اننا لن نقوم بادخال البيانات في الحقول مباشرة يدويا وانما سنعمل على ادخالها بواسطة امر برمجي فإننا سنعمل على اخفاء الحقول بحيث لا يراها المستخدم اذا ما هو الشيء الظاهر على النموذج ؟ الخطوة الثانية : سنقوم بانشاء حقول غير منضمة ونسميها مثلا txt1 , txt2 , txt3 .... وهكذا وسنقوم بجلب البيانات اليها من الاستعلام المذكور باستخدام الدالة DlookUp Me.TXT1 = DLookup("esm", "QryEshtrak", "UserU='" & Me.UID & "'") Me.TXT2 = DLookup("NoaNm", "QryEshtrak", "UserU='" & Me.UID & "'") Me.TXT3 = DLookup("sid", "QryEshtrak", "UserU='" & Me.UID & "'") Me.TXT4 = DLookup("Scrb", "QryEshtrak", "UserU='" & Me.UID & "'") لا حظ اننا وضعنا شرطا وهو "UserU='" & Me.UID اي ان المعرف في الاستعلام useru يساوي المعرف الذي كتبناه في الحقل UID وقد وضعنا هذه الاسطر في حدث بعد التحديث لحقل UID ايضا وضعنا ضابطا قبل هذه الاسطر للتأكد من وجود الرقم داخل الاستعلام واستخدمنا ايضا الدالة DlookUp ايضا مثل السابقات لتصبح الجملة هكذا Dim myID As Boolean ' اعلان عن متغير نعم/لا myID = DLookup("UserU", "QryEshtrak", "UserU='" & Me.UID & "'") If myID = False Then ' اذاكان غير موجود MsgBox "لا يوجد اسماء ! تأكد من الرقم" UID = "" UID.SetFocus Exit Sub End If الخطوة الثالثة : انشأنا مربعي تحرير الاول يظهر الشهر من جدول الشهر ويحتوي على حقل السنة ولكنه غير ظاهر للعيان الثاني يظهر الاسماء من جدول الاسماء ومعه المعرف وهو القيمة الفعلية لمربع التحرير ولكننا اخفيناه ايضا عن الانظار فعند اختيار الاسم من مربع التحرير (حدث بعد التحديث ) يقوم بطبع الرقم المعرف داخل الحقل UID ثم يقوم بتحديث الحقل UID لتفعيل وتشغيل الحدث واستخدمنا لذلك السطرين التاليين UID = co1 Call UID_AfterUpdate حيث co1 هو اسم مربع تحرير الاسماء للشرح بقية
  6. تقصد حدث فصل لجدول الفرعيات فاصبحا اثنين العلاقات وربطها تكون على ثلاث حالات : 1- علاقة رأس برأس او واحد الى واحد ويجب هنا ان يكون كلا الطرفين مفاتيح او سجلات فريدة غير قابلة للتكرار 2- علاقة رأس باطراف او واحد الى كثير (متعدد) ويجب هنا ان يكون الرأس مفتاح او سجل فريد غير قابل للتكرار وبالمقابل الطرف الآخر يجب ان يكون قابل للتكرار 3- علاقة اطراف بأطراف او متعدد الى متعدد وهذه حالة خاصة نقوم بتوظيف جدول ثالث كوسيط بين الجدولين والمعرف ايضا حين نجعل حقلا في الجدول مفتاحا فإننا نمنع حدوث التكرار في هذا الحقل وحين نضع مفتاحين فإننا نمنع التكرار في الحقلين مجتمعين فقط مع امكانية التكرار في الحقل منفردا وكذلك ثلاث مفاتيح فمثلا محمد معرفه = 101 والشهر = رمضان والسنة = 1435 وهذه لا يمكن ان تتكرر ابدا ولكن يمكن ان يتكرر الرقم 101 ورمضان ولكن ليس في سنة 1435 ..... وهكذا وهذا ينطبق عل حقول المفاتيح الباقية للشرح بقية ...
  7. جزاك الله خيرا قمت باصلاح القاعدة وحذف الصور منها لتخفيف الحجم وتم رفعها هنا db1.rar
  8. السبب هو مصدر بيانات كل من التقرير الاساسي والتقريرين الفرعيين التقرير الاساسي مصدره qryTransfer بينما التقريرين الفرعيين مصدرهما New_qryTransfer وهذا ليس تكرار بل هما سجلين اثنين فيqryTransfer ولكن لا يظهرا بسبب اختلاف المصادر
  9. حل الصفحة البيضاء ان تقلل من عرض التقرير عند الصميم دمج تقريرين بتصفية2.rar
  10. السلام عليكم اخي كريمو تحية طيبة وبعد حاول دائما اختصار مثالك حسب الحاجة لا ن زيادة الحجم عبء على المنتدى فمثلا في مثالك الحالي 20نموذج والمطلوب التطبيق على واحد منها فقط ومثلها في الاستعلامات وكذلك الجداول تم التعديل دمج تقريرين بتصفية2.rar
  11. وعليكم السلام اخي الكريم لو كان المرفق على امتداد mdb لرجوت لك تفاعلا اكثر انظر فهنا موضوع مقارب لمطلوبك يحوي اشتراكات شهرية فيمكن ان تحل السيارات بدلا من الافراد فلعلك تستفيد منه http://www.officena.net/ib/index.php?showtopic=54777
  12. تغييير السنة يكون على رأس السنة ونستخدم في ذلك تحديث حقول السنة وسنضع ضابطا لذلك بحيث يتم التنبيه حال دخول السنة الجديدة اما حقل المعرف فسيكون بجانبه منسدلة لاختيار الاسم اجريت بعض التعديلات الضرورية على الجداول فراجعها لترى التغيير الحادث انشأنا استعلاما يربط بين جدول الاسماء وجدول انواع الاشتراكات وستلاححظ انه حينما تتغير قيمة الاشتراك فاننا لسنا مضطرين للتغيير لكل شخص بل يكفي التغيير على القيمة الموجودة امام كل نوع وهذه التغييرات سنفرد لها لاحقا نموذجا خاصا ايضا انشأنا نموذجا فرعيا يقوم بعرض اخر دفعة للشخص المعين الاشتراكات المقطوعة لا وجود لها في نموذجنا حيث سنفرد لها نموذجا خاصا وفي المثال غنية عن الاستطراد في المقال وكما اتفقنا الدراسة المتأنية وعرض ما يصعب فهمة فقد اطرح عليك بعض الاسئلة صندوق2.rar
  13. السلام عليكم كل سنة وانت طيب اخي ابو صلاح الحقيقة كتاباتك شيقة وجميلة لكني في هذا الموضوع لن استطيع عرض اللغز على اطفالي والسبب لا يخفى عليك : سيجار ، تدخين ، مسميات سجائر ، بيرة حبذا لو اعدت صياغتها بمسميات لطيفة ولك الاجر والثواب من الله
  14. الخطوة التالية سنقفز من خلالها الى صلب الموضوع وهي الجزء المهم في برنامجك والذي جعلنا نعيد خطواتنا من البداية حيث ان البرنامج عبارة عن جزئين : 1- ايرادات شهرية ثابتة شبيهة بالاقساط وهذه الايرادات تحتاج الى متابعة في الادخال وفي الاستعلام عن المتأخرات والقسم الاكبر من هذه الايرادات منضبط بجدول زمني ومالي معين ولكن لا يستبعد وجود جزء غير منضبط كالمساعدات المقطوعة مثلا 2- مصروفات : وهي عملية عادية جدا ومعلومة ونحتاج فيها الى نموذج فقط لادخال المصروفات اذا سنعمل على ايجاد طريقة مرنة ومريحة للمستخدم عند التعامل مع البرنامج وسأتبع في شرحي طريقة التصور ثم التطبيق : وسنبدأ بالايرادات ونفتح النموذج الخاص بالاشتراكات 1- يظهر ثلاث حقول ( حقل للشهرالحالي وحقل للتاريخ ) مع امكانية تغيير الشهر الحقل الثالث فارغ وهو لادخال المعرف حين ندخل المعرف ثم ننقر ادخل يظهر لنا بعض البيانات التعريفية المطلوبة الاسم ، نوع الاشتراك ، المبلغ ، آخر شهر تم تسديده + ايقونة للحفظ عند الحفظ يتم التسديد وفي اللحظة نفسها يختفي كل شيء ما عدا حقل الشهر لنبدأ البحث عن مشترك جديد ملحوظات: - سيتم التنبيه في حال تطابق الشهر المستهدف مع آخر شهر تم تسديده - من الضروري ايجاد تسمية لنوع الاشتراك فمثلا اشتراك ذهبي وقيمته 500 واشتراك فضي وقيمته 200 وهكذا من خلال هذا التصور يتضح لنا سهولة عملية الادخال وانها تتم بحركتين فقط واحدة في ادخال المعرف والثانية بنقر زر الحفظ إقرأ بتمعن ووافني بمرئياتك
  15. ما قلته حقيقة وان اعتبرته انت تشجيعا ومن المفترض ان يتفوق الطالب على استاذه والا كيف يتطور العلم ؟ وقد يمر الشخص بمشكلة لها اكثر من حل وطريقة ، ثم يتناول الحل البعيد في حين ان بين يديه حلا اقرب وافضل منه ومحدثك من هذا النوع
  16. الموضوع قديم قبل 6 سنوات وهذه نتيجة طبيعية عند استخدام الرفع من مواقع خارجية
  17. جزاك الله خيرا استاذ علي على الشرح الوافي وحين يكون مربع القائمة او مربع التحرير قد تم عمله مسبقا ونريد تبجيد حقل داخله : نفتح خصائصة على لسان التبويب / بيانات ثم ننقر النقاط الثلاث التي بجانب القيمة : مصدر الصف ليخرج علينا الاستعلام هنا نستطيع اضافة الفرز المطلوب (تصاعدي/تنازلي) الى الحقل المستهدف
  18. طريقة جميلة ورائعة اخي علي وهي افضل مما قدمته لك
  19. هذه لم اعملها حيث قمت بالتعديل على جداولك السابقة ولم انتبه لها والافضل الاكتفاء بالتكامل المرجعي ولا بأس بالتحديث ولكن الحذف لا احبذه وهذه عكس الاولى ولا باس من تطبيق تتالي التحديث والحذف لاننا قد نحتاج مستقبلا لتغيير مسميات ، ايضا ليس هناك محاذير بفقد بيانات تاريخية كالأولى رقم السنة واحد في جميع الحقول فما جدوى الفهرسة نضع الحجم حسب الحاجة فما دامت الارقام لن تتعدى 255 فالاولى ان يكون حجمها بالبايت حجم الحقول في الجداول يتناسب طرديا مع حجم قاعدة البيانات ، وهذا لا شك يؤثر على حجم القاعدة من غير ضرورة للمزيد راجع الرابط التالي http://office.microsoft.com/ar-sa/access-help/HA010231953.aspx#BMnumberfs المفتاح ولو لم يكن هناك حاجة اليه فإنه ينصح به بشدة فقد نحتاجة لربط علاقة بجدول آخر او حينما نريد تطوير القاعدة وتكبيرها وهو مهم جدا لمنع تكرار البيانات في حقل واحد او حقول متعددة .
  20. هذه تحتاج الى تحديدك انت داخل الفورم فتعمل خانتي اختيار لمادة او مادتين وبالكود البرمجي تستطيع التلاعب بالتسميات بمعنى اننا لا نحتاج لشرط وجود البيانات سأعمل لك مثالا يوضح كيفية التطبيق
  21. لم يعمل لان التقرير غير منضم اي لا يوجد له مصدر بيانات جرب واجعل له مصدر بيانات جدول فارغ وانظر النتيجة
  22. حييت ابا سليمان وكل سنة وانت طيب فقط ابدأ ونحن معك ان شاء الله ، فربما يروق لك المقام هنا . بداية انت بحاجة الى اربعة جداول وقد يكون هناك جداول اضافية 1- جدول لمالكي العقارات وأنشء فيه ما تحتاجه من حقول 2- جدول للمستأجرين وأنشء فيه ما تحتاجه من حقول 3- جدول للعقارات وأنشء فيه ما تحتاجه من حقول 4- جدول للعمليات وهو الذي يثبت فيه تاريخ الايجار والدفعات ملحوظات استخدم اوفيس 2003 لعموم الفائدة واطلاع اكثر من الاعضاء اكتب اسماء الجداول واسماء الحقول بحروف انجليزية واكتب التسمية التوضيحية بحروف عربية
  23. بعد الاطلاع على المرفق المطلوب غير واضح ادعم شرحك بالصور
×
×
  • اضف...

Important Information