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

شايب

03 عضو مميز
  • Posts

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

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

  • Days Won

    2

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

  1. الاخ شايب يقول لك الشكر لله سبحانه ويود ايضا ان يشير الى ملاحظة بسيط دائما عند انشاء جدول لابد ان يكون لديك حقل مفتاح اساسي هذا المفتاح يمثل معرف فريد للسجل ويساعد في الفرز ويتيح لك ربط الجداول بعلاقة هذه العلاقة قد تكون واحد لمتعدد او واحد لواحد او متعدد الى متعدد وهذا الاخير يتطلب مفتاح وسيط اخونا شايب 🌹
  2. s19 s20 s21 s22 s23 s24 1 2 2 6 6 2 يكون مجموع الحقول بعد اسنبعاد اي حقل قيمته [6] = 7 والمتوسط = 1.16 وبعد التقريب = 1 هل هذا صحيح
  3. نعم ممكن لتحويل حقل في الجدول من نوع تاريخ الى نص CurrentDb.Execute "ALTER TABLE tbl_1 ALTER COLUMN s_date text" ------------ tbl_1 هو اسم الجدول s_date هو اسم الحقل وللتحويل من نص الى تاريخ CurrentDb.Execute "ALTER TABLE tbl_1 ALTER COLUMN s_date DateTime" مع ذلك فأن اخونا العزيز شايب ينصح بعدم تنفيذ هذه الفكرة ويقول دع حقل التاريخ كما هو ويمكن اضافة حقل نصي وتتحكم بما يظهر وفقا لرغبتك حيث ان كتابة التاريخ ستبقى عند تحويل حقل تاريخ الى نص الى نص اما عند تحويل حقل نص الى تاريخ فان اي كتابة نصية سيتم حذفها عند تحويل الحقل الى تاريخ الشايب
  4. ما يحتاج نقل الملف الى جدول اخر يكفي اضافة حقل واحد في جدول malade من نوع نعم لا اذا كانت قيمة الحقل نعم يظهر السجل في نموذج القائمة السوداء ولا يظهر في النموذج الاخر والعكس صحيح ويكون مصدر النموذجين استعلام بمعيار قيمة الحقل مجرد فكرة ونترك الامر للاساتذة والخبراء الاخ شايب 🌹
  5. الفكرة في انشاء وحذف المجلدات في vba مشابهه لاوامر cmd ولكوني غير متخصص فقط سوف اشير الى طريقة انشاء وحذفة المجلد في vba واترك الامر للاساتذه والخبراء صيغة انشاء مجلد MkDir CurrentProject.Path & "\ااسم المجلد\" لحذف المجلد RmDir CurrentProject.Path & "\اسم المجلد\" ويمكن تسمية المجلد من خلال تسمية مباشرة او من خلال حقل في النموذج او اسناد التسمية الى متغير وهكذا ويمكن التأكد من وجود المجلد قبل تنفيذ الامر من خلال If Len(Dir(CurrentProject.Path & "\اسم المجلد\", vbDirectory)) = 0 Then وبناء على النتيجة تنفذ الامر الذي تريده وهنا يتوقف الاخ شايب 🌹
  6. تعليق لاخونا العزيز شايب في برامج المبيعات يتطلب وجود جدول واحد للاصناف او اكثر حسب طريقة المبرمج مثلا جدول الاصناف وجدول ترميز الاصناف وطلب الاستاذ ابو عبد الرحمن ادراج صنف في فاتورة المبيعات خارج قائمة الاصناف المتوفرة امر غير مالوف الا اذا كان المقصود في حالة عدم وجود الصنف يتم ادحاله مباشرة في الفاتورة ويحفظ ايضا في جدول الاصناف وهذا ايضا قد يسبب مشكلات من حيث تكرار اصناف باسماء مختلفة مثل زيت زيتون واخر زيت الزيتون .... وهكذا وايضا قد يحصل صنف واحد على اكثر من كود للصنف بينما يفترض بكود الصنف ان يكون معرف فريد للصنف ايضا من مروري بشكل سريع على البرنامج وجدت انه تم استخدام دالة 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) وهكذا وجهة نظر ونترك الامر للاساتذة والخبراء الاخ شايب 🌹
  7. من تجربة سريعة تعمل ولا تظهر رسالة خطأ مع ذلك لوجعلت الفلترة تتم بعد اختيار الحقول الثلاثة ولكن هي فكرة فقط اخيرا لو ان صاحب المشاركة وضع بيانات اكثر لكان اسهل على من يرغب التعديل و يكون على بينة من نجاح التعديل وجهة نظر التجربة على نسخة 21 شايب🌹
  8. مشاركة مع الاستاذ محمد اعتقد ممكن استخدام الامر 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 ولكن مع وجود عدد كبير من السجلات التعامل مع الجدول اسرع
  9. على الرغم من اني شايب وفهمي على قدي لكن جرب 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
  10. معلوماتي انه لايمكن ادراج نموذج فرعي في نموذج من نوع مستمر والحل ان يكون لديك نموذج يحتوي على نموذجين مستمرين مع ذلك اعتبر ردي رفع للموضوع لعل احد الاساتذة او الخبراء يكون لديه اجابة اخرى
  11. ياهلا الاخ شايب يقول ان بعض الاستعلامات لا تقبل اضافة معيار وتظهر رسالة خطأ مثلا لو اردنا ان ان نعرض بيانات في نموذج او تقرير مصدر هذه البيانات استعلام ونرغب في عرض البيانات الخاصة بالناجحين فقط فاننا نضع المعيار في الاستعلام على سبيل المثال Forms![frm_1]![tx] اسم النموذج والحقل الذي سيتم اعتباره المعيار وفقا لما نكتبة ناجح او راسب هنا بعض الاستعلام تظهر رسالة محرك قاعدة البيانات microsoft.jet لايتعرف على Forms![frm_1]![tx] كاسم حقل اوتعبير صالح هذه الرسالة تظهر عادة في الاستعلامات الجدولية ولحل المشكلة نحتاج الى اضافة المعلامات بمعنى اننا نحتاج الى تعريف الحقل المحتوي على المعيار ونوعه اخيرا الاخ العزيز شايب يعتذر مقدما ان لم يستطع ايصال المعلومة بشكل بسيط وواضح ويترك الامر للاساتذة والخبراء الكلام
  12. اقتراح اخونا الفاضل شايب ان تعمل جدول من ثلاث حقول ويمكن اضافة حقل رابع لايقونة الرسالة معرف نص عنوان لكل الرسائل في البرنامج ونموذج واحد يتم فيه عرض هذه الرسائل الفائدة انه يمكن التحكم بالخط والالوان وتتخلص من اي نص عربي في محرر الاكواد
  13. تحتاج الى اضافة معلمة وتحديد نوعها في الاستعلام رسم بياني.accdb
  14. نعم ممكن انشاء تقرير عن طريق الكود والصيعة العامة للامر 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 وفي جميع الاحوال هذا طلب جديد ويتطلب موضوع جديد وفقا لقوانين الموقع ولن اعلق على هذه القوانين ولا كيفية تطبيقها حتى لا اتهم باني متحامل و اقوم بتاجيج الرأي العام و سيء الظن واحمل نفسي مالا اطيق الاخ شايب 🌹
  15. حيث ان الموضوع لم يحظ باهتمام الاساتذة الكرام ارفق مثال بعد تعديل كود الاستاذ دروب بالتعديلات التالية الاختيار يكون من مربع قائمة متعددة الاختيار لمادة او اكثر او الكل يمكن اختيار الادارة او تركه فارغ ليتم فلترة كل الادارات اخيرا لا اهتم باختيار اسماء المتغيرات لتكون معبرة عن وظيفة كل منها كما يفعل الاساتذة والخبراء وانما اختار اي اسم او حرف وامور اخرى لا يتسع المجال للحديث عنها وعلى كل حال خذ ماتريد او اترك الاخ شايب 🌹 stu(1).accdb
  16. مارايك بدلا من تكرار الكود نستعين بتعديل الاخ @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
  17. المثال الذي ارفقه الاستاذ دروب مبرمج افضل والفكرة اسهل في التنفيذ استبدل السطر 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 مواد وربما اكثر فهل لديك الاستعداد لاضافة قوائم منسدلة كل ما احتجت الحل من وجهة نظر الاخ شايب ان نستبدل القوائم المنسدلة بمربع قائمة متعددة التحديد عندها نستطيع اختيار مادة او اكثر او الكل وفقا لرغبتنا مجرد فكرة واعتذر عن ارفاق مثال ونترك الامر للاساتذة الكرام
  18. لا لا اخي شامل يمكن تصميم استعلام يتم فيه جلب بيانات المادة وفقا لمعياري النموذج الفكرة عمل دالة تقوم بالمرور على حقول الجدول ثم يتم جلب البيانات اذا تطابق معيار النموذج مع اسم الحقل وننتظر ابداعات الشباب الشايب 🌹
  19. هذا الموضوع علمت بطريقتين الاولى مباشرة على النموذج بدون الحاجة لاستعلام باستخدام خاصية tag حددت الحقول العشرة بعلامة * ثم عملت حلقة تمر على الحقول المحددة اذا كان فارغ نعود بفارغ وننهي الاجراء وان كانت الحقول غير فارعة نعوض بـ 1 لكل حقل اكبر او يساوي الحد الادنى للنجاح او نعوض بصفر ثم اذا كان العدد =10 ناجح اقل راسب الطريقة باستعلام برقم المعرف والحقول العشرة التي استخدمتها اخي جعفر في طريقتك وهنا لاداعي لكتابة اسماء الحقول وايضا بنفس طريقة العد على كل حال لعل لنا لقاء في موضوع اخر اخيرا ايضاح من اخونا شايب مشاركاته لا تقدم حلول بديلة وانما مجرد افكار تحتمل الصواب احيانا و الخطأ في اغلب الاحيان
  20. كان في موضوع الحقول الفارغة لكن للاسف اغلقت الملف بشكل اجباري هنق الجهاز بدون حفظ التعديل
  21. الاخ شايب يقول : الشكر لله استاذي ثم لكم فانتم اساتذتنا ومنكم تعلمنا الكثير 🌹 بعدين يا ابا عبد الله حلبي يستاهل فان لم نجد الوقت لانهاء طلبة فعلى الاقل نحرك المياه قليلا
×
×
  • اضف...

Important Information