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

شايب

03 عضو مميز
  • Posts

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

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

  • Days Won

    2

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

  1. تعليق لاخونا العزيز شايب في برامج المبيعات يتطلب وجود جدول واحد للاصناف او اكثر حسب طريقة المبرمج مثلا جدول الاصناف وجدول ترميز الاصناف وطلب الاستاذ ابو عبد الرحمن ادراج صنف في فاتورة المبيعات خارج قائمة الاصناف المتوفرة امر غير مالوف الا اذا كان المقصود في حالة عدم وجود الصنف يتم ادحاله مباشرة في الفاتورة ويحفظ ايضا في جدول الاصناف وهذا ايضا قد يسبب مشكلات من حيث تكرار اصناف باسماء مختلفة مثل زيت زيتون واخر زيت الزيتون .... وهكذا وايضا قد يحصل صنف واحد على اكثر من كود للصنف بينما يفترض بكود الصنف ان يكون معرف فريد للصنف ايضا من مروري بشكل سريع على البرنامج وجدت انه تم استخدام دالة DLookup في حدث بعد التحديث للقائمة بهذا الشكل Me.SellingPrice = DLookup("[SellingPrice]", "TaItems", "ItemID=" & [ItemName]) Me.SellingPrice2 = DLookup("[SellingPrice]", "TaItems", "ItemID=" & [ItemName]) Me.ItemDiscount = DLookup("[ItemDiscount]", "TaItems", "ItemID=" & [ItemName]) Me.PurchasPrice2 = DLookup("[PurchasPrice]", "TaItems", "ItemID=" & [ItemName]) Me.SellingPrice2 = DLookup("[SellingPrice]", "TaItems", "ItemID=" & [ItemName]) Me.ItemDiscount2 = DLookup("[ItemDiscount]", "TaItems", "ItemID=" & [ItemName]) Me.LowestPrice2 = DLookup("[LowestPrice]", "TaItems", "ItemID=" & [ItemName]) اي كاننا ننفذ سبعة استعلام عند ادراج كل صنف بينما كان يمكننا تحميل قيمة الحقول السبعة بامر واحد وسبق شرحه في الموقع او الاستغناء عن DLookup بتحميل قيمة الحقول السبعة عن طريق الاستعلام ثم اسناد قيمة كل حقل بحسب موقعة في القائمة me.ItemName.Column(0) me.ItemName.Column(1) me.ItemName.Column(2) وهكذا وجهة نظر ونترك الامر للاساتذة والخبراء الاخ شايب 🌹
  2. من تجربة سريعة تعمل ولا تظهر رسالة خطأ مع ذلك لوجعلت الفلترة تتم بعد اختيار الحقول الثلاثة ولكن هي فكرة فقط اخيرا لو ان صاحب المشاركة وضع بيانات اكثر لكان اسهل على من يرغب التعديل و يكون على بينة من نجاح التعديل وجهة نظر التجربة على نسخة 21 شايب🌹
  3. مشاركة مع الاستاذ محمد اعتقد ممكن استخدام الامر If Len(Me.number_custom & "") <> 0 Then Exit Sub Dim rst As Recordset Dim a, x As Integer date_custom = Date Me.number_custom = Nz(DMax("[number_custom]", "tbl_custom", "year([date_custom])=" & Year(date_custom)), 0) + 1 Set rst = Me.Form.RecordsetClone x = rst.RecordCount Me.Dirty = False For a = 1 To x rst.Edit rst!number_custom = number_custom rst!date_custom = Date rst!emp_company = DYear rst.Update number_custom = number_custom + 1 rst.MoveNext Next Me.Requery ولكن مع وجود عدد كبير من السجلات التعامل مع الجدول اسرع
  4. على الرغم من اني شايب وفهمي على قدي لكن جرب Dim rs As Recordset Dim a As Integer Dim x As Integer Set rs = Me.نموذج_فرعي_tabl.Form.RecordsetClone x = rs.RecordCount rs.MoveFirst For a = 1 To x rs.Edit If rs!prentss = True Then rs!prentss = False Else rs!prentss = True End If rs.Update rs.MoveNext Next a مرفق الملف BD.accdb
  5. معلوماتي انه لايمكن ادراج نموذج فرعي في نموذج من نوع مستمر والحل ان يكون لديك نموذج يحتوي على نموذجين مستمرين مع ذلك اعتبر ردي رفع للموضوع لعل احد الاساتذة او الخبراء يكون لديه اجابة اخرى
  6. ياهلا الاخ شايب يقول ان بعض الاستعلامات لا تقبل اضافة معيار وتظهر رسالة خطأ مثلا لو اردنا ان ان نعرض بيانات في نموذج او تقرير مصدر هذه البيانات استعلام ونرغب في عرض البيانات الخاصة بالناجحين فقط فاننا نضع المعيار في الاستعلام على سبيل المثال Forms![frm_1]![tx] اسم النموذج والحقل الذي سيتم اعتباره المعيار وفقا لما نكتبة ناجح او راسب هنا بعض الاستعلام تظهر رسالة محرك قاعدة البيانات microsoft.jet لايتعرف على Forms![frm_1]![tx] كاسم حقل اوتعبير صالح هذه الرسالة تظهر عادة في الاستعلامات الجدولية ولحل المشكلة نحتاج الى اضافة المعلامات بمعنى اننا نحتاج الى تعريف الحقل المحتوي على المعيار ونوعه اخيرا الاخ العزيز شايب يعتذر مقدما ان لم يستطع ايصال المعلومة بشكل بسيط وواضح ويترك الامر للاساتذة والخبراء الكلام
  7. اقتراح اخونا الفاضل شايب ان تعمل جدول من ثلاث حقول ويمكن اضافة حقل رابع لايقونة الرسالة معرف نص عنوان لكل الرسائل في البرنامج ونموذج واحد يتم فيه عرض هذه الرسائل الفائدة انه يمكن التحكم بالخط والالوان وتتخلص من اي نص عربي في محرر الاكواد
  8. تحتاج الى اضافة معلمة وتحديد نوعها في الاستعلام رسم بياني.accdb
  9. نعم ممكن انشاء تقرير عن طريق الكود والصيعة العامة للامر CreateReportControl (ReportName, ControlType, Section, Parent, ColumnName, Left, Top, Width, Height) لاحظ ان هناك سبعة معلمات كل منهم تحتاج الى قيمة مع ذلك توجد طريقة اسهل وبدون الحاجة الى انشاء تقرير عن طريق تصدير الاستعلام الى word اذا اقنعت بالفكرة ضع الامر التالي في نهاية الكود الخاص بالاستعلام او في زر امر حسب رغبتك Dim w As String w = Me.Combo2.Column(0) & ".rtf" DoCmd.OutputTo acOutputQuery, "stu Query", _ acFormatRTF, "d:\" & w, True وفي جميع الاحوال هذا طلب جديد ويتطلب موضوع جديد وفقا لقوانين الموقع ولن اعلق على هذه القوانين ولا كيفية تطبيقها حتى لا اتهم باني متحامل و اقوم بتاجيج الرأي العام و سيء الظن واحمل نفسي مالا اطيق الاخ شايب 🌹
  10. حيث ان الموضوع لم يحظ باهتمام الاساتذة الكرام ارفق مثال بعد تعديل كود الاستاذ دروب بالتعديلات التالية الاختيار يكون من مربع قائمة متعددة الاختيار لمادة او اكثر او الكل يمكن اختيار الادارة او تركه فارغ ليتم فلترة كل الادارات اخيرا لا اهتم باختيار اسماء المتغيرات لتكون معبرة عن وظيفة كل منها كما يفعل الاساتذة والخبراء وانما اختار اي اسم او حرف وامور اخرى لا يتسع المجال للحديث عنها وعلى كل حال خذ ماتريد او اترك الاخ شايب 🌹 stu(1).accdb
  11. مارايك بدلا من تكرار الكود نستعين بتعديل الاخ @jjafferr على مشاركة سابقة للاخ العزيز شايب ويتم الاستدعاء عند تحديث المادة Function tx_degree(ctl As Control) Dim a As Integer Dim ctl_n As String Dim rs As Recordset Set rs = Me.RecordsetClone ctl_n = Replace(ctl.Name, "deg_", "") rs.MoveLast R = rs.RecordCount rs.MoveFirst For i = 1 To R rs.Edit rs(ctl_n) = ctl.Value rs.Update rs.MoveNext Next Me.Refresh End Function ثم في حدث بعد التحديث لكل حقل من حقول ادخال الدرجات نضع الامر Call tx_degree(deg_Arab) deg_Arab يتم تغييرها باسم الحقل مرفق الملف تم تغيير اسماء الحقول الثلاثة لتسهيل تنفيذ الامر بدلا من كتابة اسطر اضافية ادراج قيمة.accdb
  12. المثال الذي ارفقه الاستاذ دروب مبرمج افضل والفكرة اسهل في التنفيذ استبدل السطر strSql = "SELECT id, idara, lagnano, lagna, " & Combo0 And Combo1 & " FROM stu WHERE idara ='" & Combo2 & "'" بالسطر التالي strSql = "SELECT id, idara, lagnano, lagna, " & Combo0 & " ," & Combo1 & " FROM stu WHERE idara ='" & Combo2 & "'" لكن اعتقد ان هناك افكار افضل الان انت ترغب في عرض مادتين وغدا تحتاج 3 مواد وربما اكثر فهل لديك الاستعداد لاضافة قوائم منسدلة كل ما احتجت الحل من وجهة نظر الاخ شايب ان نستبدل القوائم المنسدلة بمربع قائمة متعددة التحديد عندها نستطيع اختيار مادة او اكثر او الكل وفقا لرغبتنا مجرد فكرة واعتذر عن ارفاق مثال ونترك الامر للاساتذة الكرام
  13. لا لا اخي شامل يمكن تصميم استعلام يتم فيه جلب بيانات المادة وفقا لمعياري النموذج الفكرة عمل دالة تقوم بالمرور على حقول الجدول ثم يتم جلب البيانات اذا تطابق معيار النموذج مع اسم الحقل وننتظر ابداعات الشباب الشايب 🌹
  14. هذا الموضوع علمت بطريقتين الاولى مباشرة على النموذج بدون الحاجة لاستعلام باستخدام خاصية tag حددت الحقول العشرة بعلامة * ثم عملت حلقة تمر على الحقول المحددة اذا كان فارغ نعود بفارغ وننهي الاجراء وان كانت الحقول غير فارعة نعوض بـ 1 لكل حقل اكبر او يساوي الحد الادنى للنجاح او نعوض بصفر ثم اذا كان العدد =10 ناجح اقل راسب الطريقة باستعلام برقم المعرف والحقول العشرة التي استخدمتها اخي جعفر في طريقتك وهنا لاداعي لكتابة اسماء الحقول وايضا بنفس طريقة العد على كل حال لعل لنا لقاء في موضوع اخر اخيرا ايضاح من اخونا شايب مشاركاته لا تقدم حلول بديلة وانما مجرد افكار تحتمل الصواب احيانا و الخطأ في اغلب الاحيان
  15. كان في موضوع الحقول الفارغة لكن للاسف اغلقت الملف بشكل اجباري هنق الجهاز بدون حفظ التعديل
  16. الاخ شايب يقول : الشكر لله استاذي ثم لكم فانتم اساتذتنا ومنكم تعلمنا الكثير 🌹 بعدين يا ابا عبد الله حلبي يستاهل فان لم نجد الوقت لانهاء طلبة فعلى الاقل نحرك المياه قليلا
  17. هههههه من قدك يا استاذ حلبي طلبنا لك فتح باب وتحريك للمياه ورزقك الله فتح بوابات وجريان انهر عمل رائع استاذنا وكما اشرت في اول مشاركة بدون الحاجة الى تكرار الامر والحقيقة اتراجع عن قولي السابق "ولكني افضل ان يكون الاضافة منفصلة" نعم فكرتكم افضل واسهل شايب🌹
  18. لذا ولذا فقط اكسس قاعدة بيانات صغيرة بعدد مستخدمين محدود وحتى لو اعلنت مايكروسوفت ان عدد المستخدمين 255 مستخدم متزامن ومع صعوبة الوصول لهذا العدد الا ان اكثر مستخدمي اكسس يعملون من خلال مجلد مشاركة من خلال انظمة الويندوز الشخصية وهنا الحد الاقصى لعدد المستخدمين 20 مستخدم وحتى هذا الرقم يتطلب عدة امور للوصول اليه وبناء عليه ممكن عمل الصلاحيات عن طريق اختيار الشاشة والصلاحية بشكل يدوي والسبب ان عدد المستخدمين قليل وجدت هذه الصورة من احد البرامج التي عملتها منذ سنوات ويتم فيها اختيار الشاشة بشكل يدودي ويمكن ايضا بتعديل بسيط اضافة الشاشات بالطريقة التى اشار اليها الاستاذ جعفر بامر واحد اخيرا سوف ابحث عن البرنامج واستخلص منه الجداول والنماذج الخاص بالصلاحية اذا وجدته ولم يكن من ضحايا نوبات الغضب شايب
  19. لا اعلم الحديث موجه لي او لاخي حلبي تمام ولكني افضل ان يكون الاضافة منفصلة وبالنسبة لتنشيط خانات الاختيار جميعا يكون عادة لمدير النظام حيث يعلم من يعمل على نظام الصلاحيات ان منح الصلاحية يكون افضل بالاختيار اليدوي لكل مستخدم وفقا للمهام المكلف بها ويمكن استثناء المدير واختيار كل الصلاحيات كما طلب الحلبي والافضل من هذا وذاك ان يكون منح الصلاحيات وفقا للمجموعات المحددة مسبقا من مسؤول النظام بدلا تحديد الصلاحيات لكل موظف على حده
  20. خلينا نفتح الباب ربما يكون فاتحة خير وتجد الاجابة من الاساتذة والخبراء في خانة اللختيار الاولى Check25 ضع الامر التالية Dim rs As DAO.Recordset Set rs = Me.Subformusers.Form.RecordsetClone rs.MoveFirst While Not rs.EOF rs.Edit If Me.Check25 = True Then rs!canopen.Value = True Else rs!canopen.Value = False End If rs.Update rs.MoveNext Wend rs.Close هذا الامر سيعمل مع خانة الاختيار الاولى مما يتطلب تكرار الامر لبقية خانات الاختيار مع تغيير اسماء خانات الاختيار وهو عمل غير صحيح الاجراء الذي ينصح به الخبراء والاساتذة تحويل اي كود متكرر لاكثر من جدث الى وظيفة ثم استدعائه ولكن كما اشرت في بداية مشاركتي هو فتح باب او بمعنى ادق تحريك للمياه أَعْمِلْ لِرِزْقِكَ كُلَّ آلـهْ *** لاَ تَقْعُدَنَّ بِكُلِّ حَـالَـهْ وَانْهَضْ بِكُلِّ عَظِـيَمةٍ *** فَالمَرْءُ يَعْجِزُ لاَ مَحَالَهْ شايب 🌹
  21. مع التقدير والاحترام للاستاذ قاسم وثقته في الاخ شايب الا ان الاخ شايب لا يتفق معك لا يمكن ان يضع نفسه في مصافكم فانتم خبراء واساتذة كبار يشار اليكم بالبنان وهو مزارع بسيط خبراته في زراعة الكوسى والقرع واحيانا البامية رحم الله امرا عرف قدر نفسه لبِستُ لكُلّ زمـانٍ لَـبـوسـا *** ولابَستُ صَرْفَيهِ نُعمى وبوسَى وعاشرْتُ كلَّ جَلـيسٍ بـمـا *** يُلائِمُهُ لأروقَ الـجَـلـيسـا فعنـدَ الـرُّواةِ أُديرُ الـكـلامَ *** وبينَ السُقاةِ أديرُ الكـؤوسـا وطوْراً بوعْظي أسيلُ الدّمـوعَ *** وطوْراً بلَهْوي أسُرّ النّفوسـا شايب🌹
  22. السلام عليكم بناء على طلبك ممكن استخدام التنسيق الشرطي المدرسة القرانية ابو عمرو الداني(2).accdb
  23. ووضعُ الندى في موضعِ السيفِ بالعلا مُضِرٌّ كوضعِ السيف في موضع الندى
×
×
  • اضف...

Important Information