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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

كل منشورات العضو jjafferr

  1. وعليكم السلام اذا اردت الدالة بشرطين ، فاليك الطريقة (ولكن ولأنها بالعربي ، فللأسف لن تستطيع قرأتها بالطريقة الصحيحة) . ولكن ، بدل هذه الدالة ، رأيت ان اتوسع في الاجابةلتكون فائدتها اعم اليك الاستعلام الجديد ، والذي يحسب مجموع التقدير لجميع الصفوف: . . والنتيجة . وعندما نربطه بالاستعلام الذي قمت انت بعمله: . والنتيجة . جعفر 468.الصفوف العليا 2016.accdb.zip
  2. بكل اعتذار ، انا اسحب نفسي من هذا الموضوع جعفر
  3. وعليكم السلام اخي محمد ملاحظتي لا علاقة لها بسؤالك ، وانما لها علاقة بتسمية ملفك شوف هذا الرابط: https://www.experts-exchange.com/questions/28183424/Saved-Imports-in-Access-Import-from-Current-folder.html#a39423685 مع اننا توصلنا الى اجابة للسؤال ، ولكننا لم نستطع اتمام العمل ، بسبب تسمية مجلده/ملفه ابدا لا تستخدم & في تسمية المجلد/الملف جعفر
  4. السلام عليكم اخي صالح بما اني نادرا ما استعمل النماذج المنبثقة ، فلا اعرف ما تتكلم عنه ولا ما تريد رجاء ترفق جزء من برنامجك الذي تريد له الحل ، واشرح المشكلة وما تريد التوصل اليه جعفر
  5. وعليكم السلام وحيا الله اخوي عمر خلاص ولا يهمك ، عندي شغلتين صغار ، وبعدها ابدأ المرحلة التالية من مسقط التقارير واللي اطلبه منك الآن ، هو عمل قائمة للبرنامج الحالي ، ومن واقع عملك معاه: نقاط قوة البرنامج ، وهل هناك شئ سيساعد في زيادة فاعليته ، نقاط ضعف البرنامج وكيف تقترح حلها ، ماهي اكبر كمية من الحقول التي احتجت لها ، الاشياء الاخرى التي تقترح ان تكون في النسخة التالية من البرنامج ، وبالتفصيل وبامثلة وصور لوسمحت حتى افهم المطلوب طبعا النقاش مفتوح لكل من استعمل البرنامج واراد عمل تغييرات عليه جعفر
  6. وعليكم السلام اخي بدر انت الادرى بفكرتك ، وليس لدي ادنى فكرة عن خطوات العمل ، فياريت تفكر بمثال نحتذي به ، وإلا ، فالوقت سيمضي هدرا في عمل شئ لا اعرفه جعفر
  7. السلام عليكم اخي علي ، انت لم تشر الى طلبك الاخير في هذا الموضوع ، وانما كان في موضوع آخر ، لهذا السبب انا والاخ محمد اعطيناك الاجابة الصورة المرفقة لنموذج فيه اسماء العمارات ، وهنا تُدخل العدد الذي تشاء بالنسبة للشقق ، فتلاحظ انه عندك 9 عمارات (لاحظ عدد السجلات في اسفل النموذج) ، بينما للعمارة1 ، فان فيها شقتين (النموذج الفرعي): . جعفر 451.مثال.accdb.zip
  8. اختي ، الشئ الوحيد في المرفق هو الجدول1 ، ولم توضحي اين تريدين نتائج التقطيع!! والاكسس ليس مثل الاكسل ، فالاكسس محتاج يحفظ بياناته في مكان ، والاستعلام مجرد وسيله لفك الكلمات ، ولكنه ليس مكان الحفظ!!
  9. والله يا اختي حيّرتيني طلبك كان: . وعلشان نقطع الشك باليقين ، طلبت منك قاعدة بياناتك ، وبالطريقة اللي تريدين الاجابة . وجوابك كان ، وبدون توضيح . وبعدها طلبتي . والآن تريدين . لوسمحتي تفكرين في الموضوع مرة اخرى ، وتوصلين الى طريقة معينة في حفظ السجلات ، وتخبرينا بالتفصيل ، وعليه ان شاء الله نحاول الوصول الى النتيجة المطلوية جعفر
  10. تفضل هذا استعلام تحديث للحقل Retour: . بينما اذا كنت في نموذج فتستطيع عمل حدث بعد التحديث للحقلين Leave_Date و Dure حتى يقوموا بتحديث التاريخ: Private Sub DURE_AfterUpdate() On Error Resume Next Me.RETOUR = Me.Leave_Date + Me.DURE End Sub Private Sub Leave_Date_AfterUpdate() On Error Resume Next Me.RETOUR = Me.Leave_Date + Me.DURE End Sub . اما أخي رمهان فكان قصده: بما ان برنامجك accdb (وليس mdb) ، فيمكنك استخدام خاصية جديدة في الجدول يسمى حقل محسوب ، حيث سيقوم بحساب المطلوب دون الحلجة الى استعلام او كود ، هكذا: . جعفر 466.VACN.accdb.zip
  11. تفضلي حولت الكود الى وحدة نمطية ، وستلاحظين اني الغيت اسطر من الكود ، لان الجملة ستاتي من الاستعلام (والاستعلام ليس استعلام سجلات جديدة ، انما هو استعلام تحديد ، حيث يحدد السجلات المطلوب تفكيك كلماتها ويرسلها للوحدة النمطية ، والتي تقوم بالتفكيك): Function Split_Click(Letters, Record_ID) Dim x() As String ' Dim rstFrom As DAO.Recordset Dim rstTo As DAO.Recordset 'busy hour glass ON ' DoCmd.Hourglass True 'set both tables for In/Out data ' Set rstFrom = CurrentDb.OpenRecordset("Select * From Table1") Set rstTo = CurrentDb.OpenRecordset("Select * From Table2") 'clear the Record number sent from Table2, so that we start again CurrentDb.Execute ("Delete * From Table2 Where [code]='" & Record_ID & "'") 'move the cursor to the first Record ' rstFrom.MoveLast: rstFrom.MoveFirst ' rcFrom = rstFrom.RecordCount 'count the records 'read all the records, one at a time ' For iFrom = 1 To rcFrom 'split the required field, based on empty spaces x = Split(Letters, " ") 'iterate through these splited words For i = LBound(x) To UBound(x) 'add them to the second table, and update the record rstTo.AddNew rstTo!code = Record_ID rstTo!word = x(i) rstTo.Update Next i 'move to the next record ' rstFrom.MoveNext ' Next iFrom 'busy hour glass OFF ' DoCmd.Hourglass False 'clearing the memory ' rstFrom.Close: Set rstFrom = Nothing rstTo.Close: Set rstTo = Nothing End Function . تم اضافة حقل جديد في الجدول Table1 ، حتى تختارين السجلات التي تريدين تفكيك كلماتها ، واستخدام هذا الحقل كشرط في الاستعلام: . جعفر 463.1.index.mdb.zip وهذا الرابط به شرح من اخونا العود ابوخليل جعفر
  12. وعليكم السلام عفوا اختي ، ولكن اريد منك تفصيل اكثر لوسمحتي ، مثلا: 1. نحن لا نتكلن عن تحديث سجلات ، وانما عمل سجلات جديدة ، صح؟ 2. هل تريدين سجلات جديدة للجدول بالكامل؟ أ- هذا معناه حذف السجلات السابقة ، والعمل على سجلات جديدة مرة اخرى ، ب- هذا معناه ان البرنامج سيأخذ وقت اطول كلما زادت عدد السجلات. 3. واذا كانت هناك سجلات تم العمل عليها سابقا ، فهل تريدين العمل عليها مرة اخرى: أ- في بعض الاوقات الكود يعطينا نتائج غير متوقعة ، مثل السجل الاول الفاضي في الصورة التي ارفقتها ، وهي بسبب ان الجملة اصلا فيها مسافة فاضية ، ب- فعند التدقيق ، قد تحذفين هذا السجل يدويا ، ولكن قد لا تصلحين مكان الخطأ في الجملة ، ج- فهل تريدين الابقاء عليها؟ ورجاء اعطاء اي بيانات اخرى عن المشروع ، حتى لا نقوم بالعمل مرار جعفر
  13. انا اعرف ان الاستاذ محمد سلامة من مُحبي هذه المواضيع وهو متابع بشويش وعلشان خاطر اخوي محمد ، راح اسمح للبرنامج يأخذ اكثر من صورة للموظف ، بحيث انك ستشاهد الصورة الاحدث دائما ، وبقية الصور راح تكون في المجلد (واخد بالك اخوي محمد ، دي للتمويه وبس ، بس في الاصل ممكن نستغل الفكرة دي في الارشفة) جعفر
  14. وعليكم السلام اخي نبيل اعتذر منك ، فانا الذي ترك اسم الموضوع مجردا من @@@@ وجوابا على سؤالك ، فالجمع ممكن ينعمل على عدة طرق ، منها (ولنفترض ان اسم حقل تاريخ بداية الاجازة هو Leave_Date ، ومدة الاجازة 5 ايام): MsgBox 5 + Me.Leave_Date او MsgBox DateAdd("d", 5, Me.Leave_Date) جعفر
  15. انا قلت Webcam كان قصدي Webcam ، وكاميرا DSLR مثل Nikon D500 و Canon
  16. على راسي بس لوسمحت على بكرة الصباح وللعلم ، بالاضافة جلب الصورة ، والسكانر ، وفي احد برامجي ، انا استعملت Webcam لأخذ صور الموظف مباشرة (وان شاء الله اضيفه لبرنامجك اعلاه ايضا) مثل ما نقول: غالي والطلب رخيص جعفر
  17. وعليكم السلام عندك طريقتين لعمل هذا: 1. طريقتي التي عملتها في معظم برامجي ، اضع نص خلف الصورة ، اكتب فيها: الصورة غير موجودة (او شئ من هذا القبيل) ، هذه الطريقة جدا خفيفة على البرنامج 2. تعمل جدول خاص ، وتضمن فيه هذه الصورة فقط (وتتأكد انها صغيرة طولا وعرضا ، حتى لا تأخذ مساحة كبيرة من برنامجك) ، ثم في النموذج الذي به صورة الموظف ، في حدث الفتح (حيث انه يقوم بتنفيذ الكود قبل جلب البيانات من الجداول) ، نقول للكود: تأكد من وجود صورة الموظف من مجلده ، اذا وُجدت ، ونستطيع استخدام الدالة Dir مثلا في هذا الخصوص . وإلا تأكد من وجود الصورة الافتراضية ، وهي صورة واحدة ، ويجب ان تكون في مجلد images_company مثلا ، وإلا فيقوم بعمل المجلدات المطلوبة ، ونسخ هذه الصورة الافتراضية من الجدول الى مجلد images_company ثم على حدث التحميل نضع هذا الكود: اعرض صورة الموظف من مجلده ، اذا وُجدت ، وإلا اعرض الصورة الافتراضية ، وهي صورة واحدة ، ويجب ان تكون في مجلد images_company مثلا جعفر
  18. وعليكم السلام . . . . . . جعفر 464.حذف المكرر من البيانات وعزله في جدول اخر.accdb.zip
  19. وعليكم السلام اخي بدر اعطنا مثال لوسمحت جعفر
  20. تفضلي هذا الكود Private Sub cmd_Split_Click() Dim x() As String Dim rstFrom As DAO.Recordset Dim rstTo As DAO.Recordset 'busy hour glass ON DoCmd.Hourglass True 'set both tables for In/Out data Set rstFrom = CurrentDb.OpenRecordset("Select * From Table1") Set rstTo = CurrentDb.OpenRecordset("Select * From Table2") 'clear Table2 CurrentDb.Execute ("Delete * From Table2") 'move the cursor to the first Record rstFrom.MoveLast: rstFrom.MoveFirst rcFrom = rstFrom.RecordCount 'count the records 'read all the records, one at a time For iFrom = 1 To rcFrom 'split the required field, based on empty spaces x = Split(rstFrom!Field1, " ") 'iterate through these splited words For i = LBound(x) To UBound(x) 'add them to the second table, and update the record rstTo.AddNew rstTo!code = rstFrom!ID rstTo!word = x(i) rstTo.Update Next i 'move to the next record rstFrom.MoveNext Next iFrom 'busy hour glass OFF DoCmd.Hourglass False 'clearing the memory rstFrom.Close: Set rstFrom = Nothing rstTo.Close: Set rstTo = Nothing End Sub . والنتيجة . جعفر 463.index.mdb.zip
  21. لوسمحتي ترفقي قاعدة بياناتك ، وبها الجداول المطلوبة ، وتخبرينا اين تريدين الحفظ جعفر
×
×
  • اضف...

Important Information