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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام جرب هذا الكود ، المفروض يشتغل على جميع اصدارات الاكسس DoCmd.OutputTo acOutputTable, stDocName, acformatxls, "C:\" & "المدرسين" & ".xls", False 'Excel 2003 جعفر
  2. وعليكم السلام اخي وضاح في الصورة الاولى ، الظاهر انك واضع شرط في الجدول ان لا يحفظ السجل بدون ذلك الحقل ، جعفر
  3. وعليكم السلام مو قلت لك ، تخش ، وتطلع بعدين تفضل ، تم اضافة حقل "اعمل التغييرات" ، واذا كان عليه صح ، يقوم بالعمل على معطيات ذلك السجل فقط . وهذا الكود Private Sub cmd_Do_Records_Click() Dim rst As DAO.Recordset Dim rstSUB As DAO.Recordset 'نجهز الجدول لإدخال بيانات رقم المقعد Set rst = CurrentDb.OpenRecordset("Select * From Tabl_bus") 'نقرأ بيانات النموذج الفرعي Set rstSUB = Me.Forme_Sub_Itinerary.Form.RecordsetClone rstSUB.MoveLast: rstSUB.MoveFirst RCsub = rstSUB.RecordCount 'نقرأ كل سجل من سجلات النموذج الفرعي For j = 1 To RCsub 'اذا يوجد علامة صح في حقل "اعمل التغييرات" فقم بحذف السجلات السابقة لهذا الخط ، واعمله من جديد If rstSUB!Do_Changes = -1 Then 'نحذف سجلات رقم المقعد من الجدول mySQL = "DELETE Tabl_bus.Num_Itinerary_ID, Tabl_bus.Num_Itinerary, Tabl_bus.Num_rihla, Tabl_bus.*" mySQL = mySQL & " FROM Tabl_bus" mySQL = mySQL & " WHERE Num_Itinerary_ID=" & rstSUB!Auto_ID mySQL = mySQL & " AND Num_Itinerary=" & rstSUB!Num_Itinerary mySQL = mySQL & " AND Num_rihla=" & rstSUB!Num_rihla CurrentDb.Execute mySQL 'نقوم بتغيير حقل "اعمل التغييرات" ونزيل الصح منها rstSUB.Edit rstSUB!Do_Changes = 0 rstSUB.Update 'نعمل سجلات رقم المقعد في الجدول For i = 1 To rstSUB!Number_seats rst.addnew rst!Num_Itinerary_ID = rstSUB!Auto_ID rst!Num_Itinerary = rstSUB!Num_Itinerary rst!Num_rihla = rstSUB!Num_rihla rst![Chair_ No] = i rst.Update Next i End If 'rstSUB rstSUB.MoveNext Next j 'احذف البيانات من ذاكرة الكمبيوتر rst.Close: Set rst = Nothing rstSUB.Close: Set rstSUB = Nothing End Sub جعفر 806.1.AAddseat.accdb.zip
  4. وعليكم السلام انا استخدمت هذه الطريقة جعفر
  5. تفضل Option Compare Database Dim Ky As Integer Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Ky = KeyCode End Sub Private Sub Rajmsanf_LostFocus() Dim Rs As DAO.Recordset Set Rs = CurrentDb.OpenRecordset("select * from Alsnaf where Rajmsanf = '" & Me.Rajmsanf & "'") If Rs.recordcount > 0 Then Alwsf = Rs!Alwsf Sanf = Rs!Sanf ID_Sanf = Rs!ID_Sanf Albdil = Rs!Albdil Price_Sales = Rs!Price_Sales Else If Len(Me.Rajmsanf & "") = 0 And (Ky = 13 Or Ky = 9) Then MsgBox "عفوا يجب ادخال رقم" Me.Alkmiah.SetFocus Me.Rajmsanf.SetFocus ElseIf Len(Me.Rajmsanf & "") <> 0 Then MsgBox "عفوا هذا الرقم غير صحيح" Me.Alkmiah.SetFocus Me.Rajmsanf.SetFocus End If End If Ky = 0 Rs.Close: Set Rs = Nothing End Sub جعفر 807.147.mdb.zip
  6. السلام عليكم انا لم اجد غير هذين الحقلين: . فما عرفت وين تريد تضع عدد الايام!! اما بالنسبة الى ALike ، الظاهر ان برنامجك كان adp او كان موصل بـ SQL server ، لأنه كان تلقائيا متحول على . وبعد عمل قاعدة بيانات فاضية ونقل كائنات قاعدة بياناتك فيها ، قبلت Like ، وتم عمل الكود على الحدث بعد تحديث حقل البحث في النموذج. رجاء اعطني مثال بالايام من برنامجك واي حقل ، حتى استطيع المساعدة ، فشرحك غير واضح جعفر 802.zip
  7. وعليكم السلام العلاقة بين الجدولين Tabl_bus و Tabl_Itinerary غير صحيحة ، فالظاهر لازم تحذف احدهم . ويعدها تقدر الزر "اعمل السجلات" ، والذي يحتوي على هذا الكود: Private Sub cmd_Do_Records_Click() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From Tabl_bus") For i = 1 To Me.Forme_Sub_Itinerary!Number_seats rst.addnew rst!Num_rihla = Me.Forme_Sub_Itinerary!Num_rihla rst!Num_Itinerary = Me.Forme_Sub_Itinerary!Num_Itinerary rst![Chair_ No_] = i rst.Update Next i rst.Close: Set rst = Nothing End Sub جعفر 806.Addseat.accdb.zip
  8. وعليكم السلام 1. راجع الرابط هذا لإصطياد رقم الخطأ ، ثم بعد الحصول على الخطأ ، مشاركتي التالية تخبرك كيف تعمل رسالة الخطأ الخاصة بك . 2. مثل ما عملت في النموذج في الضغط على F2 ، اعمل نفس الشيء في النموذج الآخر ، والرقم الذي تريد هو: keycode=13 or keycode=108 جعفر
  9. وعليكم السلام تفضل (هذا للنسخ واللصق) ، ولكنه للأسف بسبب العربية ، فان الحقول تلخبطت: IIf([النهاية]>[البداية],[النهاية]-[البداية],([النهاية]+1)-[البداية]) . وهنا الصورة الصحيحة: . وتم تعديل الاستعلام كذلك في المرفق جعفر 800.1.حساب فترات الوقت.accdb.zip
  10. انا عملت لك الوحدة النمطية في تقريرك ، ونتيجة عمل الوحدة النمطية تشوفها في الحقل Me.iTime في المرفق في مشاركتي السابقة.
  11. الاكسس يعمل بهذه الطريقة حياك الله اخي محمد جعفر
  12. السلام عليكم هذا الرابط به جواب على سؤال البطء: . هذا التفكير غير صحيح ، حيث انك تضع الكود مرة واحدة في برنامجك ، بغض النظر عن طوله ، انا استخدم هذه الوحدة النمطية في جميع برامجي ، لربط الواجهة مع الجداول ، وطولها 1000 سطر : . بالاضافة الى المكتبات الاخرى جعفر
  13. السلام عليكم أخي وضاح ومرشد ارجو تستفيدوا من هذا الرابط: جعفر
  14. السلام عليكم بعض الاوقات نحتاج عمل معادلة/كود لحقل ما في نموذج/تقرير ، فلاحظت بعض المبرمجين يضع الكود في مصدر بيانات الحقل في النموذج ، مما يسبب ان ينفتح النموذج ، وبعد لحظات نرى نتيجة المعادلة في الحقل (اي ان نتيجة المعادلة لا تظهر بفتح النموذج) ، بينما لو انهم وضعوا هذه المعادلة في اي من الاحداث السابقة التي يقوم بها النموذج ، لوجدوا نتيجة المعادلة جاهزة مع فتح النموذج. عليه ، رأيت ان اضع بين يديكم تجربة لمعرفة تسلسل الاحداث في النموذج ، ومتى يقوم النموذج بعمل معادلة الحقل. يمكن ان نرى تسلسل احداث اي عمل في الاكسس ، من رابط المايكروسوفت هذا : https://support.office.com/en-us/article/Order-of-events-for-database-objects-e76fbbfe-6180-4a52-8787-ce86553682f9 النموذج ، وبه نموذج فرعي ، ونرى ان النموذج الرئيسي به معادلة ادخال رقم عن طريق InputBox ، والنموذج الفرعي كذلك ، ولكن لحرف ، ونرى اني عملت كود خلف جميع الاحداث في النموذجين الرئيسي والفرعي . . وهذا شكل الكود . هذه البيانات في الجدول ، مصدر النموذج الفرعي . وهذه كائنات البرنامج ، حيث يأخذ النموذج الرئيسي بياناته من الاستعلام qry_Names . وهنا نرى تسلسل الاحداث: . هذا معناه ، انه المعادلة يمكن عملها في اي من التسلسل التالي (كل حدث يستطيع اخذ بياناته من الحدث الذي يسبقه) : في الاستعلام مصدر البيانات > حدث فتح النموذج > حدث تحميل النموذج > حدث تغيير حجم النموذج > حدث الحالي > في مصدر بيانات الحقل. جعفر Order_of_Events.mdb.zip
  15. هذا تصميم غير صحيح ، لا تربط يد المستخدم زيادة عن اللازم ، وإلا بيلخبط لك الدنيا ، وبيقول ان البرنامج هو السبب لأنه ما يسمح لي اعمل كذا وكذا ، وعطّلني عن العمل وووو جعفر
  16. وعليكم السلام انا اعرف انك ما تريد هذا الجواب ، لكن مافي جواب ثاني انا اعرفه للذي تريده ، استعمل السطرين القبل الاخير في حدث قبل التحديث لحقل الخصم: MsgBox " اعـلـى درجـة خـصـم الـمسـمـح لـهـذا الـمـسـتـخـدم هـو " & " ( " & Me.n1 * DrXes & " ) ", , " لــيــس لــديــك صــلا حــيــة بـالخــصـم اكـثـر " ', , vbOKOnly, "وضــاح الـنـوبـه : الصــــلاحيــات " Cancel = True Me.Alhasm.Undo Else جعفر 804.التركيز.mdb.zip
  17. شكرا اخوي حربي ، انت الآن تأكد ان الرابط ينطبق على طلبك ، حاول فيه ، تراه مو صعب ، ولما تعلق معاك القضيه ، نكون في خدمتك ان شاء الله جعفر
  18. طيب ، ونتائج البحث وين تطلع؟ في النموذج الفرعي ، صح؟ اذن المثال في الرابط ينطبق على طلبك 100%
  19. تم تعديل Forms!form!qn الى Forms!vill!qn ولم اجد في الكود اي شيء يقوم بتغييره ، كما وضعت Call qn_AfterUpdate في الحدث "الحالي" ، وجربت اضافة صورة ، ولم تحدث مشكلة. ولم افهم قصدك عن text ، فالرجاء توضيح طلبك بمثال من نماذجك وجداولك جعفر 798.1.Lastvery.mdb.zip
  20. والله يا اخوي علي ، اخوي mohammad awawdeh اعطاك طريقة الحصول على التنبيه ، وانا اعطيتك طريقة اظهار الرسالة في المكان اللي تريده ، فاجمع بينهم ، وتحصل على اللي تريده جعفر
  21. أخي هشام ، تسلم ايدك شكرا على هذا المجهود ، ولكن احد اهم النقاط في البرنامج ، هو النقطة رقم 4 ، وهو عمل ورقة/sheet جديدة لكل جدول/استعلام كما اني احبذ ان تجعل رابط تنزيل البرنامج من هذا الموضوع شكرا لك مرة اخرى جعفر
  22. شكرا
  23. وعليكم السلام تفضل هذه طريقة جعفر
×
×
  • اضف...

Important Information