بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
كل منشورات العضو jjafferr
-
ما فهمت قصدك !!
-
وعليكم السلام 🙂 لا يمكن عمل هذا من الاكسس ، ولكنك تستطيع استعمال برنامج خارجي لعمل الدمج ، بحيث تعطي امر لهذا البرنامج بدمج الملفات الاربعة ، وهذا الامر يكون بعد تصدير ملف pdf الاخير : جعفر
-
وعليكم السلام 🙂 يجب ان يكون عندك جدولين : الجدول 1 فيه الحقول التالية : رقم تسلسل الدواء ، اسم الدواء ، وباقي الحقول التابعة للدواء ، وحقل الرقم يكون مفهرس وغير قابل للتكرار ، مثلا: رقم الدواء اسم الدواء 100 فيتامين D 101 فيتامين متنوع وبه فيتامين D 102 بانادول الجدول 2 فيه الحقول التالية : رقم تسلسل الدواء اعلاه ، رقم الدواء المعارض للدواء اعلاه ، وباقي الحقول التابعة للدواء ، وحقل الرقم يكون مفهرس وقابل للتكرار ، وستكتب جميع الادوية التي تعارض رقم الدواء ، مثلا : رقم الدواء رقم الدواء المعارض 100 101 100 102 والخطوة التالية هي مقارنة الادوية ، وهنا يأتي دور الاستعلام و / او الوحدة النمطية لمقارنة الادوية التي تم اختيارها ومعرفة المعارض. طبعا هاي مجرد فكرة اولية ، بعد استلامي لرسالتك 🙂 جعفر
-
وعليكم السلام 🙂 في التقرير : 1. قبل ان تضع الكود على اي حدث ، تأكد ان تضعه في القسم الصحيح ، والكائنات موجودة عندك في هذا القسم : . 2. الحدث الصحيح لعمل التنسيق المطلوب هو ، إما حدث "عند التنسيق" او "عند الطباعة" ، عليه ، يصبح كودك هكذا : Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) ' Me.Degree1.SetFocus 'Me.TXTEDARI = DLookup("EMP_NAME", "AllEmpInfTbl", "job_title='رئيس القسم الإداري'") Me.CK1.Value = False Me.CK2.Value = False Me.CK3.Value = False Me.CK4.Value = False Me.CK5.Value = False If Me.Degree1 = "ممتاز" Then Me.CK1.Value = True ElseIf Me.Degree1 = "جيد جدا" Then Me.CK2.Value = True ElseIf Me.Degree1 = "جيد" Then Me.CK3.Value = True ElseIf Me.Degree1 = "مقبول" Then Me.CK4.Value = True ElseIf Me.Degree1 = "ضعيف" Then Me.CK5.Value = True End If End Sub جعفر
-
وعليكم السلام 🙂 ستفيدك هذه المشاركة : جعفر
-
كيفية التخلص من رسائل الاكسس الافتراضية
jjafferr replied to نبراس كاظم's topic in قسم الأكسيس Access
وبالعربي جعفر -
طيب ، بما انك ستأخذ هذا الاتجاه ، خلينا نعمله على خطوتين (ووقبل ان نبدأ ، اعمل نسخة من البرنامج واحفظه في مجلد بعيد عن مجلدات العمل) : أ- نعمل على نقل الموظفين من فرع الى آخر ، وذلك بدمج جميع الجداول في جدول crewform ، وعمل حقل اسمه (فرع) Branch : في جميع الجدول المتشابهة ، اعمل حقل اسمه Branch ، عندك طريقتين لتعبئة بيانات حقل Branch ، يا بالطريقة البدائية ، نسخ/لصق او استبدال ، او باستخدام استعلام تحديث مؤقت (مو لازم تحفظه) ، وهو الاسهل ، هكذا (بدل "Officena" اكتب اسم فرع البيانات الموجودة حاليا في الجدول (اختار الجدول الصحيح) ، في الحقل الفارغ Branch) : وبعد اتمام العمل في جميع الجداول ، الآن اعمل نسخ/لصق لجميع سجلات الجداول ، الى جدول crewform ، احذف جميع الجداول ، ما عدا الجدول crewform . بهذه الطريقة ، كل اللي لازم تعمله لتغيير الموظف من فرع الى آخر ، هو تغيير اسم الفرع الى الفرع الجديد ، والسلام 🙂 ويمكنك مواصلة العمل ببرنامجك الى ان تنتهي من الخطوة التالية في تغيير البرنامج. ب- نعمل حسب الخطوات اللي ذكرتها في مشاركتي الأولى : ماهي الحقول الثابتة التي لا تتغير بياناتها ، مثل الاسم وتاريخ الميلاد ، الآن ، خلينا نشوف الحقول اللي ممكن نعمل منها مجموعات (يعني اللي مثل: Number1 ، Expire Date1 ، Remarks1 وتصل الى 15 ) ، اكتب اسم كل مجموعة ، نعمل جدول لكل مجموعة ، ويكون في كل جدول حقل serial : في الجدول الاول مفهرس وغير قابل للتكرار ، وفي جميع الجداول الاخرى الحقل قابل للتكرار ، نعمل علاقة بين الجداول ، نعمل نموذج رئيسي للجدول رقم 1 ، وفيه مجموعة نماذج فرعية (نموذج فرعي (نوع مستمر) لكل جدول) . جعفر
-
والله حاولت ، وحذفت VAL من جملة SQL ، واذا بالاستعلام يطلب مني ادخال تاريخين ، ولا يعطي اي نتيجة ، فأخذت اول جملة SQL ، وعملت منها استعلام عادي ، وحذفت حقل فرز val(Employee_ID) ، وعملت الفرز على حقل Employee_ID مباشرة ، وكذلك طلب مني التاريخين !! ولم اعرف اين اجد هذين التاريخين ، لهذا السبب استسلمت ، وكتبت : جعفر
-
سؤال : بخصوص ادراج بيانات من نموذج غير منضم
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
وعليكم السلام 🙂 مافي فرق بين نموذج منضم ومرتبط بإستعلام/جدول ، وبين نموذج غير منضم ، الاسرع يكون عند استخدام الطريقة الثالثة من خلال استخدام استعلام اكسس عادي 🙂 فالطريقة الاولى ، الاكسس يحتاج الى ان يعمل Compile لجملة الـ SQL التي ستضعها في الامر ، ثم ينفذ الامر ، والطريقة الثانية تحتاج الى ان تجلب الجدول الى ذاكرة الكمبيوتر العشوائية ، ثم تقوم بالمطلوب 🙂 جعفر -
الآن ومعي تركيز حضرتك ، صحيح انك تقدر تعمل 255 حقل في جدول ، ولكن مجموع عدد الحروف التي يمكنك ادخالها في السجل الواحد هو 4000 حرف ، وبشرط ان ان يكون : . بالاضافة الى المشكلة التي عندك الان في الاستعلام ، هذه مشكلة اخرى قد تصادفك في برنامجك ، بالاضافة الى ان البرنامج سيكون في غاية البطئ ، ومُعرض للتلف 😬 اذا تحب اساعدك في تفكيك برنامجك واعادة برمجة الجداول ، اخبرني 🙂 جعفر
-
همممم الظاهر لازم اثبت لك 🙂 طيب ، انا حذفت جميع الجداول ، ما عدا جدول واحد فقط ، علشان يكون البرنامج خفيف 🙂 وادخلت بيانات في الحقول (حقول النص) ، فرجاء ادخل اي معلومة تحب في اي من حقول النص، مثلا الحقول Remarks400 وما بعد ، وبعدها نتكلم ان شاء الله 🙂 جعفر Database1.zip
-
برامج التصليح تعمل لإسترجاع بيانات الجداول ، والقليل منها لإسترجاع الاستعلامات ، اما النماذج والتقارير والوحدات النمطية والماكرو ، فيمكنك استيرادها من النسخة الاحتياطية Backup 🙂 جعفر
-
هذا الذي اشرت اليه لما قلت: جعفر
-
وعليكم السلام 🙂 عندك مشكلة في تصميم قاعدة بياناتك ، ويجب اعادة النظر فيها !! ملاحظاتي هي: عندك 5 جداول مطابقة لبعض في حقولها ، ويمكن استعمال جدول واحد فقط بدلا عن هذه الخمسة ، وذلك بإضافة حقل "الفرع" في الجدول ، عدد حقول الجدول الآن = 136 حقل ، والعدد المعقول حوالي 30 حقل ، لذا يجب عليك تفكيك الجدول الى عدة جداول ، تفكيك الجدول الى عدة جداول يكون حسب نوع الحقول ، فممكن جمع كل مجموعة في جدول واحد ، وعمل حقل serial في كل جدول ، ويأخذ نفس رقم الجدول الاساس ، ويكون هذا بعد عمل علاقة بين هذه الحداول بواسطة هذا الحقل ، عندك بعض الحقول مكررة مثل: Number1 ، Expire Date1 ، Remarks1 وتصل الى 15 ، مما يعني ان الجدول الخاص بهذه الحقول يكون فيها حقل واحد من هذه الحقول ، وبياناته مكرره ، لا تستعمل lookup للحقول ، وانما اعمل جدول خاص بهذه البيانات ، ثم من النموذج تختار القيمة التي تريدها ، لا يجعل الصور مضمنه في الجدول ، وانما احفظها في مجلد على الكمبيوتر ، واربطها بالبرنامج ، سواء بربطها برمجيا ، او عمل حقل مسار الصورة في الجدول. وبعد ان تعمل هذه التغييرات ، فيكون نقل الموظف من فرع الى آخر ، يكون فقط بتغيير قيمة حقل الفرع فقط ، وبدون نقل البيانات بين الجداول 🙂 جعفر
-
-
وعليكم السلام 🙂 انزل البرنامج من رابط هذا المرفق ، واصلح برنامجك جعفر
-
لعمل الفرز بالحقل ، EmployeeID ، انت استعملت: val (EmployeeID) والامر VAL يغير قيمة الرقم من نص الى رقم ، مثلا : VAL("84") = 84 ولكن VAL("F2") = 0 . بينما قيمة الحقل عندك هكذا: . فلا يمكن فرزها بطريقتك ، وانما استعمل الفرز العادي بدون الامر val ، وبسبب ان استعلامك مهول بمعنى الكلمة ، فلم اعرف بدايته من نهايته ، والعمل عليه 🤢 جعفر
-
همممم سؤالك: وما علاقة التقرير بقفل السجل !! جعفر
-
نعم ، اغلب البرامج تعتمد على الكود في عمل البرنامج ، وتعتمد على الكود في عمل كائنات النموذج/التقارير ، وهنا قوة الاكسس في التفوق عليهم جميعا في سرعة عمل البرنامج بواجهات الاكسس 🙂 جعفر
-
نعم هذا صحيح 100% اعطني دليل 😁 جعفر
-
وهل من ميزة اذا عملت البرنامج بالـ VBA ، عن لو عملته بواجهات الاكسس التلقائية ؟ واجهات الاكسس التلقائية = كل شيء يقوم به الاكسس بدون VBA طريقة العمل الصحيحة في برمجة الاكسس : اعمل اكثر شيء ممكن تعمله بطرق الواجهات التلقائية السهلة ، و اكمل بقية احتياجاتك بالـ VBA 🙂 هذه قوة الاكسس والتي يتفوق بها على اكبر برامج قواعد البيانات و برامج NET. ، وهي السرعة في تصميم برنامج الاكسس ، باستخدام الواجهات التلقائية اللي يساعدك اكسس فيها ، سواء النماذج او الاستعلامات او التقارير ، ولا تزال استعلامات الاكسس التلقائية ، هي الافضل من جميع البرامج الاخرى ، لسهولة عملها. جعفر
-
وعليكم السلام 🙂 في اعدادات النموذج ، اعمل Allow Edits = False جعفر
-
المساعدة فى خاصية المجموع التراكمى لمربع نص فى النموذج
jjafferr replied to أكسس وبس's topic in قسم الأكسيس Access
اذن كانت عندنا مشكلة في التاريخ ، وتم حلها بهذه الطريقة : والوحدة النمطية هي: Function DateFormat(varDate As Variant) As String 'Purpose: Return a delimited string in the date format used natively by JET SQL. 'Argument: A date/time value. 'Note: Returns just the date format if the argument has no time component, ' or a date/time format if it does. 'Author: Allen Browne. allen@allenbrowne.com, June 2006. ' 'calling the Function: DateFormat(The_Date_Field) 'a = dlookup("[some field]","some table","[id]=" & me.id & " And DateFormat(The_Date_Field)") ' If IsDate(varDate) Then If DateValue(varDate) = varDate Then DateFormat = Format$(varDate, "\#mm\/dd\/yyyy\#") Else DateFormat = Format$(varDate, "\#mm\/dd\/yyyy hh\:nn\:ss\#") End If End If End Function . ونناديه من الاستعلام هكذا : B: CCur(Nz(DSum("[Credit]-[Debit]","[TransactionS]","[SupplierID]=" & [TransactionS].[SupplierID] & " And DateFormat([Date])<='" & DateFormat([Date]) & "'"),0)) . جعفر -
المساعدة فى خاصية المجموع التراكمى لمربع نص فى النموذج
jjafferr replied to أكسس وبس's topic in قسم الأكسيس Access
هل تاريخ جهازك انجليزي او هجري ؟ رجاء تجرب هذا المرفق 1307.1.يومية مورد.accdb.zip