اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام وحيا الله أخي عبدالرحمن هناك طريقتين لعمل المطلوب ، وأخي عبدالرحمن شرح الطريقة الاولى ، والطريقة الثانية: في 99.9% من برامجي ، انا لا استخدم منبثق ولا شكلي او مشروط الطريقة هي ، اختر الاختيار الذي عليه السهم: جعفر
  2. زين الحمدلله جانا المشرف شخصيا ، أبا عمر واللي يرحم والديك شوف لي هالموضوع ، ترى هذا الموضوع تعبني شخصيا ، واضطررت ان اعمل قانون خاص بي للمنتدى ، قلت فيه: على هذا الرابط http://www.officena.net/ib/index.php?showtopic=60448&p=388352 والحمدلله في هذا الموضوع ، المكان كان بدون شيش وقت الشغل جعفر
  3. السلام عليكم اخي كريمو انا بعد دقائق سأبدأ العمل على برنامجك إن شاء الله :-) جعفر
  4. أختي الفاضلة بحثت في المنتدى بجملة "شريط متحرك" ووجدت الكثير من المواضيع مع امثلة جعفر
  5. وعليكم السلام انا اتصفح الموقع من هاتفي في الكثير من الاحيان ، باستخدام متصف الهاتف ، سواء chrome او FireFox او اي متصفح آخر جعفر
  6. تفضل شئ قديم من مكتبتي ، بتعديل للمطلوب جعفر 53-Word_Print.zip
  7. وعليكم السلام جرب "مسقط التقارير" http://www.officena.net/ib/index.php?showtopic=59415 جعفر
  8. ونِعم المُكلف المسؤول بارك الله فيك ، وخطوة جبارة للأمام ان شاء الله جعفر
  9. السلام عليكم أخي وائل اعتذر عن التأخير في الرد انت الآن قسمت الاصناف عندك الى 3 مجموعات: المطعم ، المشروبات ، الشيشة. ولكن مافي عندنا طريقة نعرف نربط الصنف بالمجموعة !! لذلك ، اقترح عليك عمل حقل جديد في جدول Tmenu وتسميه Item_Group ، وفيه نكتب اسم المجموعة لكل صنف ، هكذا: ونضيف الحقل في الاستعلام Qorder والذي يغذي النموذج: ثم نضيفه للنموذج مخفيا: وهذه الاضافة على كود فتح التقارير: ليطلع التقرير هكذا: الى هنا وانتهى سؤالك اما انا ، فاردت من النموذج ان اعرف عدد كل مجموعة (يعني كم مادة للمطعم مثلا) ، فاستخدمت الوحدة النمطية RowCounter ، واللي كاتبها أحد اصدقائي القدامى: Option Compare Database Option Explicit Public Function RowCounter( _ ByVal strKey As String, _ ByVal booReset As Boolean, _ Optional ByVal strGroupKey As String) _ As Long ' Builds consecutive RowIDs in select, append or create query ' with the possibility of automatic reset. ' Optionally a grouping key can be passed to reset the row count ' for every group key. ' ' Usage (typical select query): ' SELECT RowCounter(CStr([ID]),False) AS RowID, * ' FROM tblSomeTable ' WHERE (RowCounter(CStr([ID]),False) <> RowCounter("",True)); ' ' Usage (with group key): ' SELECT RowCounter(CStr([ID]),False,CStr([GroupID])) AS RowID, * ' FROM tblSomeTable ' WHERE (RowCounter(CStr([ID]),False) <> RowCounter("",True)); ' ' The Where statement resets the counter when the query is run ' and is needed for browsing a select query. ' ' Usage (typical append query, manual reset): ' 1. Reset counter manually: ' Call RowCounter(vbNullString, False) ' 2. Run query: ' INSERT INTO tblTemp ( RowID ) ' SELECT RowCounter(CStr([ID]),False) AS RowID, * ' FROM tblSomeTable; ' ' Usage (typical append query, automatic reset): ' INSERT INTO tblTemp ( RowID ) ' SELECT RowCounter(CStr([ID]),False) AS RowID, * ' FROM tblSomeTable ' WHERE (RowCounter("",True)=0); ' ' 2002-04-13. Cactus Data ApS. CPH ' 2002-09-09. Str() sometimes fails. Replaced with CStr(). ' 2005-10-21. Str(col.Count + 1) reduced to col.Count + 1. ' 2008-02-27. Optional group parameter added. ' 2010-08-04. Corrected that group key missed first row in group. Static col As New Collection Static strGroup As String On Error GoTo Err_RowCounter If booReset = True Then Set col = Nothing ElseIf strGroup <> strGroupKey Then Set col = Nothing strGroup = strGroupKey col.Add 1, strKey Else col.Add col.Count + 1, strKey End If RowCounter = col(strKey) Exit_RowCounter: Exit Function Err_RowCounter: Select Case Err Case 457 ' Key is present. Resume Next Case Else ' Some other error. Resume Exit_RowCounter End Select End Function Public Function Reset_RowCounter() Call RowCounter(vbNullString, False) End Function أضفت حقل RowID ليقرأ هذه الوحدة النمطية ، في الاستعلام Qorder وأضفت الحقل الى النموذج ، وعملت له تنسيق مشروط (علشان لون ارقام التسلسل تتماشى مع الوان ازرار التقرير ) بهذه المعادلة في التنسيق الشرطي: فاصبح التنسيق الشرطي للالوان الثلاث هكذا: والنتيجة اصبحت: 1. يوجد رقم تسلسلي للمطعم ، وتسلسل آخر للمشروبات ، وتسلسل آخر للشيشة ، 2. لون ارقام التسلسل ، هو نفس لو زر طباعة التقارير صافي يالبن جعفر 52.AAA.mdb.zip
  10. تفضل واعتذر عن التأخير الكود الجديد: Private Sub Civil_Status_AfterUpdate() Call calc_Benefits End Sub Private Sub Period_AfterUpdate() Call calc_Benefits End Sub Private Sub s_AfterUpdate() Call calc_Benefits End Sub Private Sub Working_Retired_AfterUpdate() Call calc_Benefits End Sub Function calc_Benefits() 's = الراتب 'M = المكافأة '"موظف";"متقاعد" 'check if salary is inserted If Len(Me.s & "") = 0 Then MsgBox "Please insert the Salary" Me.s.SetFocus Exit Function End If 'check if period is inserted If Len(Me.Period & "") = 0 Then MsgBox "Please insert the Period" Me.Period.SetFocus Exit Function End If Me.M = 0 'do the calculations Select Case Me.Civil_Status Case 1 'مدني If Me.Working_Retired = "موظف" Then If Me.Period >= 6 Then Me.M = Me.s * 1 Else Me.M = Me.s * 0.5 End If ElseIf Me.Working_Retired = "متقاعد" Then If Me.Period >= 6 Then Me.M = Me.s * 0.75 Else Me.M = Me.s * 0.7 End If End If Case 2 'عسكري If Me.Working_Retired = "موظف" Then If Me.Period >= 6 Then Me.M = Me.s * 2 Else Me.M = Me.s * 1.5 End If ElseIf Me.Working_Retired = "متقاعد" Then If Me.Period >= 6 Then Me.M = Me.s * 0.8 Else Me.M = Me.s * 0.6 End If End If End Select End Function جعفر 51.1.Database3.accdb.zip
  11. من قدّك يا رمهان ومثل ما نحن العمانيين نقول: صرت فوق النخل جعفر
  12. السلام عليكم أفضل طريقة: ان يضع الاخ ssm الكود هنا ، مع إخبارنا ببقية التغييرات التي قام بها على برنامجه ، ويقوم الاخ soft.sample بنسخ جميع هذه الاشياء الى برنامجه هذا اللي انا عملته في احد مشاركاتي السابقة ، وتمت بنجاح جعفر
  13. السلام عليكم أخي كريمو أعتذر عن التأخر في الرد ، كان عندنا فرح وضيوف ، وبعيد عن الانترنت إلا قبل النوم إن شاء الله اواصل الموضوع معاك ، ولكن بطريقة الجدول التي اقترحتها عليك ، لأني اعتقد بأنه أفضل حل جعفر
  14. حيا الله أخوي أبوآلآء بالنسبة لي انا شخصيا ، انت عضو شرف وعلى راسي من زمان بالبركة إن شاء الله جعفر
  15. حياك الله أخوي السالم بعض الكود يكتب كما هو وبدون النظر الى تفاصيله ، ومن ضمنها هذا الكود وخصوصا الكود الذي له علاقة بـ Windows API فلا تدوخ راسك فيها ، سوي مثلي وانسخ والصق جعفر
  16. السلام عليكم انا كذلك جربت مرفق الاخ السيد الجوهري وكله تمام انا عملت كود ثاني اللي ممكن نجربه وهو: Set rst = Forms!Form1![Table1 subform].Form.Recordset rst.FindFirst "[id]=" & Me.Text0 DoCmd.Close acForm, "Form2" جعفر
  17. احذف مسار الملف من الجدول (يعني لا تحفظ مسار الصورة في الجدول) ، واربط الصورة برقم الموظف باسم المجلد انا اتعامل مع جميع برامجي بهذه الطريقة جعفر
  18. أختي ، استعملي برنامجي ، ولكل نموذج ، على حدث التحميل ، استعملي هذا الامر (رجاء القراءة عنه في للفائدة وطريقة الاستعمال): docmd.MoveSize (right,down,width,height) مثلا DoCmd.MoveSize 1440, 2400, , 2000 وهذه معلومة من الاكسس عن الامر: جعفر
  19. الشكر لك انتي أختي ، نفسك كان طويل ، وكنتي حابه تتعلمين ، وكل اللي كان ينقصك ، المعلومة وطرف الخيط , ومنها انطلقتي بتجربتك وبنجاحك جعفر
  20. حيا الله اولاد عمي الشباب هاي النتائج: وهاي الكود: Private Sub Civil_Status_AfterUpdate() Call calc_Benefits End Sub Private Sub Working_Retired_AfterUpdate() Call calc_Benefits End Sub Function calc_Benefits() 's = الراتب 'M = المكافأة '"موظف";"متقاعد" 'check if salary is inserted If Len(Me.s & "") = 0 Then MsgBox "Please insert the Salary" Me.s.SetFocus Exit Function End If 'do the calculations Select Case Me.Civil_Status Case 1 'مدني If Me.Working_Retired = "موظف" Then Me.M = Me.s Else Me.M = Me.s * 0.75 End If Case 2 'عسكري If Me.Working_Retired = "موظف" Then Me.M = Me.s * 2 Else Me.M = Me.s * 0.8 End If End Select End Function 51.Database3.accdb.zip
  21. حيا الله أنس ربي يوفقك ومن احببت ، دنيا وآخره إن شاء الله جعفر
  22. لا تطبعين النموذج ، حولي النموذج الى تقرير (لاحظي الخطوات في الاسفل) ، واطبعيه جعفر
  23. وعليكم السلام أخي وائل لوسمحت تعطي توضيح بمثال اول مثالين ، وياريت بالصور او بالاكسل (لأني بصراحة ما فهمت المطلوب حسب شرحك ) جعفر
  24. وعليكم السلام انتي تتحكيمن في عرض التقرير زيدي في عرضه ، فيصبح افقي واذا ما عندك حقول تملئين فيها التقرير بالعرض ، زحفي الحقل الى منتصف التقرير جعفر
×
×
  • اضف...

Important Information