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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. السلام عليكم أخي ابومصطفى ياريت تخبرنا اسماء النماذج / الاستعلامات اللي تتكلم عنها ، لأن برنامجك ماشاءالله مليان نماذج واستعلامات الطريقة الصحيحة لعمل هذا: 1. استعمال استعلام الحاقي ، 2. استعمال استعلام تحديث ، بحيث يكون فيه معيار/معايير السجل الاول وانا في برنامجك ما شفت استعلام الحاقي !! جعفر
  2. الله يطول في عمرك أخوي ، انت عندك 6 حقول فقط ، ومدخل البيانات يخطأ !! يعني اصحاب النماذج الكبيره مثل هذه شو يقولوا: . او . لازم تفكر بطريقة تتحكم فيها برمجيا ، بحيث بعض/البيانات تكون وفق شروط وضوابط معينة جعفر
  3. الظاهر صار وقت نومي صحيح ، والحل ان تنقل الكود من حدث "الحالي" الى حدث "التحميل" OnLoad: Private Sub Form_Current() End Sub Private Sub Form_Load() DoCmd.MoveSize 500, 500, 1000, 500 Me.InsideHeight = Me.InsideWidth = End Sub جعفر
  4. الافضل ان يكون التاريخ مع بقية الحقول في النموذج Computer وتحذف النموذج Computer1 جعفر 352.عمر الجهاز.accdb.zip
  5. وعليكم السلام في اي نموذج؟ جعفر
  6. وعليكم السلام مع ان الطلب غريب ، لأنك تستخدم نموذج زيادة ولكن اليك الكود: Private Sub أمر18_Click() DoCmd.OpenForm "computer1", , , "[السريال نمبر]='" & Me.[السريال نمبر] & "'" End Sub جعفر 352.عمر الجهاز.accdb.zip
  7. وعليكم السلام أخوي ابوحاتم 1. أضفت معيار حقل Class1 للنموذج Table1 ، الى الاستعلام الالحاقي: . 2. عملت الكود التالي على حدث "بعد التحديث للحقل Class1 في النموذج Table1 ، وياريت تتبع تفاصيله: Private Sub Class1_AfterUpdate() 'تأكد ان الحقل فيه رقم If Len(Me.Class1 & "") <> 0 Then 'هل هناك سجل في الجدول لهذا الرقم If DCount("*", "Table2", "[Class1]=" & Me.Class1) > Then 'لا تعطي رسائل تنبيه بالموافقة على الحاق سجلات DoCmd.SetWarnings False 'شغل الاستعلام الالحاقي DoCmd.OpenQuery "Table2 Query" 'اعطي رسائل تنبيه للاسطر التاليه DoCmd.SetWarnings True 'اطلب البيانات من الجدول من جديد للنموذج الفرعي Me.Table2_Subform.Requery 'اختر النموذج الفرعي Me.Table2_Subform.SetFocus 'اذهب الى آخر سجل ، والذي المفروض ان يكون السجل الجدي DoCmd.GoToRecord , , acLast End If 'Dcount End If 'Len End Sub . 3. اطلبك باقلة ودهن جعفر 351.d12003.2.mdb.zip
  8. وعليكم السلام عملت استعلام للجدول Table2 ، بحيث يعطي نتائج السجل تنازليا (التاريخ الجديد يكون اول السجلات) حسب الحقل "تاريخ شغل الوظيفه": . وجعلت هذا الاستعلام كمصدر للنموذج Table2 ، وفي الحدث الحالي للنموذج Table1 ، نكتب هذا الكود: Private Sub Form_Current() If Me.[الوظيفه الحاليه] <> Me.Table2![الوظيفه المرقى عليها] Then Me.[الوظيفه الحاليه] = Me.Table2![الوظيفه المرقى عليها] DoCmd.RunCommand acCmdSaveRecord End If End Sub جعفر 350.Database1.accdb.zip
  9. وعليكم السلام اضف هذا الكود الى عمود جديد في الاستعلام: A: IIf([Degree]-Int([Degree])<0.5,Int([Degree]),Int([Degree])+0.5) هكذا: . والنتيجة: . جعفر 349.تقريب للنصف أو الواحد الصحيح.mdb.zip
  10. وعليكم السلام الخطأ في الكود انك عاملت الحقل namee على اساس انه رقم ، بينما هو نص فيصبح الكود: If DCount("*", "Table1", "[id]=" & Me![List0].Column(1) & " And [namee]='" & Me![List0].Column(2) & "'") > Then وفي نفس الوقت كانت هناك مشكله في مكان العلامة " للمعيار لذا انا دائما اقسم الكود اى مجموعة اسطر ، سطر لكل معيار ، عليه هكذا تكون الاسطر: A = "[id]=" & Me![List0].Column(1) A = A & " And [namee]='" & Me![List0].Column(2) & "'" If DCount("*", "Table1", A) > Then جعفر
  11. السلام عليكم اخي نبيل مادمت متابع عمل البرنامج الاصلي ، فهذا آخر تحديث عليه: سألتك: وانت اجبت: ولكنك وللأسف ما انتبهت لأهم حقل في الجدول الذي حذفته: . هذا الجدول يجب ان يكون اسمه المبيعات/الصرف بالنسبة الى برنامجك ، وهذا الحقل يجب ان يكون حقل "كود الصنف" من جدول المخزونات ، فجدول المخزونات فيه معلومات المواد ، ولكنك تريد ان تصرف المواد وتبيعها ، لذلك يجب ان يكون عندك الجدول الآخر جعفر
  12. حيا الله أخي كرار عملي مبني على: جعفر
  13. كأنه كان اختبار لنا ، ونجحت فيه ، هيييييه حياك الله
  14. السلام عليكم شباب وحيا الله السيد الجوهري ، ما عرفتك بإسمك الجديد اخي الاستاذ عبدالله قدور يتكلم من خبرة في مجال عمله ، فالنظر الى ما يقوله قد يساعدك في برنامجك على المدى البعيد اما انا فلا افهم في المحاسبة ، وانظر للبرنامج من جانب البرمجة فقط وقد يكون الحل هو: Private Sub List0_DblClick(Cancel As Integer) If DCount("*", "Table1", "[id]=" & Me![List0].Column(1)) > Then DoCmd.OpenForm "Table1", , , "[id]=" & Me![List0].Column(1) ElseIf DCount("*", "Table11", "[id]=" & Me![List0].Column(1)) > Then DoCmd.OpenForm "Table11", , , "[id]=" & Me![List0].Column(1) ElseIf DCount("*", "Table12", "[id]=" & Me![List0].Column(1)) > Then DoCmd.OpenForm "Table12", , , "[id]=" & Me![List0].Column(1) End If End Sub جعفر
  15. السلام عليكم أخي نبيل البرنامج السابق اصبح يعمل بالطريقة التي تشاهدها ، بسبب الكائنات اللي فيه والجداول ، انت في برنامجك ، حذفت احد هذه الجداول ، فكيف سيعمل البرنامج!! انت عندك نموذجين ، والنموذجين لنفس الجدول ، بس انت تدخل معلومة معينه عن طريق نموذج ، ثم تريد ان تُكمل ادخال البيانات عن طريق النموذج الاخر!! ارجع لأصل البرنامج ، واصلح الوضع ، وبعدين اخبرنا اين تريد المساعدة والاخ بدر (co2002co) يستطيع مساعدتك ، لأنه صاحب البرنامج الاصل جعفر
  16. نعم في استعلام التقرير فقط ، بهذه الحالة ، استعلام التقرير سيكون فيه 4 معايير: اسم المريض ، التاريخ ، Print_This ، واسم الدكتور. واذا عملت هذه الطريقة ، فيجب ان يكون نموذج الصيدلي يحتوي على مربع سرد فيه اسماء الدكاترة ، بحيث يستطيع طباعة التقرير باسم كل دكتور على حده ، او كل الدكاترة مع بعض جعفر
  17. True = -1 False = 0 هذا بالنسبة الى حقل نعم/لا ، وتقدر تستخدم اي طريقة منهم اذا كان كل دكتور له اسم مستخدم ، فتستطيع: تدمج بين الطريقة اعلاه ، واسم الدكتور في معيار استعلام التقرير ، ويدويا الصيدلي يختار الدواء ، اذا تم صرفه سابقا. حياك الله جعفر
  18. السلام عليكم هذه هي الطريقة رقم 2 ، والتي قلت لك في الرابط السابق (وانا لا انصحك بهذا) ، وعادة انا لا اقدم حل انا غير مقتنع فيه ، ولكنك مُصر عليه : وللعلم ، فقد عملت التغييرات التالية على البرنامج (حتى تستطيع ان تنقل هذه التغييرات الى برنامجك النهائي): 1. إضافة الحقل Print_This . 2. إضافة الحقل Print_This ، في الاستعلامين qry_Patient_Drugs و qry_Patient_Drugs_rpt وعمل معيار للطباعة وهو Print_This=-1 ، 3. إضافة السطر التالي في الكود: . 4. وتغيير هذا الكود بالكامل: Private Sub cmd_Report_1_Click() On Error GoTo err_cmd_Report_1_Click 'subform Recordset Dim rst As DAO.Recordset Set rst = Me.sfrm_Patient_Drugs.Form.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount If RC = 0 Then MsgBox "Nothing to Print" rst.Close: Set rst = Nothing Exit Sub End If 'print Report DoCmd.OpenReport "rpt_Patient_Drugs", acViewPreview 'Reset Print_This For i = 1 To RC If rst!Print_This = -1 Then rst.Edit rst!Print_This = 0 rst.Update End If rst.MoveNext Next i rst.Close: Set rst = Nothing Exit Sub err_cmd_Report_1_Click: If Err.Number = 3021 Then 'ignor Exit Sub Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub والطريقة التي يعمل فيها البرنامج: عند إضافة دواء ، فالسجل سيكون جاهز للطباعة (Print_This=-1) ، واذا اردت طباعة ادوية قديمة ، فضع علامة صح على الحقل Print_This (ستجد هذا الحقل في اقصى يمين النموذج الفرعي) ، وعند الضغط على زر الطباعة ، سترى السجلات المطلوبة في التقرير ، ولكن عند اغلاقك للتقرير لن يمكنك طباعة هذه السجلات مرة اخرى ، لأننا جعلنا Print_This=0 . لذا يجب عليك ان تغير امر طباعة التقرير ، فلا يكون معاينة ، وإنما يكون طباعة مباشرة. جعفر 345.Medication.accdb.zip
  19. السلام عليكم عندي اقتراحين لحل الموضوع: 1. بما انه هناك اكثر من دكتور ، فتستطيع ان تربط الطباعة بإسم الدكتور كذلك ، يعني التقرير سيُطبع على اساس المعايير التالية: اسم المريض ، تاريخ الزيارة ، واسم المريض. 2. وهذا ما اقترحته لك في الموضوع السابق ، وسأعمل عليه الآن: جعفر
  20. وهذا هو الرابط: جعفر
×
×
  • اضف...

Important Information