-
Posts
1185 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
9
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو عمر ضاحى
-
جرب الحل هذا تم عمل مديول Function CalcVac(WorkDays As Double, EmpAge As Integer) WorkDays = WorkDays / 365 If EmpAge < 50 Then WorkDays = WorkDays * 21 Else WorkDays = WorkDays * 30 End If CalcVac = Format(WorkDays, "0.00") End Function ولحساب عمر الموظف =DateDiff("yyyy";[DateOfBirth];Date()) ولاستدعاء الدالة CalcVac(D2, txtAge) 'CalcVac("اسم حقل اجمالى ايام العمل", "اسم حقل عمر الموظف") وهذه هى النتيجة مرفق الملف VACATIONS-1.rar
-
طيب تمام فين النموذج ال فيه انت بتمنح الاجازة او بيحسب فيها الاجازة
-
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
جربي الملف ده lab0.rar -
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
واضح انى ممكن اكون مش مركز وفى غلط انا واقع فيه فانا هستأذنك لغدا ان شاء الله لاني مش شايف قدامي وبصحة الساعه 4:30 الفجر ف باذن الله هعيد الكود كله من اول وجديد واعطيكى الحل النهائى ان شاء الله -
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
غيري فى الاعدادات -
سؤال جانبي مش المفترض ان فى قاعدة اخري ان الموظف اذا عمل فى الشركة اكثر من 5 سنوات يتحول من 21 يوم الى 30 يوم فى السنه ؟
-
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
جربي المرفق ولو فى ملاحظات اكتبيها -
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
اوك سهله غيري فى الكود الكلمة [test] الى 'SEE REPORT' بالنسبه لباقى التعديلات حسب فهمي للمطلوب اتمني يكون ده المطلوب راجعي الملف المرفق lab0.rar -
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
Dim strSQL As String strSQL = "UPDATE test_order_tbl SET test_order_tbl.result = IIf([see_report]=Yes,[test],'') " & _ "WHERE (((test_order_tbl.see_report)=Yes));" DoCmd.RunSQL strSQL اتفضلى لكن محتاج توضيح بخصوص هذه النقطه بالنسبه للنقطه دي هل هذا الجدول مكون من سجل واحد ولا هيكون فيه سجلات ؟ لان لو سجل واحد اوك لو سجلات ما المرجع الذى يعود عليه للتحقق منها -
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
لا لا مش كده بصي ده الملف ال كنت شغال عليه لكن للاسف ما كملت الشغل بسبب الشغل واطريت اوقف العمل فيه lab0.rar ال كتبته لكي ده كود SQL لاستعلام وبيتم تشغيل الاستعلام من داخل النموذج بهذه الطريقة DoCmd.SetWarnings False DoCmd.OpenQuery "UpdateTestTable" DoCmd.SetWarnings True على فرض ان الاستعلام اسمه UpdateTestTable ان شاء الله انا بحاول انفذ الفكره بتعتك لكن المشكله فى تواجدي على الجهاز فان شاء الله بحاول اخلثها لك غدا وانا فى الدوام بالنسبه للنقطه دي هل هذا الجدول مكون من سجل واحد ولا هيكون فيه سجلات ؟ لان لو سجل واحد اوك لو سجلات ما المرجع الذى يعود عليه للتحقق منها -
طريقة فتح فورم بناء على اختيار قيمه من جدول الاعدادات
عمر ضاحى replied to safaa salem5's topic in قسم الأكسيس Access
بالنسبه للنقطه هذه استخدمي هذا الاستعلام UPDATE test_order_tbl SET test_order_tbl.result = IIf([see_report]=Yes,[test],'') WHERE (((test_order_tbl.see_report)=Yes)); -
اذا تم حل مشكلتك لا تنسي غلق الموضوع باختيار افضل اجابة
-
على الرغم انى لم اعمل مثل هذا من قبل لكن اتفضل هذه محاولى هناك الكثير من التعديلات فى الاكواد والجداول والعلاقات عملتها وتم استبدال جميع اكوادك بحلقة تكرارية لكتابة اسماء الازرار وهناك بعض الملاحظات ------------------------------ اولا انت عند خطأ فى العلاقات بين الجداول هذا بعد التعديل على جدول التفاصيل وظبط العلاقات بين الجداول والخطأ الثاني تشابه مسمي سعر البيع وسعر المنتج (ولانه ليس له فائدة فقد تم حذفه ) لان هذا تكرار للبيانات ايضا لا تضع حقول محسوبه فى الجداول (العمليات الحسابيه تكون من الاستعلامات والنماذج) يجب ايضا توضيح العلاقة بين النموذج الفرعي والنموذج الرئيسي وهناك اشياء اخري لكن لم يسعفنى الوقت لتوضيحها اترك لك الباقى والنتيجة هي ------------------------- اتمني هذا يكون هو طلبك مرفق الملف كاشير المطاعم و الكافيهات و المحلات التجارية.rar اها كدت ان انسي عند محاولة برمجة زر جديد فى ال 40 زي كل ال مطلوب تعمله تكرر الكود الذى بداخل الصب هذا Private Sub A1_Click() If a1.Caption = "" Then: Exit Sub xCMD "A1" End Sub مثل تريد برمجة زر رقم a20 يبقى هتضيف داخل الصب الخاص به هذا الكود If a20.Caption = "" Then: Exit Sub xCMD "A20" وهكذا
-
كان يفضل شرح محتويات الجداول لكن اولا فى امور لازم توضيحها اولا هل جدول sallesH هو رأس الفاتورة وجدول salles هو تفاصيل الفاتورة ؟
-
انا عملتها على عجل (لانى باكون فى الشغل وبيطلب منى شغل تاني) لكنها فكره جيده لجلب البيانات مره واحده
-
^_^ سبقتني لكن احب ان اضيف مشاركه مع اخي @Foksh تفضل هل هذا ما تريد 1234.rar ولتعم الفائدة وتضويح ما تم تم استخدام هذا الكود Sub GetInfo1() Dim db As DAO.Database Dim rst As DAO.Recordset Set db = CurrentDb Set rst = db.OpenRecordset("Sale_Reg", dbOpenDynaset) With rst .AddNew ![Sale_code] = DLookup("code", "main_itemn", "code=" & "Sale_code") ![Sale_Number] = 1 ![Sale_invoice] = Forms![Sale]![Invoice_Number] ![SSale_Price] = DLookup("Slae_price", "main_itemn", "code=" & "Sale_code") ![Sale_Date] = DLookup("Reg_Date", "main_itemn", "code=" & "Sale_code") ![Sale_Item_Name] = DLookup("item", "main_itemn", "code=" & "Sale_code") ![frosh_date] = Date ![scompany_name] = DLookup("company_name", "qry1", "code=" & "Sale_code") .Update .Close End With Set rst = Nothing db.Close Set db = Nothing End Sub مع ان هناك حلول اخري لكن وجدت الاسهل والاسرع للحلول دون تغير (او فرض راي) على المبرمج
-
طلب مساعدة فى عمل تقرير بارصدة الدين خلال فترات
عمر ضاحى replied to عمر ضاحى's topic in قسم الأكسيس Access
ان شاء الله بهذا الكود تكتمل الحل Public Function UpdateMyFil() Dim rs As Recordset Dim foundFirstRecord As Boolean Set rs = CurrentDb.OpenRecordset("TempStatmentAcc") foundFirstRecord = False Do While Not rs.EOF If rs("myfrq") < 0 And Not foundFirstRecord Then rs.Edit rs("MyFil") = rs("myfrq") rs.Update foundFirstRecord = True Else If foundFirstRecord Then rs.Edit rs("MyFil") = rs("CR") * -1 rs.Update End If End If rs.MoveNext Loop rs.Close End Function طبعا ال هيحمل الملف المرفق السابق لازم يضيف حقل جديد فى الجدول باسم MyFil -
طلب مساعدة فى عمل تقرير بارصدة الدين خلال فترات
عمر ضاحى replied to عمر ضاحى's topic in قسم الأكسيس Access
استاذى الجليل @ابوخليل احب ان اشكرك كثيرا على تقريب الفكره لى (سائل المولى عز وجل ان يبارك لك فى عافيتك ويزيدك من علمه) 🌹🌹🌹🌹🌹🌹🌹🌹 واعتقد قريب من الحل النهائى فلك جزيل الشكر 🌹🌹🌹🌹🌹 فمع هذا الكود ممكن مع الاتعلام اضافتها ضمن الشرط V30: IIf(DateDiff("d";[QdDate];Date())>=0 And DateDiff("d";[QdDate];Date())<=30 And Nz([myfrq];0)<>0;[Cr];0) حيث انى اضفت هذا الشرط And Nz([myfrq];0)<>0 فاصبح الامر قريب باقى ان اقول فى الاستعلا ان اول سجل فيه القيمه لا تساوي الصفر يعمل عليه عمليه حسابيه والباقى لا يفعل اى عمليات حسابيه لان الباقى (اقصد باقى السجلات)يحمل قيمة الفاتورة كاملة اما الفرق هيكون فى السجل الاول الذى اصبح قيمته بالسالب بعد الصفر هفكر فى حل واذا لم اجد ^_^ فليس لى غيركم بعد الله (لكن انا احب الطريق الصعب فى البحث عن المعلومه ) -
طلب مساعدة فى عمل تقرير بارصدة الدين خلال فترات
عمر ضاحى replied to عمر ضاحى's topic in قسم الأكسيس Access
ما هي القيم ال هتطلع اما موجبه او صفر او سالبة لو موجبه يعنى ليس هناك فواتير مستحقه ولنا مبلغ (ال بالموجب) عند المورد لو صفر يعنى ليس هناك فواتير مستحقه وليس علينا اى مبالغ لو سالب يعنى هناك فواتير مستحقه لم تسدد فى الحالة الاولى والثانية (لن يظهر لى ارصدة ) فى الحالة الثالثه هيظهر مثلا من شهر 4 ( كمثال وليس مرتبط بملفى) المطلوب توزيع الفواتير التى ستظهر حسب الارصده بتعتها على الحالات الخمس ( 30 - 60 -90 -120 -اكثر من 120 يوم) -
طلب مساعدة فى عمل تقرير بارصدة الدين خلال فترات
عمر ضاحى replied to عمر ضاحى's topic in قسم الأكسيس Access
😅 هي دي المعضله فكرت لو مثلا جمعت جميع ما تم دفعه وليكن مثلا 50000 (يتم تخزين القيمة فى متغير) ثم اعمل حلقة تكرارية مع كل سجل من سجلات الفواتير الحلقه هذه تقوم بطرح قيمة الفاتورة فى السجل الاول (طبعا الترتيب من التاريخ الاقدم الى الاحدث) ويتم تخزين القيمة الجديده فى المتغير وهكذا الى ان يصل لسجل القيمة تكون صفر او سالب وبعدها يتم فرز القواتير التى نتائجها بالسالب حسب التواريخ الخاصه بها فهل ممكن تنفيذ هذا داخل الاستعلام باستخدام مديول اذا امكن -
طلب مساعدة فى عمل تقرير بارصدة الدين خلال فترات
عمر ضاحى replied to عمر ضاحى's topic in قسم الأكسيس Access
استاذى ومعلمى الجليل الاستاذ @ابوخليل اولا بعتذر اني لم اوضح المطلوب بشكل اكثر تفصيلا (لعل عند كتابة الموضوع قمت من على الجهاز اكثر من مره حتى نسيت ما كنت اريد ان اكتبه ^_^) ما اريده بالظبط ان الاستعلام او حتى دالة vba يطرح قيمة المدفوعات من الفواتير يعنى مثلا دفعت فى 01/11/2023 مبلغ 5000 وفى نفس التاريخ استلمت فاتورة ب 5500 كده المورد له 500 وهكذا على مدار الايام والشهور لان البيانات الى فى الجدول هى بيانات (كشف حساب المورد) اريد ان اعرف الفواتير التى لم يتم دفعها خلال الفترات السابق ذكرها (ال 5 فترات ) لان فى فواتير تستحق دفعها مثلا بعد شهر او شهرين حسب الاتفاق ( مش عارف ان كنت عرفت اوضح المشكلة ام لا ) لكن اريد ان يتم خصم ما تم دفعه من الفواتير القديمه واظهار المبالغ المتبقيه (المستحقه) حسب عمر تاريخ الفاتورة -
السلام عليكم ورحمة الله وبركاته اساتذتى الكرام بعد اذن حضرتكم معي مشكلة فى عمل استعلام لتقرير معي جدول (مرفق الملف) فيه عمليات (قيود) باسم TempStatmentAcc دائن (Cr) (فيه ارصدة الفواتير) ومدين (Dr) ( فيه ما تم تحويله للمورد "السداد") وايضا هناك حقل لتاريخ الحركة QdDate المطلوب اظهار لى قيمة الفواتير التى لم تسدد خلال الفتره من 1 يوم الى 30 يوم ومن 31 يوم الى 60 يوم ومن 61 يوم الى 90 يوم ومن 91 يوم الى 120 يوم ومن 121 يوم فاكثر هناك محاولة لكنها مش ظابطة معي هل اجد حل لها لان الموضوع طول كثير معي تقريبا اقارب على الشهر ولم اصل لحل جيد GeneralTest.rar
-
Compo Box ادراج كافة البيانات عبر مربع التحرير _ معدل
عمر ضاحى replied to ehab125's topic in قسم الأكسيس Access
لهذا اخبرتك بهذا نصيحه من اخ لاخوه انا وقعت فى الكثير من الاخطأ فى البداية وتعلمت الخطأ اين لهذا اعادة هيكلة البرنامج شئ صعب ومرهق ان تعيد برمجة كل شئ من الاول لكن هذا افضل حل (لماذا ؟) لان لما هتعيد الهيكلة هتلاحظ مثلا ان فى عملية فى النموذج بتأخذ مثلا 4 خطوات لانهائها ممكن وقتها تفكر فى طريقة تجعلها اكثر سلاسة واقل فى كتابة الاكواد واعتبر هذه مراجعة شاملة للبرنامج لتحسينه وتطويره وفتح ابواب مجال التطوير على مصرعيه -
يعرض الصور وال PDF بشكل فعال من الممكن ان لديك مشكلة فى برنامج ادوبي ريدر (من الممكن انك تحتاج الى تحديثه او التأكد من وجود المكتبه )