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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. السلام عليكم اخوي ابو ياسين انا ما اعرف انت تروح من اي نموذج او تقرير وتعرض صورته ، انا من البداية كنت اخبرك اي نموذج اكون عليه ، واي حقل ، وانت كنت تأكد لي ، وعليه كنت اشتغل انا ما ادري اذا كنت انزلت المرفق في مشاركتي الماضية ، ولكن هذه نسخة منه ، فرجاء تنزلها. اعرض عليك ما عملته ، وما اراه في البرنامج الذي عملت عليه: سأسترجع من الفاتورة رقم 2: . الصنف 1-1 ، وترى لما حاولت ان استرجع 26 حبة ، لم يقبل البرنامج (هذا الذي تريده من سؤالك) ، بينما الكمية المُباعة كانت 25 ، . عدّلت على الكمية ، فاصبحت 10 ، وهي اقل من الكمية المباعة . وترى ان البرنامج قبلها ، ولم ينقص من الفاتورة الاخرى او الصنف الاخر . وطبعا لا ننسى ان النموذج الرئيسي مرتبط بالنموذج الفرعي برقم الفاتورة كذلك ، . جعفر 828.احتساب الكميه 2.mdb.zip
  2. السلام عليكم ومشاركة مع اخي شفان ، وبالنظر الى الموضوع من زاوية اعلى ، نستطيع ان نرسل اسم النموذج الذي فتح نموذج البحث ، عن طريق المتغير OpenArgs ، هكذا Private Sub Field_DblClick(Cancel As Integer) DoCmd.OpenForm "Search Orient", , , , , , "FrmAmr" End Sub او للنموذج الثاني Private Sub Field_DblClick(Cancel As Integer) DoCmd.OpenForm "Search Orient", , , , , , "FrmMoh" End Sub . ثم من نموذج البحث ، نرجع المعلومة هكذا: Private Sub Orient_DblClick(Cancel As Integer) Forms(Me.Parent.OpenArgs)!Field = Me.Client DoCmd.Close End Sub جعفر
  3. وعليكم السلام في اعدادات النموذج ، نطلب من النموذج الذهاب الى الوحدة النمطية Color_Nulls كل ثانية (1000 معناه ثانية) ، وبهذه الطريقة لا تحتاج ان تضع الكود في كل نموذج ،وانما تعمله من هذه الاعدادات ، وستلاحظ ان النموذجين يعملان (المرفق فيه نموذجين) . وهذه الوحدة النمطية المسؤولة عن العمل Public Function Color_Nulls() Dim frm As Form Dim ctrl As Control Set frm = Screen.ActiveForm For Each ctrl In frm.Controls If ctrl.ControlType = acTextBox Then If Len(ctrl.Value & "") = 0 Then ctrl.BackColor = IIf(ctrl.BackColor = vbWhite Or ctrl.BackColor = vbBlue, vbRed, vbBlue) End If End If Next End Function جعفر 829.Flash_BG.mdb.zip
  4. العفو اخوي ابو ياسين وحياك الله جعفر
  5. اخي ابو ياسين المرفق اللي انا عملته ، اضف له حقل نص جديد ، وجرب الشرطين ينطبقوا عليه. تم اضافة الحقل الفارغ في المرفق الاصلي. جعفر
  6. انت في هذه الحالة حفظت قيمة الحقل ="" ، وانتقل المؤشر الى الحقل التالي جعفر
  7. وعليكم السلام واهلا وسهلا بك في المنتدى ورجاء قراءة قوانين المنتدى قبل وضع مشاركات جديدة تفضل ، المطلوب في برنامجك المرفق ، وهذا الكود يقوم بالعمل: 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
  8. السلام عليكم اخي ابو ياسين ، يُفضل ان يكون الكود الذي عملته انت ، ان يكون على الحدث "قبل التحديث" ، حتى لا تُحفظ القيمة وينتقل المؤشر الى الحقل التالي وهذا هو مثال طريقتي ، على شروطك: جعفر 830.Validation_Rule.mdb.zip
  9. نصطاد هذا الخطأ ، جرب 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 جعفر
  10. في النموذج frmEdrajSenfm ، حقل Alkmiah لا يقبل ادخال رقم اكبر من الحقل Alkmiah في النموذج الفرعي frm_mr هل انا وانت نتكلم عن نفس النماذج؟ انتبه ، انا لا اتكلم عن النموذج الفرعي SubSales
  11. تفضل 828.احتساب الكميه 2.mdb.zip
  12. وهكذا اصبح الكود ، ورجاء تجربته 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
  13. يعني مثلا: اذا كان عندنا في جدول الباصات 40 سجل: اذا عدد مقاعد النموذج الفرعي = 30 ، اذن نقوم بحذف Auto_Chair_ID الاكبر الى الاصغر ، مثلا 31-40 اذا عدد مقاعد النموذج الفرعي = 50 ، اذن نقوم بإضافةسجلات ، 41-50 مع الاخذ بعين لاعتبار بأن الرقم الذي يتم حذفة من Auto_Chair_ID لا يمكن الحصول عليه مرة اخرى. صح هذا المطلوب؟
  14. السلام عليكم اخوي كاسر خليك معاي لوسمحت ، اجرب شيء وارجع لك جعفر
  15. ايش رأيك بأن يكون الفحص قبل انزال الكمية ،
  16. جرب هذا 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
  17. وعليكم السلام تستطيع استعمال هذه الطريقة ، من اعدادات الحقل في النموذج مباشرة ، بحيث يكون الشرط: >0 and <1000000000 . . . جعفر
  18. ابو ياسين انت تريد الكمية Alkmiah من الجدول Hrakatsanf بشرط رقم الفاتورة Rjmfatwra و رقم الصنف ID_Sanf يكونان الموجودان في النموذج الفرعي SubSales وهذا السجل هو السجل الموجود عليه التركيز هل هذا المطلوب؟
  19. السلام عليكم ومثل ما اخبرتك: . في النموذج الفرعي 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 . جعفر
  20. قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف وعليكم السلام أخي طاهر رجاء الإلتزام بقوانين المنتدى ، هذا الموضوع سوف يُغلق ، ويمكنك فتح موضوع آخر حسب قوانين المنتدى بالاضافة الى انه لاحظت انك تضع اسئلة في مواضيع قديمة ، فرجاء ، كذلك افتح لنفسك مواضيع جديده لها جعفر
  21. طيب في نموذج ، واسماء الحقول ، وكيف اصل الى المكان/الحدث؟
×
×
  • اضف...

Important Information