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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وانا ارحب بأخي رمهان ، واشاركه الرأي بطلب الكود ، للفائدة جعفر
  2. هذا نقلا عن الرابط https://www.pcreview.co.uk/threads/basic-difference-between-visual-basic-6-and-microsoft-access-vba.3034726/ 1. طريقة المعادلات والوحدات النمطية هي نفسها ، وبسبب ظهور vb للعالم قبل الاكسس ، فهناك الكثير من حلول vb والتي نستفيد منها في الاكسس ، 2. طريقة التعامل مع كائنات النموذج تقريبا نفسها ، ولكن الحدث يوجد فيه فرق ، وطريقة قراءة اعدادات كائنات النموذج تختلف قليلا ، وvb لا يملك نماذج فرعية كما في الاكسس ، والتعامل مع هذه البيانات الفرعية ليست بسهولة الاكسس ، 3. لا توجد تقارير في vb ، 4. لا تحتوي على وضع التصميم للجدول والاستعلام كما في الاكسس ، 5. الاكسس مهيأ ليتعامل مع البيانات ، ولكني الذي فهمته من سؤالك والذي جوابه النقطة 1 من جوابي اعلاه جعفر
  3. عفوا اخي ابوخليل ، لم الحظ ردك كانت الصفحة عندي مفتوحة لفترة طويلة اختي رجاء اعطني مثال من برنامجك عن كيف تريدين الجمع والنتيجة ، حتى نحاول نتبعها ونصل الى الذي تريدين جعفر
  4. وعليكم السلام تم تغيير اعدادات الحقل ID الى السماح بالتكرار ، وتفضل الكود ، والذي يشتغل بعد ان تُدخل قيمة الحقل Type في النموذج: Private Sub Type_AfterUpdate() Me.ID = Nz(DMax("[ID]", "Table1", "[Type]='" & Me.Type & "'"), 0) + 1 End Sub بس ملاحظة ، الموضوع غير متوقف على المادتين اللي ذكرتهم ، بل اذا اضفت اي مادة جديدة ، سوف يكون لها تسلسل مستقل. جعفر 718.db1.accdb.zip
  5. أخي وائل رجاء الالتزام بقوانين المنتدى ، كما نحن نلتزم به ، وقد كتبت لي على الخاص بأني حذفت احد مشاركاتك ، ولكني لم افعل ، والمشرفون الآخرون تصرفوا بها لأنها مشاركة في غير محلها ، عيناً كما هي مشاركتك هذه ، اما الآن ، فانا الذي تصرفت مع مشاركتك الاخير ، والخارجة عن اطار هذا الموضوع ، مشاركة في غير محلها. . جعفر
  6. وعليكم السلام انا لم اتدخّل في البرنامج/الكود ، ولا في تقريب الارقام ، إلا في التالي: . وهذا هو الكود Private Sub أمر8_Click() Dim strSQL As String Dim Add_it As Double strSQL = "DELETE G2.[رقم القسط], G2.رقم, G2.التاريخ, G2.المبلغ, G2.[المبلغ كتابه] FROM G2 WHERE (((G2.رقم)=[FORMS]![f1]![رقم]));" DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings False Me.Requery DoCmd.GoToRecord , , acFirst For i = 0 To Forms![f1]![qastno] - 1 Me.رقم = Forms![f1]![رقم] Me.التاريخ = DateAdd("m", i, Forms![f1]![Date]) Me.المبلغ = Round(Forms![f1]![المبلغ] / Forms![f1]![qastno], 2) Add_it = Add_it + Nz(Me.المبلغ, 0) Me.المبلغ_كتابه = NoToTxt(Me.المبلغ, "ريال سعودي", "سنتيم") DoCmd.GoToRecord , , acNext Next 'Debug.Print Forms![f1]![المبلغ] & " >> " & Add_it If Add_it <> Forms![f1]![المبلغ] Then DoCmd.GoToRecord , , acNewRec Me.رقم = Forms![f1]![رقم] Me.التاريخ = DateAdd("m", i, Forms![f1]![Date]) Me.المبلغ = Forms![f1]![المبلغ] - Add_it Me.المبلغ_كتابه = NoToTxt(Me.المبلغ, "ريال سعودي", "سنتيم") End If DoCmd.Requery End Sub . جعفر
  7. وعليكم السلام تفضل . وهذا هو الكود Private Sub cmd_Next_Page_Click() On Error Resume Next Me.TabCtl0.Value = Me.TabCtl0.Value + 1 End Sub Private Sub cmd_Previous_Page_Click() On Error Resume Next Me.TabCtl0.Value = Me.TabCtl0.Value - 1 End Sub Private Sub cmd_lock_bbb_Click() Me.TabCtl0.Pages("bbb").Enabled = False End Sub Private Sub cmd_unlock_bbb_Click() Me.TabCtl0.Pages("bbb").Enabled = True End Sub جعفر 716.Tapages.accdb.zip
  8. وعليكم السلام 1. نعم تتشابه ، ولكن ليس 100% ، وهناك اوامر خاصة بالاكسس والتي لا توجد في VB ، 2. استعمل خاصية البحث لتجد بعض المواضيع التي تناقش طلبك جعفر
  9. السلام عليكم انا عملت بعض التعديلات ، وحذفت التاريخ من الربط بين النموذج الرئيسي والفرعي ، فرجاء تشوف اذا هذه النتيجة اللي تريدها جعفر 696.1.المستخدمين.accdb.zip
  10. وعليكم السلام هناك طريقة سهلة لهذا العمل واسمها "التنسيق الشرطي Condtional Formating" ، ولكنها لا تعمل الزر ، وانما على الحقول ، وهذه الروابط تشرح لك الطريقة جعفر
  11. رجاء توضع المرفق اللي انت اشتغلت عليه ، علشان نعمل التغيير عليه ، فالمرفق اعلاه مافيه تقرير. جعفر
  12. وعليكم السلام جرب هذا الكود Function Add_Sum() Me.sumation = Nz(Me.arab, 0) + Nz(Me.forgen, 0) End Function Private Sub arab_AfterUpdate() Call Add_Sum End Sub Private Sub forgen_AfterUpdate() Call Add_Sum End Sub Private Sub year_AfterUpdate() Me.id = Nz(DMax("[id]", "id", "[Glose]=" & [Forms]![main]![Glose]), 0) + 1 End Sub جعفر
  13. انا اعتذر عن مواصلة هذا الموضوع جعفر
  14. انا اعطيتك نصيحتي ، وانت صاحب البرنامج ، فاعمل ما تراه مناسبا ، والله سبحانه وتعالى أسأل ان يوفقك جعفر
  15. 1. أخي sofiane ، بعد 3 ايام و 40 مشاركة ولم تتوصل لما تريد!! 2. 3و4. جميع مشاركاتك كانت عن نموذج Admin!! 4. اولا: انت عملت اللازم كما هو واضح في الصورة الاخيرة ، والحمدلله وثانيا: هذه الطريقة غير صحيحة في العمل ، فيجب على Admin ان يسجل اسم المستخدم ويعطيه الصلاحيات ، وإلا فكما قلت انت ، الكل "يدخل يخربط"!! بالاضافة لما قلت اعلاه ، انا اعطيتك نصيحة وكل الذي تسأل عنه الآن ليس سوى القشرة ، فاعمل برنامجك من اول وجديد على اساس انك تعمل على مدينة واحدة فقط ، فالظاهر انه صار تغيير في طريقة عمل البرنامج ، بدل ان يخدم 8 مدن مرة واحدة ، فهو سيكون نسخة لكل مدينة ، وستضطر عند التعديل (لو البرنامج بطريقتك الحالية) الى ان تعدل على 8 برامج مختلفة ، لأن اسماء الجداول مختلفة ووووو ، بينما لو اخذت نصيحتي وعملت البرنامج من جديد على اساس مدينة واحدة ، لرأيت ان هذا الموضوع لم يكن له حاجة اصلا 2. نعم هذا الموضوع هو مجرد القشرة ، جعفر
  16. وعليكم السلام واهلا وسهلا بك في المنتدى ، قرب مافي شيء خاص للطباعة على واجهتي الورقة ، فهذه خاصية الطابعة ولا علاقة للأكسس فيها ، فقط تأكد عند اختيارك تصميم التقرير ، ان تختار حجم الورقة الصحيحة جعفر
  17. وعليكم السلام اخي طارق رجاء اعطنا مثال على النتيجة ، او مثالين. جعفر
  18. أخي sofiane رجاء فتح موضوع جديد للسؤال الجديد ، فأنت بهذه الطريقة تخالف قوانين المنتدى بوضع أكثر من سؤال في الموضوع. مخالف ، يُقفل. جعفر
  19. سؤال الموضوع كان: وقد اجبتك على جميع الاسئلة المتعلقة بهذا الخصوص عن طريق نموذجك Admin ، وبهذا يُعتبر الموضوع هذا منتهي اما اي شيء آخر تريد ان تضيف/تغير ، فالامر راجع لك وبالطريقة التي تعتقد انها مناسبة جميع اسئلتك تدور حول مدينة واحدة ، ولكن برنامجك فيه 8 مدن ، وهذا الذي عقّد لك الموضوع ، وخصوصا ان لكل مدينة برنامجها الخاص بها ومستخدميها ، نصيحتي ، انسى شيء اسمه مدينة ، واعمل برنامجك لمدينة واحدة فقط ، وجدول واحد ، وسترى ان جميع اسئلتك تستطيع الاجابة عليها ، وببساطة. والسلام خير ختام جعفر
  20. جوابك هو: ادخل في البرنامج ، افتح النموذج Admin في وضع التصميم ، وافتح قفل الحقلين اسم المستخدم وكلمة السر ، الآن اغلق البرنامج (ولا اقصد النموذج Admin ، وانما البرنامج) ، 1. افتح البرنامج من جديد ، ادخل اسم المستخدم a وكلمة سره هي a ، افتح نموذج Admin ، ادخل اسم مستخدم جديد ، وليكن a10 وكلمة السر a10 ، الآن لا يمكن للـ Admin a ان يعطي هذا المستخدم الجديد صلاحية أي مدينة غير CBR . 2. اغلق البرنامج وافتحه من جديد ، ادخل اسم المستخدم a10 وكلمة سره هي a10 ، افتح نموذج Admin ، سترى انه لا يستطيع الدخول الى هذا النموذج ويـ "يدخل يخربط" ، جرب واخبرني النتيجة ، لأننا ندور في نفس الحلقة من هذه الاسئلة عدة مشاركات. جعفر
  21. سيدي الفاضل في التقرير ، في قسم التفصيل ، وعلى حدث التنسيق ، اكمل هذا الكود: if forms!اسم النموذج!Ehdaa=-1 then myFont_Color=rgb(255,255,255) else myFont_Color=rgb(0,0,0) endif الآن تكتب اسماء الحقول التي لا تريدها ان تُظهر بياناتها me.field1.forecolor=myFont_Color me.اسم الحقل الثاني الذي في التقرير.forecolor=myFont_Color me.field3.forecolor=myFont_Color me.field4.forecolor=myFont_Color .... . ولكن تأكذ انه في حدث النقر على الزر في النموذج لفتح التقرير ، تأكد من حفظ البيانات قبل سطر فتح التقرير ، وتستطيع ان تكتب: refresh او docmd.runcommand.accmdsaverecord وبعدها يأتي امر فتح التقرير docmd.openreport ... جعفر
  22. السلام عليكم اذا فهمت طلبك صح: 1و2و3و4و جزء من 5. انت تريد ان يُدخل Admin المدينة ، اسم المستخدم من النموذج دون الدخول الى الجدول "اريده اتوماتيك ليس يدوي" ، نعم تستطيع ذلك ، ولكنك انت الذي اقفلت هذين الحقلين (فما عليك إلا ان تفتحهم ، ويكون بإمكانك ادخال اسم المستخدم الجديد وكلمة سره من النموذج وعمل علامة الصح على المدينة) : . 5 الجزء الثاني (هناك اعضاء تابعه له لا يريد منها الدخول). اذا لا يريد منهم دخول البرنامج ، فلماذا يُدخل اسمائهم في البرنامج؟ جعفر
  23. وعليكم السلام لازلت تستطيع استعمال الكود ، ولكن بطريقة مختلفة قليلا ، وهي ان تجعل لون خط الحقل في التقرير = لون خلفية الحقل = ابيض مثلا ، وعليه لن ترى البيانات الموجودة وفكرة أخي عبدالله هي الاسهل والافضل لك جعفر
×
×
  • اضف...

Important Information