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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. وعليكم السلام مع ان الطلب غريب ، لأنك تستخدم نموذج زيادة ولكن اليك الكود: Private Sub أمر18_Click() DoCmd.OpenForm "computer1", , , "[السريال نمبر]='" & Me.[السريال نمبر] & "'" End Sub جعفر 352.عمر الجهاز.accdb.zip
  2. وعليكم السلام أخوي ابوحاتم 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
  3. وعليكم السلام عملت استعلام للجدول 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
  4. وعليكم السلام اضف هذا الكود الى عمود جديد في الاستعلام: A: IIf([Degree]-Int([Degree])<0.5,Int([Degree]),Int([Degree])+0.5) هكذا: . والنتيجة: . جعفر 349.تقريب للنصف أو الواحد الصحيح.mdb.zip
  5. وعليكم السلام الخطأ في الكود انك عاملت الحقل 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 جعفر
  6. السلام عليكم اخي نبيل مادمت متابع عمل البرنامج الاصلي ، فهذا آخر تحديث عليه: سألتك: وانت اجبت: ولكنك وللأسف ما انتبهت لأهم حقل في الجدول الذي حذفته: . هذا الجدول يجب ان يكون اسمه المبيعات/الصرف بالنسبة الى برنامجك ، وهذا الحقل يجب ان يكون حقل "كود الصنف" من جدول المخزونات ، فجدول المخزونات فيه معلومات المواد ، ولكنك تريد ان تصرف المواد وتبيعها ، لذلك يجب ان يكون عندك الجدول الآخر جعفر
  7. حيا الله أخي كرار عملي مبني على: جعفر
  8. كأنه كان اختبار لنا ، ونجحت فيه ، هيييييه حياك الله
  9. السلام عليكم شباب وحيا الله السيد الجوهري ، ما عرفتك بإسمك الجديد اخي الاستاذ عبدالله قدور يتكلم من خبرة في مجال عمله ، فالنظر الى ما يقوله قد يساعدك في برنامجك على المدى البعيد اما انا فلا افهم في المحاسبة ، وانظر للبرنامج من جانب البرمجة فقط وقد يكون الحل هو: 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 جعفر
  10. السلام عليكم أخي نبيل البرنامج السابق اصبح يعمل بالطريقة التي تشاهدها ، بسبب الكائنات اللي فيه والجداول ، انت في برنامجك ، حذفت احد هذه الجداول ، فكيف سيعمل البرنامج!! انت عندك نموذجين ، والنموذجين لنفس الجدول ، بس انت تدخل معلومة معينه عن طريق نموذج ، ثم تريد ان تُكمل ادخال البيانات عن طريق النموذج الاخر!! ارجع لأصل البرنامج ، واصلح الوضع ، وبعدين اخبرنا اين تريد المساعدة والاخ بدر (co2002co) يستطيع مساعدتك ، لأنه صاحب البرنامج الاصل جعفر
  11. نعم في استعلام التقرير فقط ، بهذه الحالة ، استعلام التقرير سيكون فيه 4 معايير: اسم المريض ، التاريخ ، Print_This ، واسم الدكتور. واذا عملت هذه الطريقة ، فيجب ان يكون نموذج الصيدلي يحتوي على مربع سرد فيه اسماء الدكاترة ، بحيث يستطيع طباعة التقرير باسم كل دكتور على حده ، او كل الدكاترة مع بعض جعفر
  12. True = -1 False = 0 هذا بالنسبة الى حقل نعم/لا ، وتقدر تستخدم اي طريقة منهم اذا كان كل دكتور له اسم مستخدم ، فتستطيع: تدمج بين الطريقة اعلاه ، واسم الدكتور في معيار استعلام التقرير ، ويدويا الصيدلي يختار الدواء ، اذا تم صرفه سابقا. حياك الله جعفر
  13. السلام عليكم هذه هي الطريقة رقم 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
  14. السلام عليكم عندي اقتراحين لحل الموضوع: 1. بما انه هناك اكثر من دكتور ، فتستطيع ان تربط الطباعة بإسم الدكتور كذلك ، يعني التقرير سيُطبع على اساس المعايير التالية: اسم المريض ، تاريخ الزيارة ، واسم المريض. 2. وهذا ما اقترحته لك في الموضوع السابق ، وسأعمل عليه الآن: جعفر
  15. وهذا هو الرابط: جعفر
  16. السلام عليكم استخدم هذا الكود في الحدث "بعد التحديث" ، لحقل رقم الدليل المحاسبي : Private Sub Daleel_Calc_AfterUpdate() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From TBL2 Where [Daleel_Calc]='" & Me.Daleel_Calc & "'") If rst.RecordCount <> Then Me.Mostnd_Num = rst!Mostnd_Num Me.Mostnd_Date = rst!Mostnd_Date Me.Notes = rst!Notes End If rst.Close: Set rst = Nothing End Sub If rst.RecordCount <> 0 Then جعفر 344.Current_CostProg.mdb.zip
  17. السلام عليكم اخوي بدر ، آخر مشاركة لي في المنتدى كانت مشاركتي السابقة ، وبعدها رحت المطار ، ولازلت على سفر رجاء ارفق برنامجك اللي تريد ان اضيف لك فيه: ويوم الاثنين ان شاء الله انظر فيه جعفر
  18. السلام عليكم أخي حلبي استبدل عنصر الشجرة اللي عندك ، بالعنصر الموجود في هذا البرنامج ، لعله يعمل جعفر
  19. وعليكم السلام أخوي بدر حياك الله ، ان شاء الله تكون بصحة وعافية ، ونحن الحمدلله بخير من نعم الباري علينا وبعد السلام: مافي شئ اسمه طباعة سابقة وطباعة لاحقة ، وانما طباعة سجلات ، لهذا السبب ، اللي حاصل عندك شئ جدا طبيعي ، وبما اننا عملنا معيار الطباعة هو اسم المريض ، والتاريخ ، فطبيعي كل الوصفات تكون في الطباعة بس الظاهر ان سؤالك غير مكتمل ، وانما اعطيتنا جزئية من المشكلة ، فمن غير المنطقي ان نحصل على وصفة اليوم ، ثم يصرفها الصيدلي ، ثم نذهب للدكتور لإعطائنا وصفة اضافية بعدها على طول في نفس اليوم!! اذا اردت تحديد كل وصفة تريد طباعتها (وانا لا انصحك بهذا) ، فيمكنك عمل حقل جديد للوصفة بمسمى Print_This مثلا ، حقل نعم/لا ، ثم تضيفها في نموذج الوصفة ، وتعمل معيار لإستعلام التقرير ، ان سجلات المريض الفلاني ، في اليوم الفلاني ، واللي فيها Print_This = -1 ، اطبعها ، وبعد الطباعة لازم تعمل استعلام تصفية Print_This = -1 الى Print_This = 0 ، حتى تكون مستعد لطباعة اي وصفة جديدة. جعفر
  20. تفضل يا سيدي الفاضل الكود: Private Sub TreeView1_NodeClick(ByVal Node As Object) On Error GoTo err_TreeView1_NodeClick 'lblItemCode.Caption = "" 'If Node.Key <> "Root" Then ' lblItemCode.Caption = Mid(Node.Key, InStr(Node.Key, "_") + 1) 'End If 'lblPath.Caption = Node.FullPath ' Dim colon As Integer ' colon = InStr(Node.Text, ":") ' Me.txt3 = Mid(Node.Text, 1, colon - 1) ' Me.Txt4 = Mid(Node.Text, colon + 1) ' colon = InStr(Node.Child, ":") ' If colon = 0 Then ' Me.txt1 = Val(Mid(Node.Child, 1, colon - 1)) + Node.Children ' Me.txt1 = "" ' Else ' Me.txt1 = Val(Mid(Node.Child, 1, colon - 1)) + Node.Children ' End If If Node.Text = "فتح نموذج frm1" Then DoCmd.OpenForm "frm1" ElseIf Node.Text = "فتح نموذج frm2" Then DoCmd.OpenForm "frm2" End If On Error Resume Next Debug.Print "node.Child; " & Node.Child Debug.Print "node.Children; " & Node.Children Debug.Print "node.Expanded; " & Node.Expanded Debug.Print "node.FirstSibling; " & Node.FirstSibling Debug.Print "node.FullPath; " & Node.FullPath Debug.Print "node.Index; " & Node.Index Debug.Print "node.Key; " & Node.Key Debug.Print "node.LastSibling; " & Node.LastSibling Debug.Print "node.Next; " & Node.Next Debug.Print "node.Parent; " & Node.Parent Debug.Print "node.Previous; " & Node.Previous Debug.Print "node.Root; " & Node.Root Debug.Print "node.Selected; " & Node.Selected Debug.Print "node.Sorted; " & Node.Sorted Debug.Print "node.Tag; " & Node.Tag Debug.Print "node.Text; " & Node.Text Debug.Print "----------------------" Exit Sub err_TreeView1_NodeClick: If Err.Number = 91 Then colon = Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 342.AZ_TreeView_ListBox.accdb.zip
×
×
  • اضف...

Important Information