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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    415

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

  1. انت في هذه الحالة حفظت قيمة الحقل ="" ، وانتقل المؤشر الى الحقل التالي جعفر
  2. وعليكم السلام واهلا وسهلا بك في المنتدى ورجاء قراءة قوانين المنتدى قبل وضع مشاركات جديدة تفضل ، المطلوب في برنامجك المرفق ، وهذا الكود يقوم بالعمل: Private Sub cmd_Do_Month_Dates_Click() Dim rst As DAO.Recordset Dim i As Date Set rst = Me.نموذج_فرعي_main_data.Form.RecordsetClone For i = DateSerial(Me.iYear, Me.iMonth, 1) To DateSerial(Me.iYear, Me.iMonth + 1, 0) rst.AddNew rst!dd = Format(i, "dddd") rst!ddate = i rst.Update Next i rst.Close: Set rst = Nothing End Sub جعفر 831.برنامج رواتب.accdb.zip
  3. السلام عليكم اخي ابو ياسين ، يُفضل ان يكون الكود الذي عملته انت ، ان يكون على الحدث "قبل التحديث" ، حتى لا تُحفظ القيمة وينتقل المؤشر الى الحقل التالي وهذا هو مثال طريقتي ، على شروطك: جعفر 830.Validation_Rule.mdb.zip
  4. نصطاد هذا الخطأ ، جرب Private Sub cmd_Do_Records_Click() On Error GoTo err_cmd_Do_Records_Click Dim rst As DAO.Recordset Dim rstSUB As DAO.Recordset 'نقرأ بيانات النموذج الفرعي 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 = "SELECT Auto_Chair_ID AS Auto, 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 mySQL = mySQL & " ORDER by Auto_Chair_ID DESC" 'Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount If RC > rstSUB!Number_seats Then 'نحذف سجلات رقم المقعد من الجدول For i = rstSUB!Number_seats + 1 To RC rst.Delete rst.MoveNext Next i Else 'نضيف سجلات رقم المقعد في الجدول For i = RC + 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.Edit rstSUB!Do_Changes = 0 rstSUB.Update GoTo Exit_cmd_Do_Records_Click End If 'rstSUB rstSUB.MoveNext Next j Exit_cmd_Do_Records_Click: 'احذف البيانات من ذاكرة الكمبيوتر rst.Close: Set rst = Nothing rstSUB.Close: Set rstSUB = Nothing Exit Sub err_cmd_Do_Records_Click: If Err.Number = 3021 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر
  5. في النموذج frmEdrajSenfm ، حقل Alkmiah لا يقبل ادخال رقم اكبر من الحقل Alkmiah في النموذج الفرعي frm_mr هل انا وانت نتكلم عن نفس النماذج؟ انتبه ، انا لا اتكلم عن النموذج الفرعي SubSales
  6. تفضل 828.احتساب الكميه 2.mdb.zip
  7. وهكذا اصبح الكود ، ورجاء تجربته Private Sub cmd_Do_Records_Click() Dim rst As DAO.Recordset Dim rstSUB As DAO.Recordset 'نقرأ بيانات النموذج الفرعي 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 = "SELECT Auto_Chair_ID AS Auto, 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 mySQL = mySQL & " ORDER by Auto_Chair_ID DESC" 'Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount If RC > rstSUB!Number_seats Then 'نحذف سجلات رقم المقعد من الجدول For i = rstSUB!Number_seats + 1 To RC rst.Delete rst.MoveNext Next i Else 'نضيف سجلات رقم المقعد في الجدول For i = RC + 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.Edit rstSUB!Do_Changes = 0 rstSUB.Update GoTo Exit_cmd_Do_Records_Click End If 'rstSUB rstSUB.MoveNext Next j Exit_cmd_Do_Records_Click: 'احذف البيانات من ذاكرة الكمبيوتر rst.Close: Set rst = Nothing rstSUB.Close: Set rstSUB = Nothing End Sub . جعفر 806.2.AAddseat.accdb.zip
  8. يعني مثلا: اذا كان عندنا في جدول الباصات 40 سجل: اذا عدد مقاعد النموذج الفرعي = 30 ، اذن نقوم بحذف Auto_Chair_ID الاكبر الى الاصغر ، مثلا 31-40 اذا عدد مقاعد النموذج الفرعي = 50 ، اذن نقوم بإضافةسجلات ، 41-50 مع الاخذ بعين لاعتبار بأن الرقم الذي يتم حذفة من Auto_Chair_ID لا يمكن الحصول عليه مرة اخرى. صح هذا المطلوب؟
  9. السلام عليكم اخوي كاسر خليك معاي لوسمحت ، اجرب شيء وارجع لك جعفر
  10. ايش رأيك بأن يكون الفحص قبل انزال الكمية ،
  11. جرب هذا A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![ID_Sanf] & "' And [Rjmfatwra]='" & [Forms]![frm_Recall_sales]![frm_mr].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If
  12. وعليكم السلام تستطيع استعمال هذه الطريقة ، من اعدادات الحقل في النموذج مباشرة ، بحيث يكون الشرط: >0 and <1000000000 . . . جعفر
  13. ابو ياسين انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز هل هذا المطلوب؟
  14. السلام عليكم ومثل ما اخبرتك: . في النموذج الفرعي sfrm_Room_No_Available ، السطر بين سطري j' هو الذي حل المشكلة: Private Sub cmd_Disposal_Click() Forms!frm_Rooms_Available.SetFocus If IsNull(Me.Patient_No) Or (Me.Patient_No) = "" Then MsgBox "There is no Patient", vbOKOnly, "" Me.Undo Cancel = True Exit Sub End If Me.Check = True Forms!frm_Rooms_Available!xxx = Me.Patient_No 'j Me.Dirty = False 'j DoCmd.OpenForm "frm_Discharge_Endorsement" DoCmd.OpenForm "frm_Rooms_Available", , , , , acHidden End Sub . جعفر
  15. قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف وعليكم السلام أخي طاهر رجاء الإلتزام بقوانين المنتدى ، هذا الموضوع سوف يُغلق ، ويمكنك فتح موضوع آخر حسب قوانين المنتدى بالاضافة الى انه لاحظت انك تضع اسئلة في مواضيع قديمة ، فرجاء ، كذلك افتح لنفسك مواضيع جديده لها جعفر
  16. طيب في نموذج ، واسماء الحقول ، وكيف اصل الى المكان/الحدث؟
  17. شكرا اخوي ابو خليل ، فمقتنياتك لا تُقدر بثمن جعفر
  18. يجب عليك كسر الكود الى متغيرات اصغر ، حتى تستطيع فهم الكود لما تضعه مع بعض ، هكذا مثلا (معلومات المتغير B انا كتبتها من رأسي ، فيحتاج لها تعديل ، وتعديلها في if كذلك) : A = DLookup("[Alkmiah]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rajmsanf] & "'") B = DLookup("[Rjmfatwra]", "[Hrakatsanf]", "[Rajmsanf]='" & [Forms]![frm_Recall_sales]![SubSales].[Form]![Rjmfatwra] & "'") If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah].Value = 0 Then Exit Sub If [Forms]![frm_Recall_sales]![SubSales].[Form]![Alkmiah] > A _ And [Forms]![frm_Recall_sales]![SubSales].[Form]![Rjmfatwra] > B Then DoCmd.Beep MsgBox " كـمـيـة الـمـرتـجـع اكـبـر مــن كـمـيـةالـبـيـع" & " ", , "تـنـبـيـه" Me.Undo Exit Sub End If
  19. في الاستعلام لا تستطيع استعمال if وانما تستطيع استعمال iff ادخل في تصميم الاستعلام ، ثم اضفها
  20. وعليكم السلام اخوي ابو ياسين لا تعمل جملة SQL في الكود ، اعمل العكس ، اعمل الاستعلام اللي تريده ، ثم حوله الى SQL ، ثم اخذه الى الكود واعمل التعديل. ادخل الكود عن طريق Ctrl + G (ولا تدخله بطريقة اخرى) ، والذي سيعطيك شاشة الكود ، بالاضافة الى شاشة صغيرة في الاسفل ، والتي سنأخذ منها SQL لتجربيته في الاستعلام. ولما تأخذ SQL الاستعلام الى الكود ، فككه الى اسطر ، واربط كل سطر مع اللي قبله (لاحظ الكود التالي) ، واهم شيء تعمله هو ان تكتب جملة debug.print mySQL بعد نهاية عمل جملة الـ SQL وقبل ان تنفذ الامر docmd.runsql ، هذا الامر سوف يعطيك في اسفل شاشة الكود ، سيعطيك جملة الـ SQL بعد اضافة القيم فيها ، عندها تستطيع ان تنسخ هذه الجملة من اسفل شاشة الكود ، وتذهب الى الاستعلام وتلصقه هناك ، وتشغل الاستعلام ، واذا اعطاك خطأ ، فإصلح الاستعلام ، ثم اخذ SQL الى الكود للمقارنه ، وهكذا .... هذه طريقة كتابة الكود (مثلا) : mySQL = "UPDATE [Hrakatsanf]" mySQL = mySQL & " SET [Alkmiah]=[Alkmiah]-" & [Forms]![frm_Recall_sales]![SubSales]![Alkmiah] mySQL = mySQL & " WHERE Rajmsanf='" & [Forms]![frm_Recall_sales]![SubSales]![Rajmsanf] & "'" mySQL = mySQL & " And Rjmfatwra='" & [Forms]![frm_Recall_sales]![frm_mr]![Rjmfatwra] & "'" Debug.Print mySQL DoCmd.RunSQL mySQL . جعفر
  21. حفظ البيانات في النموذج تعملها مرة واحدة فقط ، ثم تعمل استعلامات قدر اللي تريد
×
×
  • اضف...

Important Information