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

ابوخليل

أوفيسنا
  • Posts

    12,480
  • تاريخ الانضمام

  • Days Won

    233

كل منشورات العضو ابوخليل

  1. عليكم السلام حجم الشاشة ليس له تأثير ، الذي يؤثر هو دقة العرض اذكر لي مشاركة هنا بهذا الخصوص ، وهي وحدة نمطية تسجل فيها دقة الشاشة التي تم عمل البرنامج عليها ، وهي المسؤولة عن تعديل العرض في الاجهزة الاخرى . سأبحث لك عنها ... جرب هذا الرابط ووافنا بالنتيجة
  2. تفضل الافقي يمثل الشهور والعمودي يمثل العدد New e.rar
  3. خِلّ إذا جئتَه يوماً لتسألَهُ .... أعطاكَ ما ملكت كفّاهُ واعتذرا يُخفي صنائعَهُ والله يُظهرُها .... إنّ الجميلَ إذا أخفيتَه ظهرا
  4. عليكم السلام لو ارفقت صورة تقريبية للرسم المطلوب ، ستجد تفاعل اكثر ان شاء الله حتى لو ترسم بالقلم الاعمدة والبيانات الافقية والمطلوب اظهاره بالبيانات العمودية
  5. مع الاحترام والتقدير والشكر الجزيل الذي سيأتي مستقبلا سيأخذ افضل اجابة اختصارا لوقته ، ولو اخذ باجابتي لواجه الخلل نفسه . اذا الاخ ازهر عمل الخطوة الصحيحة وسأعيد التقييم الى اصله أشد العلماء تواضعا أكثرهم علما ، الى ترى أن المكان المنخفض أكثر البقاع ماء
  6. فقط قم بتعطيل الأكواد الظاهرة كما في الصورة
  7. انا بعد ان تأكدت من عمل العدادات رجعت كالمعتاد اتأكد من المحرر اذا فيه اسطر زائدة او نحو ذلك .. فوجدت اني نسيت استبدل me.TimerInterval فبدلت TimerInterval بـــ المتغيرين j و t وغفلت عن me ورفعت المثال بدون فحص الف شكر استاذنا العزيز على المداخلة والإشارة الى مكان الخلل
  8. مع عدم فهمي لطبيعة عمل هذه العدادات تفضل التعديل حسب طلبك If j = 1 Then If Me.A = 9 Then Me.A = 1 Else Me.A = Me.A + 1 End If If Me.B = 9 Then Me.B = 2 Else Me.B = Me.B + 1 End If Me.Y = A - B If Me.Y = Me.C Then Me.j = 0: MsgBox "OK" End If '=========================================== If t = 1 Then If Me.D = 9 Then Me.D = 1 Else Me.D = Me.D + 1 End If If Me.E = 9 Then Me.E = 2 Else Me.E = Me.E + 1 End If Me.x = D - E If Me.x = Me.F Then Me.t = 0: MsgBox "OK" End If لاحظ اني كررت الكود فقط timer11.rar
  9. لو سايرنا ابا اشرف في فكرته فانه يلزم عمل جدول او على الأقل حقول خاصة تبين تفاصيل العملية مع المبالغ المستردة او المدفوعة اضف الى ذلك ان حركة البيع السابقة تم قتلها . بينما الطريقة التي عرضتها يكفي ان تشير الى سبب الارجاع في الملاحظات ، وفي النهاية يتم حصر الاموال الداخلة والخارجة بكل يسر وكذلك يمكننا الاستعلام عن جميع المرتجعات بيع او شراء والملاحظات حولها . كل هذا ضمن جدول واحد
  10. هنا يأتي أهمية دراسة أي مشروع قبل البدء ببنائه مشاريع المبيعات والمشتريات انواع : فمنها ما يكون المورد والعميل أساسي في هذه العمليات ( المدفوع / المتبقي / النقدي / الآجل ) ومنها ما لا يعير هذه اهمية وخاصة العميل وليس هذا محل نقاشنا بل : نعم .. وبكل تأكيد وما المانع في ذلك ؟ اذا تأملنا اي العناصر في مشروعنا هو الأهم ؟ المورد ام العميل ام المنتج ؟ من المؤكد والذي لا يختلف فيه اثنان ان المنتج هو مربط الفرس في هذا المشروع
  11. لماذا ننصح دوما باستخدام جدول واحد لتفاصيل المبيعات والمشتريات الجواب : من اجل مرونة تدفق البيانات وسهولة احتوائها والتعامل معها هذه تتم عن طريق البحث برقم الفاتورة لا عكس قيود ولا شيء من هذا القبيل يجب ان يكون النظام سلس ومفهوم ويتم التعامل معه حسب البيانات المدخلة ( يمنع الحذف والتعديل الا في ظروف ضيقة جدا جدا ) فمرتجع البيع يسجل باعتباره شراء جديد ومرتجع الشراء يسجل باعتباره بيع وفي النهاية وفي المخرجات يمكننا اظهار النتائج من الأرصدة والمستخلصات بشكل صحيح ودقيق وتفصيلي ، وبأقل عدد من الادوات
  12. اخي الكريم في مشاركتي السابقة كنت اظن ان الجداول M_A .. M_B .. M_C هي جداول تفاصيل للمخازن واتضح انها لرصد الأرصدة حسب المخازن ، وفي الحقيقة اول مرة يمر علي مثل هذا التصميم المعروف ان الارصدة يتم اخذها من جدول تفاصيل البيع والشراء فاعتذر عن المواصلة ولعلك تجد من بعض اخوتك هنا من يمد لك يد العون
  13. هذه نتيجة الرد السريع من غير فحص وتأكد نعم ما تفضلت به صحيح .. استاذنا الغالي
  14. السلام عليكم لما تأخر الأخ ايمن بالرد على ابي جودي قلت يمكن لم يحقق مطلبه فرجعت للكود فوجدت انه ينقصه نقطة في هذا السطر ليصبح هكذا : NewFile = Me.StrNew & "\" & DBwithoutEXT & "-" & Format(Date, "yyyy-mm-dd") & "-" & Format(Now(), "Hh-Nn-Ss-AMPM") & "." & Right(DBwithEXT, 4)
  15. السلام عليكم الجداول هي اساس كل برنامج مرن وناجح بعد الاطلاع على المرفق رأيتك عملت لكل مخزن جدولا يخصه فانت مجبر الآن بأن تعمل شاشات كل مخزن على حدة حتى تتمكن من فصل وعرض ارصدة المخازن . او اجعل الارصدة للعرض فقط خارج نموذج الادخال
  16. سيصبح الكود هكذا =DMax("date_catch";"TBCatch";"id_reader=" & [id_reader] & " And typy_cach='" & "catch" & "'")
  17. = dmax("date_catch";"TBCatch";"id_reader=" & id_reader) LLL2.accdb
  18. >=#01/01/2021# And <#30/12/2021# جميلة مداخلتك اخوي ازهر واستخدام خاصية التحقق من الصحة ولكن يوجد متطلبات اخرى مصاحبة لهذا الشرط 1- في السنة القادمة سيضطر المبرمج الى التعديل على هذا الشرط 2- وهو الأهم فيما لو اراد المستخدم تجاوز الشرط والتعامل مع اي تاريخ
  19. عليكم السلام سنعتمد السنة المالية حتى نحصل على الأقوى والأسرع الصق هذه الوظيفتين في وحدة نمطية عامة Public Function ctrlThisDate() As String ctrlThisDate = DLookup("FiscalYear", "Odb_TableControl", "FiscalYear='" & Year(Date) & "'") End Function Public Function chkThisDate() As Boolean chkThisDate = DLookup("Adhere_Current_Year", "Odb_TableControl", "FiscalYear='" & Year(Date) & "'") End Function ثم الصق هذا الكود في حدث قبل التحديث لأي حقل تاريخ وغير ما يلزم والتغيير فقط بتعديل اسم الحقل Private Sub TextTO_BeforeUpdate(Cancel As Integer) If IsNull(TextTO) Then Exit Sub If chkThisDate() Then If Year([TextTO]) <> ctrlThisDate() Then MsgBox " التاريخ خارج نطاق السنة الحالية" DoCmd.CancelEvent End If End If End Sub لاحظ انه يجب عليك التأشير على خانة التقييد ان اردته يعمل ،، والعكس صحيح DatabaseA2.rar
  20. اهلا اخونا العزيز واستاذنا القدير أبو بسمله .. نعم صحيح غفلت عنها ، زادك الله علما اما بالنسبة الى استبدال الاستعلام بالجملة البرمجية فهي جميلة ايضا ، وتحتاج الى تعديل طفيف لتصبح : j = Nz(DSum("amount", "salary", "emp_name=" & emp_name & " And Year([dated])=" & Year(Date) & " And Month([dated])=" & Month(Date)), 0) والسبب ان الحدث هو قبل التحديث والتاريخ ستتم كتابته بعد ادراج المبلغ على اعتبار ان المبالغ المدفوعة ستكون داخلة ضمن نطاق الشهر الحالي وهذا اعتقد انه منطقي وهو الذي يحدث على ارض الواقع جرب على مثالك امسح جميع المبالغ والسجلات في النموذج الفرعي ثم ادخل مبلغ 1000 ثم جرب وأدخل 1001 سيظهر خطأ ، الا لو جعلنا التاريخ افتراضي (تاريخ اليوم) ثم استبدل كودك بالكود اعلاه وجرب
  21. حسب طلبك الذي الغيته : ان اردت القيمة عند فتح النموذج تكون ظاهرة في مربع التحرير فاستبدل الكود Private Sub Form_Load() Me.FS.RowSource = wrCombVal End Sub بهذا Private Sub Form_Load() Me.FS.RowSource = wrCombVal Me.FS.SetFocus Me.FS.Text = wrCombVal End Sub
  22. Private Sub amount_BeforeUpdate(Cancel As Integer) If IsNull(Me.amount) Then Exit Sub Dim i, j As Integer i = DLookup("salary", "emp", "id=" & emp_name) j = DSum("amount", "qryAmountInMonth", "emp_name=" & emp_name) If j + Me.amount > i Then Undo MsgBox "المبلغ يتجاوز المرتب الشهري" Exit Sub End If End Sub delete2.accdb
  23. الاعلان عن متغير عام Public wrCombVal As String هذا المتغير يأخذ قيمته عند النقر على الزر في اي نموذج من النماذج الثلاث جعل مربع التحرير يأخذ قيمة المتغير wrCombVal عند فتح النموذج Private Sub Form_Load() Me.FS.RowSource = wrCombVal End Sub تفضل FFF2.accdb
×
×
  • اضف...

Important Information