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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. تفضل ولكن بكود آخر: Private Sub Command1_Click() Dim str As String, theForm As String theForm = Me.form_list.Value DoCmd.OpenForm theForm, acDesign, , , , acHidden str = "Private Sub Form_Open(Cancel As Integer)" & vbCrLf & _ DLookup("[CLine]", "tbl_secur_add_code", "[SN]=1") & vbCrLf & _ "End Sub" Forms(theForm).Module.AddFromString str DoCmd.Close acForm, Forms(theForm).Name, acSaveYes End Sub جعفر 472.اضافة كود فى محرر الاكواد بزر امر.mdb.zip
  2. وعليكم السلام الاستعلام qry_Count_Grades لا يحتاج الى تغيير ، فاتركه كما هو ، واربطه بالجدول الذي به علامات "تقدير العربي" ، بالحقلين كما في الصورة ، ولكن ، هذا مجرد اضافة الى طلبك ، فاذا حصلت على النتيجة المطلوبة بمعادلتك Dcount ، فلا تهتم بالطرق الاخرى جعفر
  3. وعليكم السلام استخدم هذا الكود المُعدل ، للحدث على زر "اضف 5 سجلات" Private Sub cmd_add_5_Click() On Error GoTo err_cmd_add_5_Click 'Call Form_main.Check_Record 'Exit Sub Dim rst As DAO.Recordset Dim rst2 As DAO.Recordset Dim food_list 'save the Record of the Main Form, if not saved If Me.Dirty Then Me.Dirty = False Set rst = Me.main.Form.RecordsetClone Set rst2 = CurrentDb.OpenRecordset("Select * From sprt") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'this should be a new set, make sure we don't have Records If RC <> 0 Then MsgBox "لا يمكن الاضافة ، توجد سجلات مسبقا" & vbCrLf & "Can't add on existing Records" GoTo Exit_cmd_add_5_Click End If food_list = Array("hamor", "zbedy", "nweby", "sheep", "tona") For i = 1 To 5 rst.AddNew rst!cid = Me.ID rst!food = food_list(i - 1) rst2.FindFirst "[food]='" & food_list(i - 1) & "'" rst!unit = rst2!unit rst!price = rst2!price1 rst.Update Next i Exit_cmd_add_5_Click: rst.Close: Set rst = Nothing rst2.Close: Set rst2 = Nothing Exit Sub err_cmd_add_5_Click: If Err.Number = 3021 Then 'No Records Resume Next ElseIf Err.Number = 3201 Then 'No Record in main Form MsgBox "رجاء تعبئة بيانات النموذج الرئيسي اولا" & vbCrLf & "Please fill Main Form first" Resume Exit_cmd_add_5_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . عفوا لم افهم قصدك جعفر
  4. نعم يمكن ، ولمعرفة اسم المجموعة وعمل الكود لها/بها ، راجع الرابط الذي تركته في مشاركتي الاخيرة ، فالفيديو يوضح ذلك جعفر
  5. اخي صالح ذكرت Crystal Reports ، فاخذت بذاكرتي الى بعض مواضيع اختنا الدكتورة أم عهود حفظها الله ، والتي قد تكون ضالتك: http://arabteam2000-forum.com/index.php?/topic/100740-كيف-تربط-مشروعك-بتقارير-الكريستال-ريبورت/ واما الرابطين التاليين ، فبهما مثال ، ولا زالت اختنا تعدل فيه حسب الطلب ، ففيه مجموعة امثلة: http://arabteam2000-forum.com/index.php?/topic/217035-تمت-الإجابة-اضافة-ازرار-امر-في-تقرير/&page=1 http://arabteam2000-forum.com/index.php?/topic/217035-تمت-الإجابة-اضافة-ازرار-امر-في-تقرير/&page=2 جعفر
  6. ومرة اخرى ، الذي كنا نراه من نتائج الجدول ، ليست هي النتائج المتوقعة (شكرا استاذ رمهان) فبعد النظر الى معادلة الاستاذ رمهان ، والتي لا يمكن ان تعمل اذا كان حقل اليوم والتاريخ سطر واحد ، نظرت في الجدول مرة اخرى ، واوسعت خانة السجلات عموديا ، واذا بها هكذا: . جعفر
  7. وعليكم السلام في عدة طرق لهذا العمل ، واليك احدها ، والذي يعتمد على مكان كل حرف في الجملة من النظرة الاولى لجٌملة الحقل اليوم والتاريخ في الجدول ، نرى ان اول حرف على اليسار هو رقم . ولكن من تجربتنا بالحروف العربية في الكود ، حيث لا يبقى الكود على حاله حين نستعمل الحروف العربية ، ويلخبط مكان متغيرات الدوال ، لذا وجب علينا التأكد بالكود عن اول حرف بالجملة ، لهذا عملنا كود لها في الاستعلام ادناه: . 1. واتضح من نتائج الاستعلام ، ان اول حرف ليس الرقم كما كنا نعتقد ، وانما هي بداية كملة اليوم (الأحد ، الاثنين ، ...) 2. بما ان التاريخ ثابت: عددين لليوم ، ثم / ، ثم عددين للشهر ، ثم / ، ثم اربعة اعداد للسنة ، اي 2 + 1 + 2 + 1 + 4 =10 مسافات عليه ، بإمكاننا عمل نوعين من المعادلات للتاريخ واليوم (وانت تختار) . والنتيجة . جعفر 470.TEST_DATE.accdb.zip
  8. وعليكم السلام لا ادري اذا كان هناك طريقة اخرى للمقارنة وجلب النتائج ، فطريقتي طويلة نوعا ما نعمل حقل نربط فيه رقم الصيدلية والشهر ، حتى نحصل على على مقارنة حسب طلبك (رجاء لاحظ اسماء الجداول في الاستعلام): . . نقارن بين الجدولين ، ونطلب جميع السجلات التي في الجدول store والتي قد لا توجد في الجدول الاخر . هنا حصلنا على السجلات التي لا توجد في الجدول الاخر (في المربعات الحمراء) ، وسنعمل نفس الشئ بالنسبة للجدول الثاني: . . . والان نريد ضم الاستعلامين مع بعض ن حتى نحصل على استعلام واحد . ومن نتائج الجمع ، نعمل استعلام اخير لتصفية السجلات الغير مرغوب فيها . والنتيجة ، لاحظ العمودين الذين على اليمين ، فكل عمود تابع لاحد الجداول: الحقل الذي فيه _ معناه انه لا يوجد سجل في الجدول (لاحظ اسم الجدول مسمى الحقل) . طبعا ستستخدم الاستعلام الاخير فقط في جلب النتائج واستعمالها ، والاستعلامات الاخرى هي لتهيئة السجلات بالطريقة المطلوبة جعفر 469.Order.accdb.zip
  9. مشاركتي هذه صار لها 3 سنوات والان ، اشرح طلبك بمثال لوسمحت ، حتى نستطيع مساعدتك جعفر
  10. وعليكم السلام اذا اردت الدالة بشرطين ، فاليك الطريقة (ولكن ولأنها بالعربي ، فللأسف لن تستطيع قرأتها بالطريقة الصحيحة) . ولكن ، بدل هذه الدالة ، رأيت ان اتوسع في الاجابةلتكون فائدتها اعم اليك الاستعلام الجديد ، والذي يحسب مجموع التقدير لجميع الصفوف: . . والنتيجة . وعندما نربطه بالاستعلام الذي قمت انت بعمله: . والنتيجة . جعفر 468.الصفوف العليا 2016.accdb.zip
  11. بكل اعتذار ، انا اسحب نفسي من هذا الموضوع جعفر
  12. وعليكم السلام اخي محمد ملاحظتي لا علاقة لها بسؤالك ، وانما لها علاقة بتسمية ملفك شوف هذا الرابط: https://www.experts-exchange.com/questions/28183424/Saved-Imports-in-Access-Import-from-Current-folder.html#a39423685 مع اننا توصلنا الى اجابة للسؤال ، ولكننا لم نستطع اتمام العمل ، بسبب تسمية مجلده/ملفه ابدا لا تستخدم & في تسمية المجلد/الملف جعفر
  13. السلام عليكم اخي صالح بما اني نادرا ما استعمل النماذج المنبثقة ، فلا اعرف ما تتكلم عنه ولا ما تريد رجاء ترفق جزء من برنامجك الذي تريد له الحل ، واشرح المشكلة وما تريد التوصل اليه جعفر
  14. وعليكم السلام وحيا الله اخوي عمر خلاص ولا يهمك ، عندي شغلتين صغار ، وبعدها ابدأ المرحلة التالية من مسقط التقارير واللي اطلبه منك الآن ، هو عمل قائمة للبرنامج الحالي ، ومن واقع عملك معاه: نقاط قوة البرنامج ، وهل هناك شئ سيساعد في زيادة فاعليته ، نقاط ضعف البرنامج وكيف تقترح حلها ، ماهي اكبر كمية من الحقول التي احتجت لها ، الاشياء الاخرى التي تقترح ان تكون في النسخة التالية من البرنامج ، وبالتفصيل وبامثلة وصور لوسمحت حتى افهم المطلوب طبعا النقاش مفتوح لكل من استعمل البرنامج واراد عمل تغييرات عليه جعفر
  15. وعليكم السلام اخي بدر انت الادرى بفكرتك ، وليس لدي ادنى فكرة عن خطوات العمل ، فياريت تفكر بمثال نحتذي به ، وإلا ، فالوقت سيمضي هدرا في عمل شئ لا اعرفه جعفر
  16. السلام عليكم اخي علي ، انت لم تشر الى طلبك الاخير في هذا الموضوع ، وانما كان في موضوع آخر ، لهذا السبب انا والاخ محمد اعطيناك الاجابة الصورة المرفقة لنموذج فيه اسماء العمارات ، وهنا تُدخل العدد الذي تشاء بالنسبة للشقق ، فتلاحظ انه عندك 9 عمارات (لاحظ عدد السجلات في اسفل النموذج) ، بينما للعمارة1 ، فان فيها شقتين (النموذج الفرعي): . جعفر 451.مثال.accdb.zip
  17. اختي ، الشئ الوحيد في المرفق هو الجدول1 ، ولم توضحي اين تريدين نتائج التقطيع!! والاكسس ليس مثل الاكسل ، فالاكسس محتاج يحفظ بياناته في مكان ، والاستعلام مجرد وسيله لفك الكلمات ، ولكنه ليس مكان الحفظ!!
  18. والله يا اختي حيّرتيني طلبك كان: . وعلشان نقطع الشك باليقين ، طلبت منك قاعدة بياناتك ، وبالطريقة اللي تريدين الاجابة . وجوابك كان ، وبدون توضيح . وبعدها طلبتي . والآن تريدين . لوسمحتي تفكرين في الموضوع مرة اخرى ، وتوصلين الى طريقة معينة في حفظ السجلات ، وتخبرينا بالتفصيل ، وعليه ان شاء الله نحاول الوصول الى النتيجة المطلوية جعفر
  19. تفضل هذا استعلام تحديث للحقل 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
  20. تفضلي حولت الكود الى وحدة نمطية ، وستلاحظين اني الغيت اسطر من الكود ، لان الجملة ستاتي من الاستعلام (والاستعلام ليس استعلام سجلات جديدة ، انما هو استعلام تحديد ، حيث يحدد السجلات المطلوب تفكيك كلماتها ويرسلها للوحدة النمطية ، والتي تقوم بالتفكيك): 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 وهذا الرابط به شرح من اخونا العود ابوخليل جعفر
  21. وعليكم السلام عفوا اختي ، ولكن اريد منك تفصيل اكثر لوسمحتي ، مثلا: 1. نحن لا نتكلن عن تحديث سجلات ، وانما عمل سجلات جديدة ، صح؟ 2. هل تريدين سجلات جديدة للجدول بالكامل؟ أ- هذا معناه حذف السجلات السابقة ، والعمل على سجلات جديدة مرة اخرى ، ب- هذا معناه ان البرنامج سيأخذ وقت اطول كلما زادت عدد السجلات. 3. واذا كانت هناك سجلات تم العمل عليها سابقا ، فهل تريدين العمل عليها مرة اخرى: أ- في بعض الاوقات الكود يعطينا نتائج غير متوقعة ، مثل السجل الاول الفاضي في الصورة التي ارفقتها ، وهي بسبب ان الجملة اصلا فيها مسافة فاضية ، ب- فعند التدقيق ، قد تحذفين هذا السجل يدويا ، ولكن قد لا تصلحين مكان الخطأ في الجملة ، ج- فهل تريدين الابقاء عليها؟ ورجاء اعطاء اي بيانات اخرى عن المشروع ، حتى لا نقوم بالعمل مرار جعفر
×
×
  • اضف...

Important Information