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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. الحمدلله 🙂 وعليكم السلام اخوي موسى 🙂 جعفر
  2. في الواقع انا اتعمد ان اجعل الكود سلس وبسيط ومقسّم الى عدة اسطر ، وذلك لهدف ان تكون البرمجه مرنه لتغييرات المبرمج ، واحاول الابتعاد عن اختزال الكود قدر المستطاع 🙂 بالنسبة لإختيار السجلات في جملة Where ، عندك عدة اختيارات ، منها مربع الاختيار (نعم/لا) ، ومنها اي حقل له رقم/قيمة فريدة تدل على السجل ، لهذا السبب ، ترى اني استخدمت النوعين معا ، فبالاضافة الى قيم الحقل TNO (في مصفوفة في الكود) ، فقد قمت بإختيار مربع الاختيار MoveX (في الجدول) كذلك ، ويمكنك استعمال النوعين خارج النموذج ، وحتى عند اغلاق النموذج ، فقيمة TempVars!tmpVars_DoIn تكون موجودة طوال فترة عمل البرنامج ، الى ان يتم غلق البرنامج ، او اعطاء قيمة اخرى للمتغير ، او حذف بياناته. جعفر
  3. تفضل 🙂 قبل الاختيار ، سترى ان لون زر "الغي الاختيار" لونه اسود . وعند الاختيار ، سيتحول لونه الى الاحمر ، ليحذرك بأنه هناك اختيار سابق تم تخزينه في المتغير TempVars!tmpVars_DoIn ، وتم الافصاح عن هذا المتغير في اعلى كود النموذج ، حتى يمكنه اضافة القيم: Dim tmpVars_DoIn as TempVars وكلما تختار سجلات اخرى ، فإن المتغير يضيف هذه السجلات الى المتغير . هذا الكود يقوم بإضافة ارقام الحقل TNO (يمكنك اختيار اي حقل يدل على رقم السجل) الى المتغير ، بحيث يكون المتغير يحتوي على مصفوفة بهذه الطريقة: 34 ,33 , 13 ,12 , 0 Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Me.SelHeight = to specify or determine the number of selected rows 'Me.SelTop = to specify or determine which row (record) is topmost in the current selection Dim i As Integer Dim rst As dao.Recordset Set rst = Me.RecordsetClone rst.MoveFirst If Me.SelHeight = 0 Then Exit Sub ' Move to the first selected record. rst.Move Me.SelTop - 1 For i = 1 To Me.SelHeight TempVars!tmpVars_DoIn = TempVars!tmpVars_DoIn & ", " & rst![TNO] 'add the selected TNO to tmpVars_DoIt rst.MoveNext Next i 'show the selected in the Form 'اذا لا تريد تحديث النموذج، اوقف عمل السطر التالي Call TempVars_Use_Click 'change the button color, so that the user know somwthing is selected already Me.TempVars_Clear.ForeColor = vbRed 'Debug.Print TempVars!tmpVars_DoIn End Sub . ولما تريد استخدام اياستعلام (انا استعملت الكود الذي وضعته انت) ، يمكنك استخدام الكود التالي المحتوي على البيانات التي تم تحديدها : Mid(TempVars!tmpVars_DoIn, 3) . هذا كود زر الغي التحديد: Private Sub TempVars_Clear_Click() TempVars!tmpVars_DoIn = 0 'change the color to black, indicating nothing is selected Me.TempVars_Clear.ForeColor = vbBlack End Sub . وهذا كود استخدم سجلات التحديد Private Sub TempVars_Use_Click() 'remove the initial comma 'TempVars!tmpVars_DoIn = Mid(TempVars!tmpVars_DoIn, 3) CurrentDb.Execute "UPDATE TAB SET MOVEX = -1 WHERE TNO In (" & Mid(TempVars!tmpVars_DoIn, 3) & ")" 'show the selected in the Form 'اذا لا تريد تحديث النموذج، اوقف عمل السطر التالي Me.Requery End Sub . جعفر 1423.1.Record Selector.accdb.zip
  4. تفضل 🙂 لا نستخدم الزر ، وانما نستخدم زر مسك الفأرة : Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'https://stackoverflow.com/a/1670110 'https://stackoverflow.com/a/18793073 'Me.SelHeight = to specify or determine the number of selected rows 'Me.SelTop = to specify or determine which row (record) is topmost in the current selection Dim i As Integer Dim rst As dao.Recordset Set rst = Me.RecordsetClone If Me.SelHeight = 0 Then Exit Sub rst.MoveFirst ' Move to the first selected record. rst.Move Me.SelTop - 1 'its slow to refresh, so don't show it Me.Painting = False For i = 1 To Me.SelHeight rst.Edit rst![MOVEX] = -1 rst.Update rst.MoveNext Next i Me.SelHeight = 0 'unSelect the Records Me.Painting = True 'show the Records values End Sub جعفر 1423.select.accdb.zip
  5. وعليكم السلام 🙂 استخدم هذا الكود للحقول المختارة: UPDATE TAB SET TAB.MOVEX = -1 WHERE ((Not (TAB.MOVEX)=[Forms]![FRM2]![MOVEX])); ويمكنك استخدام UPDATE TAB SET MOVEX = -1 WHERE Not MOVEX=[Forms]![FRM2]![MOVEX] وفي صيغة الكود CurrentDb.Execute "UPDATE TAB SET MOVEX = -1 WHERE Not MOVEX=" & [Forms]![FRM2]![MOVEX] جعفر
  6. برنامجك يقوم بهذا العمل. وللأسف ما فهمت المطلوب !! جعفر
  7. السلام عليكم 🙂 المبرمج قفل البرنامج بتحويله الى صيغة accde ، ولا يمكن فتحه ، واذا فيه طلب لتعديل البرنامج ، فيجب على المبرمج الرجوع الى النسخة المفتوحة وعمل التغييرات عليها 🙂 جعفر
  8. هذا معناه انك ما تريد توصيل حالي ، وما مستعجل 😁 جعفر
  9. محتاج توضيح اكثر عن العمل لوسمحت ، لأن ظاهر العمل هنا نسخ بيانات من جدول الى آخر !! جعفر
  10. حياالله من يانا وجاب طارينا 🙂 الله يسلمك انت لم تحدد طريقة الاستلام ، وعليه نحدد طريقة الارسال ، واذا قلبك قوي ، ممكن يصلك حالا (ولقد اعذر من انذر) 😲😬 جعفر
  11. السلام عليكم اخي السيد 🙂 اليس من الجميل ان يرى بقية الاعضاء طريقة حل مشكلتك ، حتى يستفيدوا منها كذلك ، فهذا ما يقوم عليه المنتدى ، تبادل الافكار والحلول 🙂 لهذا السبب ، من قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة المحظورات 21. يُمنع منعا باتا الإجابة على سؤالك أو أي حوار فني على الخاص أو إلى بريدك الخاص، الفائدة يجب أن تعم. يجب عدم الاستجابة لأي طلب على الخاص. كما يمنع ذكر وسائل التواصل الخاص أو البريد الإليكتروني في المشاركات لتعم الفائدة. وسيتم حذف وسائل التواصل أو البريد حال إضافتها. اما بالنسبة لحجم المرفق ، فيمكنك عمل ضغط واصلاح لبرنامجك ، ثم استعمال برنامج ضغط winrar او winzip او 7z لضغط البرنامج ، ثم ارفاقه هنا ، او رفعه على احد مواقع رفع الملفات ، وتوضع لنا رابط تنزيل الملف 🙂 جعفر
  12. السلام عليكم 🙂 وهنا ستجد طرق اخرى جعفر
  13. العفو اخي الكريم ، لا يوجد داعي للإعتذار 🙂 وشكرا جزيلا لتجوابك 🙂 وسيتم نقل المرفق الى المشاركة الاصلية 🙂 جعفر
  14. شكرا اخوي ناقل 🙂 وهذا هو الرابط جعفر
  15. وعليكم السلام 🙂 فتحت النموذج ، ولم افهم طلبك !! رجاء التوضيح بمثال لوسمحت 🙂 جعفر
  16. حياك الله 🙂 من وين جابوا سالفة الدكتور هاي 🤔 ليكون انا صدق دكتور وانا ما ادري 🤭
  17. وعليكم السلام ورحمة الله وبركاته 🙂 اهلا وسهلا بك في المنتدى 🙂 للإستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى : اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بالنسبة الى سؤالك: جرب هذا الكود (الغير مجرب) : 'ID = "رقم البطاقة" 'iDate = "تاريخ الانتساب" 'tbl = اسم الجدول dim rst as dao.recordset dim inc as long set rst=currentdb.openrecordset("Select ID, iDate From tbl Order By iDate") rst.movefirst inc= 450000 'Forms!frm123!initial_Number do until rst.eof inc = inc + 1 rst.edit rst!ID = inc rst.update rst.movenext loop rst.close: set rst=nothing msgbox "Done" . ولكن رجاء اعمل نسخة من جدولك قبل تجربة الكود 🙂 جعفر
  18. يجمع ايش؟ لهذا السبب اردت مثال لوسمحت بالنتيجة المطلوبة 🙂 جعفر
  19. السلام عليكم 🙂 شكرا على ارفاقك الفيديو 🙂 ولكن وبسبب عدم وجود المرفق هنا ، او اي مادة اخرى يستفيد منها الاعضاء للنقاش ، فالمنتدى يعتبر هذه مادة اعلانية/دعائية ، وسيتم نقلها الى القسم قنوات تعليمية شخصية و دورات تدريبية مجانية و مدفوعة هذا ينطبق على الفيديوهات السابقة لهذا الموضوع !! اما اذا اردت ابقاء الموضوع في هذا القسم من المنتدى ، فرجاء ارفاق مرفق 🙂 واذا اردت مساعدة من فريق العمل لإرفاق المرفق ، فرجاء تخبرنا 🙂 جعفر
  20. وعليكم السلام 🙂 اذا رأيت انه لم يتم الرد على سؤالك لمدة ، وخصوصا ان مرات القراءة اكثر من 20-30 ، فأعلم ان سؤالك غير مفهوم 🙂 1. رجاء ان تعطينا مثال للنتيجة التي تريدها ، بمثال على الاكسل او الوورد او صورة ، من البيانات الموجودة في مرفقك ، فلا اعرف ما معنى 2. انا الله يسلمك ، مو دكتور ، جعفر وبس (طبعا هذا اذا كنت قاصدني 🙂) . جعفر
  21. السلام عليكم 🙂 لا يمكن تصفية مربع التحرير إلا من حقل واحد ، لذا ، سنستخدم حيلة في انه اذا القيمة غير موجودة في الحقل ، فنستخدم الكود التالي لجلب القيمة المطلوبة: Option Compare Database Option Explicit Private Sub idbf_NotInList(NewData As String, Response As Integer) Dim ctlList As Control, i As Integer ' Return Control object variable pointing to list box. Set ctlList = Me.idbf ' Enumerate through selected items. For i = 0 To ctlList.ListCount - 1 If ctlList.Column(2, i) = NewData Then ctlList.Value = CInt(ctlList.Column(0, i)) Me.fo.SetFocus GoTo Get_Out End If Next MsgBox "هذه القيمة غير موجودة في القائمة" Get_Out: Response = acDataErrContinue End Sub . جعفر Combo_value_from_another_column.zip
×
×
  • اضف...

Important Information