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

jjafferr

أوفيسنا
  • Posts

    9,871
  • تاريخ الانضمام

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

  • Days Won

    403

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

  1. الطريقة اللي انا استعملها هي: في اول نموذج يفتح في برنامجك ، في النموذج1 ، في الحدث عند التحميل ، نحط الكود التالي: docmd.maximize وجميع النماذج ما تكون منبثقة ، واستخدام هذه الطريقة: http://www.officena.net/ib/index.php?showtopic=60864&p=391815 تكون النتيجة مثل ما طلبتي جعفر 56.قاعدة بيانات1.accdb.zip
  2. تفضلي 56.قاعدة بيانات1.accdb.zip
  3. كما توقعت ، النموذج لم يُغلق ، فعليه ، القيمة السابقه لا تزال موجودة!! غيري الكود الموجود عندك ، بهذا الكود: نموذج1 Private Sub أمر0_Click() DoCmd.OpenForm "استعلام1", acNormal 'Me.Visible = False End Sub ولنموذج الاخر ، استعلام1: Private Sub أمر6_Click() 'DoCmd.OpenForm "نموذج1", acNormal 'Me.Visible = False DoCmd.Close End Sub جعفر
  4. السلام عليكم جربت الكود ، وكله تمام (في الكود وما جربت الارقام) بس علشان الفقرة الاخيرة مال 203 ، أضفت السطر الاخير في الكود: Private Sub Command6_Click() NA = Sallary * 0.04 * Years If NA > Sallary * 0.5 Then NA = Sallary * 0.04 * Years Else NA = Sallary * 0.5 End If If NA > Sallary * 0.8 Then NA = Sallary * 0.8 End If If NA < 203 Then NA = 203 End Sub جعفر
  5. أفضل شئ ممكن تعمليه ، انك ترفقين هذا الجزء من البرنامج: 1. الاستعلام 2. النموذج 3. سجلين او 3 في الجدول وعليه نشوف وين المشكلة جعفر
  6. وعليكم السلام أختي عند الاستعلام مرة ثانية ، هل النموذج الاول مقفل؟ رجاء ان تعطينا تفصيل أكثر ، حيث بدون البرنامج ، يجب ان نعرف تفاصيل أكثر جعفر
  7. السلام عليكم ورحمة الله وبركاته رحم الله والديك أخي أبومحمد على العمل الجميل ، تسلم ايدك اذا تسمحوا لي بالمشاركة ايش رايكم بهذا النموذج: بتعديل بسيط على الكود السابق اللي اشتغلتوا عليه ، المادة رقم 1 ، تمسح جميع افرع الشجرة ، حتى يبدأ الكود بعمل الازم: وهاي علشان نخلي الشجرة تُعرض من اليمين الى اليسار: بالاضافة الى هذه الوحدة النمطية: Option Compare Database Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long Public Const GW_CHILD = 5 Public Const WS_EX_LAYOUTRTL = &H400000 Public Const GWL_EXSTYLE = (-20) ' ' From http://www.microsoft.com/middleeast/msdn/faq.aspx ' 'Place OnLoad of the Form ' Dim OldLong As Long 'For Form ' OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE) ' SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For List ' OldLong = GetWindowLong(List1.hwnd, GWL_EXSTYLE) ' SetWindowLong List1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For The StatusBar ' OldLong = GetWindowLong(StatusBar1.hwnd, GWL_EXSTYLE) ' SetWindowLong StatusBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For TreeView ' Dim nodX As Node ' Set nodX = TreeView1.Nodes.Add(, , "R", "Root") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Child 1") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C2", "Child 2") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C3", "Child 3") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C4", "Child 4") ' nodX.EnsureVisible ' OldLong = GetWindowLong(TreeView1.hwnd, GWL_EXSTYLE) ' SetWindowLong TreeView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ListView ' OldLong = GetWindowLong(ListView1.hwnd, GWL_EXSTYLE) ' SetWindowLong ListView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ProgressBar ' ProgressBar1.Value = 50 ' OldLong = GetWindowLong(ProgressBar1.hwnd, GWL_EXSTYLE) ' SetWindowLong ProgressBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ToolBar ' mhwnd = GetWindow(Toolbar1.hwnd, GW_CHILD) ' OldLong = GetWindowLong(mhwnd, GWL_EXSTYLE) ' SetWindowLong mhwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False جعفر 54.TreeView_RTL.accdb.zip
  8. كلامك صحيح :-) هذه تسمى نسخة الموبايل ، و في اسفل الصفحة زر اسمه "النسخة الكاملة" حيث تستطيع ان ترى نفس النسخة التي على الكمبيوتر :-) جعفر
  9. وعليكم السلام :-) 1. البرنامج يأخذ جميع الحقول في الجداول او الاستعلامات ، فحذف الاستعلامات لن يزيد في أي شئ :-) 2. البرنامج يأخذ المسميات التوضيحية لكل حقل ويعرض هذا المسمى لاعمدة التقارير ، فإذا لم توجد هذه المسميات ، يستخدم اسم الحقل. 3. وأخيرا ، صحيح أن النموذج يأخذ أسماء الحقول من اليسار إلى اليمين ، لكن التقارير هي من اليمين إلى اليسار ، والعمود الأول الأقصى على اليمين هو الرقم التسلسلي لكل سجل :-) جرب ، وأخبرني عن ملاحظاتك :-) جعفر
  10. السلام عليكم أخي كريمو رجاء اعطني الخطوات التي تتبعها لعمل قرض ، فالنفرض لجعفر ، قرض Cridi و Electro.... و others شكرا جعفر
  11. كأنّ حد جاب طاري إسمي اي ابوي ، انت الحين صرت غير عنّا إحنا المساكين ، صرت فوق السحاب تشم النسيم العليل ، بس إحنا صامدين مع النخل تستاهلون أخوي رمهان ، وأخوي أبا عمر ، واللي كتبوه عنكم ترى قليل ، بس ذاقوا القشرة ، وما وصلوا للب جعفر
  12. حياك الله أخي رجاء اترك لي ملاحظة في الموضوع اعلاه ، حتى لما اعمل النسخة التالية من البرنامج ، تكون على دراية بالموضوع جعفر
  13. وعليكم السلام وحيا الله أخي عبدالرحمن هناك طريقتين لعمل المطلوب ، وأخي عبدالرحمن شرح الطريقة الاولى ، والطريقة الثانية: في 99.9% من برامجي ، انا لا استخدم منبثق ولا شكلي او مشروط الطريقة هي ، اختر الاختيار الذي عليه السهم: جعفر
  14. زين الحمدلله جانا المشرف شخصيا ، أبا عمر واللي يرحم والديك شوف لي هالموضوع ، ترى هذا الموضوع تعبني شخصيا ، واضطررت ان اعمل قانون خاص بي للمنتدى ، قلت فيه: على هذا الرابط http://www.officena.net/ib/index.php?showtopic=60448&p=388352 والحمدلله في هذا الموضوع ، المكان كان بدون شيش وقت الشغل جعفر
  15. السلام عليكم اخي كريمو انا بعد دقائق سأبدأ العمل على برنامجك إن شاء الله :-) جعفر
  16. أختي الفاضلة بحثت في المنتدى بجملة "شريط متحرك" ووجدت الكثير من المواضيع مع امثلة جعفر
  17. وعليكم السلام انا اتصفح الموقع من هاتفي في الكثير من الاحيان ، باستخدام متصف الهاتف ، سواء chrome او FireFox او اي متصفح آخر جعفر
  18. تفضل شئ قديم من مكتبتي ، بتعديل للمطلوب جعفر 53-Word_Print.zip
  19. وعليكم السلام جرب "مسقط التقارير" http://www.officena.net/ib/index.php?showtopic=59415 جعفر
  20. ونِعم المُكلف المسؤول بارك الله فيك ، وخطوة جبارة للأمام ان شاء الله جعفر
  21. السلام عليكم أخي وائل اعتذر عن التأخير في الرد انت الآن قسمت الاصناف عندك الى 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
  22. تفضل واعتذر عن التأخير الكود الجديد: 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
  23. من قدّك يا رمهان ومثل ما نحن العمانيين نقول: صرت فوق النخل جعفر
  24. السلام عليكم أفضل طريقة: ان يضع الاخ ssm الكود هنا ، مع إخبارنا ببقية التغييرات التي قام بها على برنامجه ، ويقوم الاخ soft.sample بنسخ جميع هذه الاشياء الى برنامجه هذا اللي انا عملته في احد مشاركاتي السابقة ، وتمت بنجاح جعفر
×
×
  • اضف...

Important Information