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

أبو عبدالله الحلوانى

الخبراء
  • Posts

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

  • Days Won

    5

كل منشورات العضو أبو عبدالله الحلوانى

  1. جزاك الله خيرا علي المعلومة الهامة والمفيدة وعودا الي استاذنا احمد نعم ان شاء الله يوجد حيل ولكن رجاءا وضح لنا ما سبب ان تكون تسمية الأعمدة عبارة عن ارقام فقط
  2. القيمة يتم جلبها بمجرد كتابة الرقم 1 والنص A1 نمثلا بدون الضغط علي الزر جرب ان تكتب بالحقول بدون ان تضغط علي الزر
  3. تفضل جرب هذا كان يجب التعويض في المعادلة بالمتغير لا بقيمته Test.accdb
  4. إذا جرب هذا التعديل ووافني بالنتائج وهذا هو الكود بعد التعديل Private Sub B_1_Change() If Me.B_1.Text = ChrW(1584) & ChrW(1603) & ChrW(1585) Then FrameSx = 1 ElseIf B_1.Text = ChrW(1571) & ChrW(1606) & ChrW(1579) & ChrW(1610) Then FrameSx = 2 ElseIf B_1.Text = ChrW(1575) & ChrW(1606) & ChrW(1579) & ChrW(1610) Then FrameSx = 2 Else FrameSx = 0 End If End Sub test1.accdb
  5. Private Sub B_1_AfterUpdate() If Me.B_1 = ChrW(1584) & ChrW(1603) & ChrW(1585) Then Me.t_1 = True Me.t_2 = False Else Me.t_1 = False Me.t_2 = True End If End Sub سبقني بها استاذنا قاسم ولكن اضافة الي ما تفضل به يفضل ان لا تجعل في الكود أحرف عربية لتفادي مشكلات اختلاف اللغة علي الاجهزة
  6. هل هو نفس الجدول ام جدول آخر غير الموجود بالاستعلام ؟! الحقول الغير مرتبطة لا تسبب مشكلة عند اضافة البيانات علي حد علمي ولكن لعل المشكلة تكون: 1- بوجود علاقة بين جدولين تتطلب ادخال بعض البيانات المرتبطة وتم اهمال احدها 2- او يكون هنالك حقل الزامي يجب ادخال بيانات به ولم يتم تمرير قيمة له بالاستعلام 3- أو يكون هنالك خطأ املائي بكتابة مسميات بعض الحقول او غيرها من الأمور التي لا يمكن تخمينها الا بعد معاينة المشكلة من خلال المرفق
  7. من وجهة نظري الشخصية - ومن الناحية المحاسبية فان هنالك ما يسمي بالخصم المكتسب وهذا الحساب يشمل القيمة المالية التي يتم تخفيضها من قيمة المشتريات (ويدخل في ذلك ما كان عينيا او ماديا) مثال ليتضح المقال: لو ان هذه الشاشات ثمنها 1000 مثلا فقيمة الواحدة 50 اذا اجمالي قيمة ال 22 شاشة هو 1100 ويتم معالجة العملية من الناحية المحاسبية بقيد مزدوج متعدد بهذا الشكل 1100 من حـ/ المشتريات الي حـ/ مذكورين 1000 حـ/ الصندوق (بقيمة المبلغ المدفوع فعليا) 100 حـ/ الخصم المكتسب (قيمة المبلغ الذي تم خصمه من قيمة المشتريات الفعلية أو قيمة البونص او اي شيئ آخر) وقيمة هذا الخصم دائنة وهو تابع لحساب الأرباح والخسائر في الحسابات الختامية ارجو ان يكون كلامي واضحا فقد تكلمت باسلوب المحاسبين 😁 من الناحية البرمجية 1- قيمة المشتريات الفعلية هي 1100 يعني ما سيتم ترحيله الي المخازن هو عدد 22 شاشة بقيمة 1100 يعني قيمة الشاشة الواحدة لن تتغير اي بقيمة 50 كما هي 2- قيمة الصندوق او الخزينة او البنك ستقل بقيمة المبلغ المدفوع فعليا بقيمة 1000 فقط 3- قيمة ال 2 شاشة البونص سيتم اعتبارها ارباح مكتسبة بالكامل 100 أرجو ان لا يكون هذا التوضيح بحاجة الي توضيح هذا والله اعلم
  8. هلا ارفقتي مثالا لنري المشكلة فمن سمع ليس كمن رأي .
  9. وعليكم السلام ورحمة الله وبركاته اضم صوتي الي صوت استاذا @Barna فسؤالك يحتاج الي مزيد من التوضيح ولكن علي قدر فهمي للسؤال ربما ساعدك هذا الكود في حدث عند النقر علي مربع النص او الزر أو التسمية المكتوب عليه الكلمة التي تريد ضع هذا الكود private Sub zer1_Click() txt2 = 0 End Sub وفقط
  10. اضم صوتي الي صوتك - فبلمثال يتضح المقال 🙂 فمن الواضح انها تريد الحاق البيانات الي الجدول من خلال فورم رئيس يضم فورم فرعي وبكل فورم مجموعة من الحقول التي يتم ملأها بالجدول
  11. حاولت تطويع مرفقك علي قدر فهمي للسؤال وهذه محاولتي test4.accdb ارجو ان تفيدك جرب ووافني بالنتائج افتح بحث متقدم واختر الاسم او تنقل بين الاسماء ثم اضغط زر بحث
  12. جرب هذا التعديل Option Compare Database Public Myvalue As Integer Public MyP2 As Integer الفورم الاول private sub Zer1_Click() Myvalue = NP1.Value MyP2 = Np2.Value End sub الفورم الثاني If ComPlat.Value = "Twitter" And comType.Value = "Click" Then TargetPlas.Value = txtCost.Value * Myvalue Elseif ComPlat.Value = "Twitter" And comType.Value = "engagement" then TargetPlas.Value = txtCost.Value * MyP2 End If ووافني بالنتائج اذا لم تزل تواجه مشكلة ارفق مرفق للتعديل. الفكرة بكل بساطة هي: 1- انشاء متغير عام يمكن استدعائه من اي مكان بالبرنامج ( عن طريق انشاء وحدة نمطية عامة وكتابة تصريح عام بها باسم المتغير كما هو موضح بالمشاركة الأولي) 2- نمرر قيمة الي هذا المتغير العام من اي فورم او تقرير او ... 3- نقرأ قيمة المتغير من اي مكان كذلك سواء فورم او تقرير او ... وانتهي الأمر
  13. السلام عليكم جرب هذا التعديل ووافني بالنتائج ملاحظة: من المستحسن ان لا تجعل شيئا مكتوبا باللغة العربية داخل الكود هذا سيسهل عليك العميل ويجنبك مشكلات كثيرة فيما بعد عندما تحاول نقل برنامجك للعمل علي اي جهاز آخر غير جهازك الذي تعمل عليه وهذا سيتأتّي معك سهلا ميسورا ان عملت علي نسخة انكليزية من الأكسس وكذلك ان تجعل مسميات الحقول داخل الجداول والنماذج والتقارير والاستعلامات .... باللغة الانكليزية ولا بأس من جعل الوصف باللغة العربية هذا ليس تحيزا للغة الاجانب ولكن هذا سيسهل عملك ولا يوقعك بمشكلات كبيرة فيما بعد انت بغنا عنها تمنياتي بالتوفيق za-AKSAT-Pro-LAST- (1).mdb
  14. وعليكم السلام ورحمة الله لتقسيم الكود يتم استخدام مسافة (فراغ) ثم هذه العلامة ( _ ) بعد الفراغ كالمثال CurrentDb.Execute "INSERT INTO TEAM(DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement,designation,marque, _ reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3,prixRETENU,devise2,TotalEUR, _ fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS,PRODUCTIVITE,devise3,ProdEnEUR) " _ & "VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" & Me.NumBesoin & "','" & Me.Demandeur & "','" & _ Me.Commande & "','" & Me.imputation & "','" & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & _ "','" & Me!T_REFRENCE.Form.marque & "','" & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & _ "','" & Me!T_REFRENCE.Form.FRS1 & "','" & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & _ Me!T_REFRENCE.Form.FRS2 & "','" & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & _ Me!T_REFRENCE.Form.FRS3 & "','" & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & _ Me!T_REFRENCE.PRIXretenu & "','" & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & _ Me!T_REFRENCE.fournisseur & "','" & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & _ Me!T_REFRENCE.NonMisEnCON & "','" & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & _ Me!T_REFRENCE.productivite & "','" & Me!T_REFRENCE.devise3 & "','" & Me!T_REFRENCE.prodEnEUR & "'" أو يمكنك تقطيع الكود علي عدة اسطر في متغير نصي وتمرير قيمته الي دالة تنفيذ الاستعلام مثل: Dim SQLStr as String SQLStr = "INSERT INTO TEAM(DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement," SQLStr = SQLStr & "designation,marque,reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3," SQLStr = SQLStr & "prixRETENU,devise2,TotalEUR,fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS," SQLStr = SQLStr & "PRODUCTIVITE,devise3,ProdEnEUR) VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" SQLStr = SQLStr & Me.NumBesoin & "','" & Me.Demandeur & "','" & Me.Commande & "','" & Me.imputation & "','" SQLStr = SQLStr & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & "','" & Me!T_REFRENCE.Form.marque & "','" SQLStr = SQLStr & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & "','" & Me!T_REFRENCE.Form.FRS1 & "','" SQLStr = SQLStr & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & Me!T_REFRENCE.Form.FRS2 & "','" SQLStr = SQLStr & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & Me!T_REFRENCE.Form.FRS3 & "','" SQLStr = SQLStr & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & Me!T_REFRENCE.PRIXretenu & "','" SQLStr = SQLStr & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & Me!T_REFRENCE.fournisseur & "','" SQLStr = SQLStr & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & Me!T_REFRENCE.NonMisEnCON & "','" SQLStr = SQLStr & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & Me!T_REFRENCE.productivite & "','" SQLStr = SQLStr & Me!T_REFRENCE.devise3 & "','" & Me!T_REFRENCE.prodEnEUR & "'" CurrentDb.Execute SQLStr ارجو التجربة وموافاتي بالنتيجة
  15. اذا لم يكن فهمي خاطئا فلم يتسع وقتي لتحميل المرفق واذا اردت ان تمرر احد هذه القيم من فورم الي اخر ولا يشترط ان يكون كلاهما مفتوحا بنفس الوقت اليك هذه الفكرة. قم بانشاء وحدة نمطية واكتب بها هذا السطر Public Myvalue as integer وبهذا الشكل يمكنك تمرير اي قيمة من الفورم اليها لتستعملها بأي فورم آخر تريده بالكيفية التي تريدها مثال من الفورم الأول مثلا اكتب هذا الكود Myvalue = p1 'Or p2 or p3 as you want ومن الفورم الثاني اكتب هذا الكود TargetPlas= Myvalue * 0.5 'أو اي معادلة حسابية تريد ان تجريها علي هذا المتغير وانتهي الأمر
  16. مبارك علينا ابا الجود وأعانكم الله ووفقكم لكل خير والي ما يحبه الله ويرضاه من امور الدنيا والأخرة نفع الله بكم اينما حللتم أو ارتحلتم وجمعني بكم وبسائر أساتذتنا الأكارم الأفاضل في مستقر رحمته مع النبيين والصديقين والشهداء والصالحين - وحسن اولئك رفيقا - آمين
  17. السلام عليكم ورحمة الله وبركاته حبيت اضيف معلومة صغيرة ارجو ان يصوب اساتذتي خطأها ان كانت خطأ احب دوما أعوض عن القيم النصية بقيم رقمية بالأكواد كلما كان ذلك متاحا تجنبا لمشكلات الترجمة واختلاف اللغة بالأجهزة التي سيعمل عليها البرنامج وهذا مثال تعديلا بسيطا علي كود استاذا جعفر لنتفادي وجود اسم اليوم داخل الكود وارجو التجربة مع تغير اعدادات الويندوز للغة العربية والانجليزية بعد التعديل. If Weekday(TD) = 6 Then fOver_Time = DateDiff("n", DS, DE) \ 60 & ":" & DateDiff("n", DS, DE) Mod 60 ElseIf Weekday(TD) = 5 Then fOver_Time = DateDiff("n", STO2, DE) \ 60 & ":" & DateDiff("n", STO2, DE) Mod 60 ElseIf Weekday(TD) < 5 Or Weekday(TD) > 6 Then 'Or you can say Else Only Here fOver_Time = DateDiff("n", STO1, DE) \ 60 & ":" & DateDiff("n", STO1, DE) Mod 60 End If مجرد معلومة افدتها من اساتذتي بالمنتدي واحببت مشاركتها معهم (هذه بضاعتكم ردت اليكم) تمنياتي بالتوفيق
  18. السلام عليكم ورحمة الله وبركاته وانا ايضا اشارك استاذنا أبو خليل ما قال ففهم السؤال هو نصف الاجابة كما قيل ولكن اعتقد ان الأخ عمر يريد ان يضيف سجلات متعددة الي الجدول بنفس البيانات ويكون المتغير هو الرقم المتسلسل وعدد السجلات المطلوبة هو الرقم الذي يحدده في النهاية. ان كان هذا هو المطلوب فخذ تلك الوحدة النمطية وجرب ووافنا بالنتائج Public sub GenrateRecords(byval tbl as string,byval Rfrist As byte,byval Rend As byte) Aim rec As Recordset,n as byte set rec = CurrentDb.OpenRecordset(tbl, dbOpenDynaset, dbSeeChanges) With rec for n = Rfrist To Rend 'هنا رقم اول سجل وآخر سجل تريد ادراجه .AddNew !field_ID = "String" & n 'string = البادئة النصية التي تريد !field1 = control1 'بدأ من هذا السطر اسماء الحقول في الجدول وما يقابلها بالنموذج !field2 = control2 !field3 = control3 !field4 = control4 .update next end with End Sub وتستدعيها هكذا Call GenrateRecords ("Table Name",1,15) بعد تغير ما يلزم تغيرها بالوحدة حسب مسميات الحقول لديك
  19. وعليكم السلام ورحمة الله وبركاته هذه سهلة يمكنك القيام بها بدون مساعدة ان شاء الله كل ما تحتاجه فكرة العمل الفكرة بسيطة ان شاء الله من وجهة نظري المتوضعة نضع حقل في جدول العمليات يحوي قيمة رقمية 0 - 1 أو true - false حسب رغبتك يتم تحديثها عند اغلاق الدورة المالية الي 1 وتأخذ القيمة 0 عند عدم الاغلاق طبعا الأمر سيحتاج الي آلية برمجية للتعامل مع هذا الحقل ومن فوائد هذا الحقل اننا سنوقف كل التعاملات مع السجل الذي يحوي القيمة 1 مثلا بهذا الحقل من تعديل أو اضافة أو حذف أو... لكون هذه المعاملة تم اقفالها ماليا أعتقد من الناحية المحاسبية ان عملية التعديل أو الاضافة لن تكون مسموحة علي دورة مالية منتهية لذي فكرة اعادة فتح الدورة المالية بعد الاقفال شيء خطأ محاسبيا ولكن ان كان ولا بد وحسب ما يتراءي لك من وجهة نظر لا أعلمها ففي الفكرة السابقة كفاية لكونك تعيد تحديث حقل الاقفال الي صفر وينتهي الأمر وتعود الدورة المالية للعمل مرة أخري أرجو أن يكون كلامي لا اشكال فيه تمنياتي بالتوفيق
  20. أولا- أعتذر لاقتحامي النقاش بدون استئذانكم فأنت صاحب الموضوع ثانيا- سعدت بموافقتك ما أقصد واعتقد أن كلنا حولها ندندن
  21. بغض النظر عن مواقع التواصل كيف يمكن استخدام طريقتكم لعرض الصفحات التي تتطلب متصفح ميزات غير متوفرة في تلك الأداة المصاحبة للأكسس حيث أن هذا الكود يعتمد علي اننا نقوم بكتابة الشفرة او نمررها كما فعلتم بمرفقكم المميز الفاتورة الالكترونية داخل الأداة وفقط <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> </head> باختصار كيف يمكن دمج هذا الكود مع كود الصفحة المطلوبة ليتسنا لنا عرضها علي اداة الويب بروزر الخاصة بالأكسس حيث ان هذا ما يحدث عند استدعاء بعض الصفحات علي هذه الأداة وجزاكم الله عنا خيرا
  22. جزاكم الله عنا خيرا لقد عمل المرفق بكل سلاسة وبشكل مذهل كالعادة فليس هذا الابداع بالشئ الجديد عليكم قد كنت فقدت الأمل في التعامل مع أداة الويب بروزر حتي سمعت كلماتكم هذه في اماكنية ترقية الأداة وأرجو ان يتسع وقتكم للرد علي استفساري البسيط هذا لدي صفحة اريد التعامل معها من خلال الأكسس كيف احقن هذه الصفحة بالكامل أو امرر عنوان هذه الصفحة بما تحتوي من شفرات بعد استخدام طريقتكم هذه للتعامل معها كمتصفح edge وجزاكم الله خيرا
  23. وعليكم السلام ورحمة الله وبركاته يمكنك ان تضع هذا الكود في وحدة نمطية (Module) Public Sub ColorCurrentRec(frm As Form, RecKey As Control, ByVal bakColor As Integer, ByVal ForColor As Integer) Dim ctl As Control On Error Resume Next '=================================== 'The required color argument for QBColor function 'is a whole number in the range 0-15. ' 'The color argument has these settings: ' 'Number Color Number Color '0 Black 8 Gray '1 Blue 9 Light Blue '2 Green 10 Light Green '3 Cyan 11 Light Cyan '4 Red 12 Light Red '5 Magenta 13 Light Magenta '6 Yellow 14 Light Yellow '7 White 15 Bright White '============================================= For Each ctl In frm.Section(0).Controls With ctl ' If .Section = 0 Then 'you can change the condition as you want here .FormatConditions(0).Modify acExpression, , RecKey.Name & "=" & RecKey If Err.Number = 7966 Then Err.Clear .FormatConditions.Add acExpression, , RecKey.Name & "=" & RecKey End If If Err.Number <> 438 Then .FormatConditions(0).BackColor = QBColor(bakColor) .FormatConditions(0).ForeColor = QBColor(ForColor) .FormatConditions(0).FontBold = True End If ' Else ' Exit For ' End If End With Next ctl ثم تستدعيها من خلال الفورم الذي تريده هكذا 'ID = اسم الحقل الذي ستسند قيمة الشرط اليه ممكن تغير شرط التساوي داخل الوحدة النمطية الي ما تشاء او تجعل الحقل يساوي null '8 = هذه قيمة لون الخلفية للحقل ويمكن تغير القيمة من 0 - 15 '9 = هذه قيمة لون النص للحقل ويمكن تغير القيمة من 0 - 15 'حسب الجدول الموضح للقيم في الوحدة النمطية Call ColorCurrentRec(me, ID, 8, 9) تمنياتي بالتوفيق
  24. بالاضافة الي ما تفضل به الاساتذة الكرام قد واجهتني مشكلتك عند التعامل مع السرفر لأول مرة وكانت المشكلة في عدم جلب المفتاح الرئيس لكل جدول فعند تصدير الجداول من الاكسس ببعض البرامج لا يتم تحديد المفاتيح الأساسية لكل جدول لذي تظهر الجداول بالأكسس مجمدة ولا تعمل وكانها غير موجودة أصلا لذي عليك الدخول الي السرفر والتعديل في تصميم الجداول لتحديد المفاتيح الأساسية لكل جدول هذا والله اعلم عودا أحمد @ابو محمد2
×
×
  • اضف...

Important Information