-
Posts
10148 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
415
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام ورحمة الله 🙂 اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء مراجعة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بما انك طالب ، اذن خليني اشرح لك ، وانت تعمل الباقي للحصول على النتيجة ادناه 🙂 . 1. اعمل استعلام خاص للنموذج الذي على اليسار ، ولنحفظه باسم qry_Left ، واجعل هذا مصدر بيانات النموذج الذي على اليسار ، 2. اعمل استعلام خاص للنموذج الذي على اليمين ، ولنحفظه باسم qry_Right ، واجعل هذا مصدر بيانات النموذج الذي على اليمين ، 3. في الاستعلام qry_Right ، في معيار الحقل Employee_Name ، سنكتب (لا يوجد Not In) اننا لا نريد الاسماء من الاستعلام qry_Left ، وهذا هو المعيار: not in(Select Employee_Name From qry_Left) 4. اغلق كل شيء ، وافتح من جديد ، وسترى النتيجة اعلاه 🙂 جعفر
-
حياك الله اخوي خالد ، واهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، الرجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة احنا في المنتدى نأخذ راحتنا ، وبعض الاوقات نمزح كما رايت في مشاركتي 🙂 للجواب على سؤالك : 1. رجاء فتح موضوع جديد ، وتشرح فيه المطلوب ، 2. يجب ان ترفق بيانات حتى يعطيك الاعضاء جواب لبياناتك ، واذا لم تعطي بيانات ، فليس عدلا ان يعملون هم بيانات لك !! 3. رجاء ، اخبرنا كيف يجب ان تكون النتيجة النهائية (من بياناتك) ، سواء عن طريق ملف اكسل او وورد. 4. نحن مبرمجين ، ونعم هناك محاسبين معنا ، فلا تتوقع منا معرفة الطريقة المحاسبية لحل الموضوع ، وانما سنحل لك الموضوع برمجيا كالمثال الذي سترفقه من المادة 3 اعلاه 🙂 جعفر
-
-
عند فتح قاعدة بيانات من قاعدة بيانات اخر
jjafferr replied to hamdynose's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 اضف هذا السطر في نهاية الكود (هكذا موجود في كود كتبته يوم من الايام ، بس ما فيه ملاحظة في الكود ، فلا اعرف اذا يعمل العمل الذي تريده) : app.UserControl = True جعفر -
بناء قاعدة بيانات عهدة أجهزة من الصفر(الجداول)
jjafferr replied to samisalim's topic in قسم الأكسيس Access
وعليكم السلام 🙂 1. لازلت تستخدم بعض الصور المضمنه ، بدل ان تربطها عند حدث تحميل النموذج ، 2. هناك نموذج لا توجد طريقة لإغلاقة ، 3. الالوان وحجم الخط والوان الخط ، مو مناسبين لي (يا اخي انا حر في مزاجي 😁) ، 4. لما تفتح نموذج ، ويكون امام نموذج آخر ، فيكون فيه تلاحم وتخالط في الالوان ، بينما احب ان يكون النموذج ظاهر وواضح بشخصيته ، 5. النموذج frmReceive&Return ، اسمه غلط ، فلا يجب استعمال علامة & في الاسم ، وكذلك فيه اخطاء ، فإذا ما كنت تريده ، احذفه او اعمل على الاسم علامة مثل frmReceive&Return_OLD وبالتالي تعرف انك استبدلته بنموذج آخر ، وانك تحتفظ به مؤقتا ، 6. صحيح تقدر تستعمل Me.Filter ، ولكن تجربتي جعلتني انتقل الى فلتر/تصفية الاستعلام ، والسبب انك يجب ان تتأكد ان Me.Filter فارغ وقت فتح النموذج ، بينما اذا كان عندك Filter ثم فتحت النموذج في وضع Layout ، فان الاكسس يحفظ معلومات الفلتر ضمن النموذج (نفس الشيء بالنسبة للصور كذلك) ، ويجب عليك حذفه وحفظ النموذج مرة اخرى ، 7. انا مو من محبي Set fso = CreateObject("scripting.filesystemobject") إلا في حالات نادرة (مثل لمعرفة مسار سطح المكتب) ، لأنك تضيف اوامر خارجية على الاكسس ، بينما هناك اوامر من الاكسس نفسه لمعظم اوامر fso (لا تنسى ، كل امر في الكود يستهلك قوة من المعالج CPU ويأخذ حيز من الذاكرة المؤقته RAM ، فلماذا هذه الاضافة) ، 8. اذا بتجعل هذا البرنامج في شبكة ، ويكون فيه واجهة على كل كمبيوتر ، وتكون الجداول على السيرفر/الشبكة ، ففي نفس السيرفر او مسار الجداول نضع مجلد الصور ، فعليه الامر Application.CurrentProject.Path يعطيك مسار الواجهة وليس الجداول ، وللحصول على مسار الجداول ، انظر هنا : جعفر -
وعليكم السلام 🙂 حسب نتيجة بحثي الآن ، ممكن واحد من هذه الاسباب ، وطبعا يجب ان تكون في وضع التصميم : اذا لما تنقر على زر الخصائص ، يتحول لونه الى برتقالي (او ممكن عن طريق لوحة المفاتيح Alt + Enter) ، فممكن المشكلة (اترك الزر ولونه برتقالي) : 1. نافذة الخصائص ممكن تكون على يمين او يسار الشاشة ، فيجب تغيير دقة الشاشة وتكبيرها ، ثم ستراها ، فقم بسحبها الى منتصف الشاشة وقم بتصغيرها للحجم المناسب ، 2. اذا لم تراها ، فقد يكون حجمها صغير جدا ، لذا انقر على زر الخصائص عدة مرات وحاول ان ترى اي نقطة في الشاشة ، وتستطيع تكبيرها. 3. اضغط على Alt Space S واستعمل الاسهم لتكبير وتوسيع العرض والارتفاع (لا تخاف في ان تعمل العرض كبير ، بعدين تقدر تضبطه) وتحريك الفأرة الى منتصف الشاشة واضغط على الزر Enter. اما اذا نقرت على زر الخصائص ولم يتحول لونها برتقالي ، او لم يستجيب الزر ، فقد يكون هناك كود يقوم بتوقيف القوائم ، فاعمل التالي حتى تظهرها: افتح نافذة الكود بالمفاتيح Ctrl + G وفي اسفل النافذة ، في نافذة immediate window . اكتب التالي ، ثم اضغط على زر Enter في لوحة المفاتيح (اكتب اول سطر ثم اضغط Enter ، ثم احذف الموجود واكتب السطر التالي واضغط Enter ، ثم احذف الموجود واكتب السطر التالي واضغط Enter) فالمفروض ان تظهر نافذة الخصائص في اعلى يسار الشاشة : CommandBars("Property Sheet").Enabled = True CommandBars("Property Sheet").Top = 0 CommandBars("Property Sheet").Left = 0 . واذا كذلك لم تظهر نافذة الخصائص ، اكتب التالي في immediate window CommandBars("Property Sheet").Position =msoBarTop ثم اضغط على زر Enter في لوحة المفاتيح ، وستأتيك نافذة ، انقر على No (واذا لم يحدث شيء ، جربها مرة اخرى ، وهذه المرة انقر على Yes) جعفر
-
في احد برامجي ، انقر نقرتين على الصورة ، وهذا الكود خلف النقرتين : Private Sub Pic_DblClick(Cancel As Integer) 'use irfan view to copy the picture in clipboard dim A as string A = "C:\Program Files\IrfanView\" 'location of i_view32.exe file Shell (A & "i_view32.exe " & Me.Pic.Picture & "/ClipCopy /killmesoftly") MsgBox "تم عمل نسخة من هذه الصورة في الذاكرة ، يمكنك الصاقها في اي برنامج" & vbCrLf & _ "This image is copied in the clipboard, you can paste it in any program" End Sub . ثم الصق الصورة في اي برنامج ، مثل الوورد 🙂 لإستعمال الكود ، استخدم برنامج IrfanView المجاني من هنا: https://www.irfanview.com/ وضبط المسار ، والنسخة سواء 64 او 32 بت ، واسم حقل الصورة هو Pic ، فيقوم الكود بحفظ الصورة في الذاكرة ، وبدون اي واجهة 🙂 جعفر
-
اظهار رقم المستخدم واسم المستخدم بعد تسجيل الدخول
jjafferr replied to لاتبخل's topic in قسم الأكسيس Access
لا يحتوي على فايروس ، وانما بسبب موقع التحميل ، فيعطيك الكمبيوتر رسالة تحذيرية 🙂 جعفر -
تفضل Me.Parent!finfo.SetFocus DoCmd.GoToRecord , , acNewRec Me.Parent!finfo!namebook.setfocus جعفر
-
يعني قصدك تريد عمل سجل جديد ؟ ويكون التركيز على حقل اسم الكتاب ؟ جعفر
-
وعليكم السلام 🙂 الظاهر هذا الكود اصلا كان لبحث اسم الكتاب ، وهذا معناه ان البيانات لا تتغير ، وانما البحث سيكون لعدة مرات ، فبدل ان ان اجعل الكود في كل مرة يأخذ RecordSet النموذج ويجعله في الذاكرة (طبعا يأخذ وقت، صحيح جدا بسيط ، ولكنه ملحوظ) ، فجعلته يأخذ RecordSet النموذج مرة واحدة فقط ، ويستخدمه مرارا : المفروض يكون Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone بينما انا جعلته هكذا 'take the Recordset one time, use it many times If rst_n = 0 Then Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone rst_n = 1 End If وتصريح المتغيرات في اعلى الوحدة النمطية ، حتى تبقى قيمها في الذاكرة ، الى ان نحذفها نحن Dim rst_fy as dao.Recordset Dim rst_n As Integer . هذا مو شغل الكود ، وانما شغل جني او عفريت 😁 اما الكود ، كيف ينقل التركيز على اسم الكتاب ، وانت قلت انه غير موجود 😲 جعفر
-
وعليكم السلام اخي عبدالله 🙂 هذين المرفقين سيساعدوك ان شاء الله . . جعفر
-
ازاى اطبق قاعدة if على كل حقل فى عامود معين فى الاكسيس
jjafferr replied to safari's topic in قسم الأكسيس Access
السلام عليكم 🙂 تم حذف "موضوع مهم جدا جدا" من اسم الموضوع 🙂 رجاء الالتزام بقوانين المنتدى 🙂 جعفر -
هذا كأنه خط يدي 🙂 اللي اعتقده مفروض يصير: Option Compare Database Option Explicit Dim rst_fy As DAO.Recordset Dim rst_n As Integer ' Private Sub namebook_Click() 'take the Recordset one time, use it many times If rst_n = 0 Then Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone rst_n = 1 End If 'j rst_fy.OpenRecordset rst_fy.FindFirst "namebook='" & Me.namebook & "'" If rst_fy.NoMatch Then rst_fy.AddNew rst_fy!namebook = Me.namebook rst_fy!Serialnamebook = Me.Serialnamebook 'j Me.Parent!finfo.SetFocus 'j DoCmd.GoToRecord , , acNewRec '''''!!!!!! ??? 'j Me.Parent!finfo!namebook = Me.namebook ''''''!!!!!! ??? 'j Me.Parent!finfo!Serialnamebook = Me.Serialnamebook ''''''!!!!!! ??? 'j DoCmd.GoToRecord , , acNewRec ''''''!!!!!! ??? rst_fy.Update Else 'j Me.Parent!finfo.Form.Bookmark = rst_fy.Bookmark Me.Parent!finfo.SetFocus Me.Parent!finfo.Form.Bookmark = rst_fy.Bookmark + 1 'j Me.Parent!finfo!numberreadbook = Me.Parent!finfo!numberreadbook + 1 ''''''!!!!!! ??? End If rst_fy.Close End Sub جعفر
-
مشكلة عدم التعرف على تنسيق قاعدة البيانات اكسس
jjafferr replied to abdullaah_bb's topic in قسم الأكسيس Access
هذا هو البرنامج كاملا ، ولكن يقول لك اذا اردت ان تشتريه (للعمل مثلا) . ومعظم برامج الاصلاح ، تعديد الجداول فقط وبعض الاستعلامات فقط ، لهذا السبب اخبرتك مسبقا : جعفر -
لا تستعمل DlookUp او DSum واخواتها في استعلام ، واليك البديل
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
لا اشكال في استعمال المعادلات الحسابية 🙂 جعفر -
لا تستعمل DlookUp او DSum واخواتها في استعلام ، واليك البديل
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
العفو ، لا ليس تحدي 🙂 وانما الدكتور حلبي كان سيضع برنامجه ، وانا شجعت الجميع في العمل على برنامجه ، بس الدكتور انهى موضوعه بنفسه ، فخلاص ، مافي عزومة 🙂 جعفر -
لا تستعمل DlookUp او DSum واخواتها في استعلام ، واليك البديل
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
نعم دكتور جسنين ، كلامك صحيح ، ولكن لم يكن هدفي المقارنة بين سرعة استعلامات كمبيوترات مختلفة ، ولكن بمقارنة سرعة الاستعلامات في نفس الكمبيوتر 🙂 اعتقد بعض الناس ☝🙄 بيكونوا مشغولين كم يوم في تحديث برنامجهم بالطريقة اعلاه 😁 دكتور حلبي ، الحمدلله انك اقتنعت بالدليل والبرهان 🙂 ولكن نطلب منك ان تشرح لنا طريقتك ، حتى يستفيد الجميع لو سمحت 🙂 جعفر -
لا تستعمل DlookUp او DSum واخواتها في استعلام ، واليك البديل
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
نعم هنا مناسب ، فسيكون مثال آخر على للموضوع 🙂 ولكن رجاء تتأكد ان لا يحتوي المرفق على بيانات خاصة 🙂 وطبعا المجال مفتوح للجميع للمشاركة بتجاربهم ، والبرنامج الاسرع يكون الافضل 🙂 جعفر -
اخي زياد 🙂 هذا البرنامج مقفل ، وكذلك الكود مقفل ، مما يعني ان صاحبه اقفله لأسباب معينة ، وقوانين المنتدى : 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية جعفر
- 1 reply
-
- 2
-
-
وعليكم السلام 🙂 قوانين المنتدى تقول سؤال واحد لكل موضوع 🙂 فلهذا السبب سأرد على سؤال البحث : . رجاء فتح موضوع جديد لكل سؤال 🙂 جعفر
- 1 reply
-
- 1
-
-
مساعدة في إستثناء رتب من الظهور في الاستعلام
jjafferr replied to nabilalibibo's topic in قسم الأكسيس Access
وعليكم السلام 🙂 اذا عندكم كم كبير من البيانات اللي تريد تستعملها في معيار ، فالافضل ان تعمل لهم جدول خاص ، مثل : . ثم في الاستعلام ، في المعيار ، نقول له اننا ما نريد اي من البيانات اعلاه تظهر في المعيار (Not In) : . وبعدين نقول له ، كذلك في الحقل Grde ، اذا من اليسار (اول الكلمة) ، اول 17 حرف = "ممارس متخصص مساعد" ، اذن هاي كذلك لا تظهرهم 🙂 جعفر 1476.Database28.accdb.zip -
وعليكم السلام 🙂 بدل ان يكونوا في قسم رأس التقرير ، اجعلهم في قسم رأس الصفحة 🙂 جعفر
-
مشكلة عدم التعرف على تنسيق قاعدة البيانات اكسس
jjafferr replied to abdullaah_bb's topic in قسم الأكسيس Access
وعليكم السلام 🙂 جرب هذا البرنامج : واذا مافي نتيجة ، فمعناه ان برنامجك معطوب ، وعلى الاقل تستطيع استرجاع الجداول باستخدام هذا البرنامج جعفر -
لا تستعمل DlookUp او DSum واخواتها في استعلام ، واليك البديل
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
لهذا السبب لم اطلب منك تجربته ، فهذا الاستعلام الاصل الذي طُلب مني النظر في سرعته 🙂 وفي الواقع يُفتح الاستعلام ، ولكن يحتاج الى وقت طويل 😁 هناك طريقتين ، وانا اعطيتك الطريقة الاسهل ، لأنك تقدر تشوفها وتعدل فيها ، الطريقة الثانية مثل ما قال اخوي حسنين @SEMO.Pa3x باستعمال الاستعلام الفرعي ، وهو استعلام بهيئة SQL ، فليس من السهل عمله وتعديله !! اسألك سؤال: هل الافضل ان تستعمل الاستعلام dsum_eqaza كما هو (لاحظ ان البرنامج المرفق هو نسخة مصغرة من البرنامج الاصل ، والذي عدد سجلاته حوالي مليون سجل) ، وتنتظر 28 دقيقة ليفتح ، او تعمل 10 استعلامات وتجعل الاستعلام يشتغل بوقت اسرع بكثير ؟ وللعلم ، هناك مبرمجين وظيفتهم تسريع الاستعلامات 🙂 ما ادري ، لازم اشوفه !! ولكن وكما رأيت في المثال اعلاه ، فككنا كل استعلام DSum باستعلام واحد خاص به ، ثم ربطناهم باستعلام يجمعهم جميعا. انا شايف ان هناك مبرمجين لا يريدون الكود الطويل ، ولا يريدون استعلامات كثيرة ، بينما الطريقة الصحيحة في البرمجة هي ان تعمل الافضل لبرنامجك ، والبرنامج يقوم بالباقي 🙂 معلوماتي كانت قديمة في هذا المجال ، فأخذت الوقت لأقرأ مرة اخرى ، واليك الملخص: 1. اذا واجهة الاكسس والجداول على نفس الكمبيوتر ، 2. واذا عملت على SQL Server من نفس السيرفر ، سيكون الاكسس اسرع ، وبوقت ملحوظ ، طبعا نتكلم عن بضع عشرات/مئات آلاف السجلات 🙂 اما اذا: 3. الجداول على الشبكة ، وواجهة الاكسس على كمبيوتر في الشبكة ، 4. برنامج SQL Server على السيرفر ، والمستخدم على كمبيوتر في الشبكة ، فسيكون SQL Server اسرع 🙂 وبغض النظر عن مكان تواجد الواجهة والجداول ، فاذا كلامنا عن ملايين السجلات ، فهذا تخصص SQL Server ، ومع ان الاكسس يستطيع التعامل معه اذا كان الاكسس 64بت وكمية الذاكرة المؤقتة RAM على الاقل 4 جيجا (طبعا يُفضل ان يكون اكثر). هناك اعتقاد خاطئ ، بأنه اذا استعملت SQL Server بدل عن جداول الاكسس ، فسيكون البرنامج اسرع ، لأنه حتى تستطيع الحصول على افضل سرعة في SQL Server فيجب ان يكون في جداولك اعدادات معينة مثل المفتاح الاساس Primary key (وهو غير عن الفهرسة) ويحتوي على حقل تاريخ ووقت عمل السجل (بالثواني) ، وللاستعلام تستعمل Stored Procedure . جعفر