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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    396

Community Answers

  1. jjafferr's post in Shell and Wait for vb7 was marked as the answer   
    السلام عليكم 🙂
    صبحكم الله بالخير اخونا العود ابوخليل 🙂
     
    اعطيك حلين لسؤالك:
    1. ان ترى طريقة حل المشكلة من هنا: https://www.officena.net/ib/topic/107637-اجعل-برنامجك-يعمل-على-النواتين-32بت-و-64بت/
     

    .
     
    2. او ان تستعمل النسخة الاحدث من هذه الدالة ، والتى تقبل الحروف العربية في اسم الملف والمسار:
     
    جعفر
  2. jjafferr's post in سؤال عن كيفية اضافة كود لاكثر من نموذج من خلال زر امر was marked as the answer   
    تفضل وتدلل يا باشا 
     

    .
    الكود
    Private Sub cmd_Add_Command_Button_and_Code_Click() Dim str As String, theForm As String Dim ctl As Control theForm = Me.form_list.Value DoCmd.OpenForm theForm, acDesign, , , , acHidden Set ctl = CreateControl(theForm, acCommandButton, acDetail, , , 1440, 2160, 2880, 600) ctl.Name = Me.Button_Name ctl.Caption = "للتجربة" str = "Private Sub " & Me.Button_Name & "_Click" & vbCrLf & _ DLookup("[CLine]", "tbl_secur_add_code", "[SN]=1") & vbCrLf & _ "End Sub" Forms(theForm).Module.AddFromString str DoCmd.Close acForm, Forms(theForm).Name, acSaveYes End Sub جعفر
    472.اضافة كود فى محرر الاكواد بزر امر.mdb.zip
  3. jjafferr's post in استخراج بيانات من الرقم القومي was marked as the answer   
    السلام عليكم 
     
    رجاء استخدام خاصية البحث في المنتدى قبل طرح السؤال 🙂
     
    اليك الروابط
    https://cse.google.ae/cse?cx=partner-pub-4958585055085854:7791406915&ie=UTF-8&q=استخراج+بيانات+من+الرقم+القومي&sa=Search
     
    يغلق
  4. jjafferr's post in تشغيل استعلام او تقرير باختيار اكثر من كود السجل was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته
     
    العمل سهل للتقرير :
    اعمل تقرير غير مقيد بمعيار ، ولنسميه rpt ، وضع هذا الكود لفتح التقرير :
    Dim strIN As String strIN = InputBox("رجاء ادخل ارقام الدول، بينهم فاصلة") DoCmd.OpenReport "rpt", acViewPreview, , "[ConID] IN(" & strIN & ")"  
  5. jjafferr's post in طلب مساعده في فتح نموذج بالكود عند عدم تحقق الشرط was marked as the answer   
    نعم ممكن ، ولكن لأي سجل؟
    يعني تريد المستخدم يدخل البيانات ، ولما يغلق النموذج ، يعرف اي من بياناته غلط !!
     
    وبعدين اي معلومة تعتبر المعلومة الصحيحة ، num1 او num2 اذا اردتنا ان نغيرها !!
     
    مع وجود الرسالة ، عملت لك تنسيق شرطي ، اذا القيمتين لا يساوون بعض ، فالحقلين يكونون بلون مختلف

    .
     
    يجب عليك تحليل طريقة العمل ، وبعدين ممكن توصل الى الطريقة الاصح للحل 🙂
    1591.تجريبي.accdb.zip
  6. jjafferr's post in اضافة معيار علي جملة select was marked as the answer   
    وعليكم السلام 🙂
     
    الظاهر هذا الكود في VBA ، فخليني اعلمك كيف تصطاد🙂
     
    اجعل كودك هكذا :
    dim mySQL as string mySQL="SELECT * FROM tblVacation where (((tblVacation.emp_code)= " & [TempVars]![EmpIdTemp] & " )) ORDER BY vacationstartdate Asc;" debug.print mySQL .
    في اسفل النافذة بتحصل على كود مثل التالي:
    SELECT * FROM tblVacation where (((tblVacation.emp_code)= 1234 )) ORDER BY vacationstartdate Asc; .
    انسخ الكود ،
    افتح استعلام جديد ، ولما تجيك نافذة اختيار الجداول ، اغلق النافذة ، 
    ثم انقر بالفأرة اليمين في منتصف الاستعلام ، واختار SQL
    الصق الكود اعلاه ،
    ثم اختار Design ، فتحصل على استعلام عادي ،
    واضف الشرط الجديد ،
    ثم انقر الزر اليمين ، و اختار SQL مرة اخرى ، فتحصل على الكود المطلوب :

    .
    والآن يمكن تنظيف الكود كالتالي:
    من SELECT [VacationLife] AS Expr1, * FROM tblVacation WHERE ((([tblVacation].[emp_code])=1234) AND (([VacationLife])="سارية")) ORDER BY vacationstartdate; الى SELECT [VacationLife], * FROM tblVacation WHERE [emp_code]=1234 AND [VacationLife]='سارية' ORDER BY vacationstartdate ثم الى "SELECT [VacationLife], * FROM tblVacation WHERE [emp_code]= " & [TempVars]![EmpIdTemp] & " AND [VacationLife]='سارية' ORDER BY vacationstartdate"  
  7. jjafferr's post in ارجو المساعدة في عمل برنامج لييبل was marked as the answer   
    السلام عليكم 🙂
     
    استعملت برنامج اخوي عمر ضاحي ، وعملت عليه التعديل المطلوب حسب طريقة استخدامي للباركود في برامجي ،
    انا استخدم Code39 ،
    لعمل البرنامج ، ما لك علاقة بخط الباركود ، البرنامج تلقائيا ينصبه عند فتح البرنامج ، ويحذفه عند الانتهاء من البرنامج 🙂
     
    هناك خاصية لعمل الليبلات في تقارير الاكسس ، مجرد تختار من الليبلات العالمية الموجودة ، او تعمل ليبلك الخاص (كما عملته انا بهذه الخطوات) :

    .

    .
    فيقوم الاكسس بتعديل مسافات الحواف

    1587.Label.zip
  8. jjafferr's post in ارجوا المساعدة في عمل اشعار او تنبيه عند تغير البيانات was marked as the answer   
    السلام عليكم اخي يحى 🙂
     
    رجاء لا تفتح اكتر من موضوع لنفس السؤال 🙂
    للإستمرار في هذا الموضوع ، رجاء المتابعة على هذا الرابط :
     
    .
    يُغلق
  9. jjafferr's post in تجميع سجلات was marked as the answer   
    السلام عليكم 🙂
     
    للتجربة والتأكد من اني فهمت الموضوع ، رجاء عمل التالي:
    1. شغل الدالة Make_Groups ،
    وذلك بكتابة اسمها في الاسفل ، ورجاء التأكد ان علامة الاستفهام بالانجليزي ، ثم انقر على زر Enter على الكيبورد 

    .
    عندما تنتهي الدالة من عملها ، ستظهر لك رسالة "Done" ،
    عندها رجاء تشغيل الاستعلام qry_Vacations والتأكد بأن بياناتها كما تريد 🙂
     
    الدالة تضع بياناتها في الجدول tbl_V_Seq ، وهو جدول تجميع الاجازات المستمرة 🙂

    1581.سجل المحضرين_be.accdb.zip
  10. jjafferr's post in تحويل اعمدة الى صفوف من جدول اكسل مرتبط بقاعدة البيانات was marked as the answer   
    السلام عليكم 🙂
    ضع هذا الملف مع ملف الاكسل "Unmanaged.xlsx" في نفس المجلد "D:\nw" ، وإلا ، فيجب تعديل المسار في الاستعلام qry_1_Excel_File (وهذا سيأخذ وقت لفتح الاستعلام 🙂) :

     
    استخدم الزر في النموذج ، حتى تعمل جدول جديد بإسم tbl_Data وبه بيانات الاكسل جاهزة لتحويلها الى اي جدول آخر ، او استعماله مباشرة في الاكسس ،
    ملاحظة ، يتم حذف الجدول tbl_Data ، ويتم عمله من جديد في كل مرة ، حتى نتأكد بأننا حصلنا على جميع حقول ملف الاكسل .
    1569.as_Final.accdb.zip
  11. jjafferr's post in اريد تحديث Text2 و Text3 عندالادخال فى Text1 was marked as the answer   
    وعليكم السلام 🙂
     
    اخي الفاضل ، الكود عندك صحيح وما فيه اي مشكلة 😁
    بس رجاء الانتباه الى ان نموذجك معمول لإدخال البيانات ، وليس لمعاينة البيانات السابقة :

     
     
    وانت لا ترى نتائج الكود ، لأن السجل ينتقل الى السجل التالي ، لهذا اعمل التغيير التالي في اعدادات نموذجك ، حتى ترى رقم السجل الذي انت عليه :

    .

     
  12. jjafferr's post in تقرير احصائى was marked as the answer   
    سيدي الفاضل 🙂
    يا ريت تقرأ الموضوع التالي: https://www.officena.net/ib/topic/113391-لا-تستعمل-dlookup-او-dsum-واخواتها-في-استعلام-،-واليك-البديل/
    انت صحيح ما استعملت الامر في الاستعلام ، ولكنك استعملته في التقرير ، فيكون الموضوع ينطبق عليه ايضا 🙂
     
    تم حذف جميع الكود الموجود في التقرير ehsa_sub_dor_New ، وتم عمل استعلام جديد room_list_New ، كمصدر بيانات للتقرير ، يقوم بالعملية كاملا.
    ما استطعت تكملة حقول التقرير (تعبت 😁) ، فرجاء اكملهم مثل الحقول اللي قبلها.
    1578.1.تقرير احصاء.accdb.zip
  13. jjafferr's post in كيفية طباعة سجل حسب التاريح was marked as the answer   
    نعم، البيانات موجودة في المرفق، ولكن ليس مثال عن طلبك 🙂
     
    استغنيت عن فلتر النموذج ، ووضعت معيار التصفية في الاستعلام مصدر بيانات النموذج ، هكذا :

    .
    وعملت نفس المعيار في الاستعلام مصدر بيانات التقرير.
    1575.1.exemple.accdb.zip
  14. jjafferr's post in خطأ فى فورم arEnterPayments was marked as the answer   
    وعليكم السلام 🙂
     
     
    1. الخطأ في هذا السطر
     

    فانت طلبت التركيز ينتقل الحقل xtdAmt ، بينما لا يوجد حقل في النموذج الفرعي بهذا الاسم.
     
    2. انت عملت المعادلة التالية ، والتي تعمل بطريقة صحيحة ، ولكن قيمة المتغير xtdAmt = صفر ، لهذا السبب لا تتغير قيمته ظاهرا ، بينما قد تم اضافة صفر الى 100 واصبحت القيمة = 100 :
    'update Customer Current Balance Forms!arEnterPayments!cmCurBalA = Forms!arEnterPayments!cmCurBalA + tdAmt  
     
     
  15. jjafferr's post in اضافة شرط في برنامج السلف was marked as the answer   
    مثا ما اشرت به في مشاركتي :
    1. الاستعلام مصدر بيانات النموذج

    .
    ثم في النموذج

    .
     
    1572.solaf.accdb.zip
  16. jjafferr's post in مشكلة توقف اضافة سجل جديد was marked as the answer   
    اترك النموذج جانبا ، وحاول تعمل تعديل بيانات في استعلام التجميع مباشرة ، ولن تستطيع 😁
    استعلام التجميع لا يسمح بالتعديل/الاضافة.
  17. jjafferr's post in حساب عن طريق الدالة DCOUNT was marked as the answer   
    السلام عليكم 🙂
     
    اطال الله في عمرك اخي الكريم ، انت خلطت الحابل بالنابل !!
    في معادلاتك التالية ، انت استخدمت كلمة "أنثى" ، بينما في الجدول هي "انثى" (لاحظ حرف الالف)  :
    NF: DCount("Gender","tbl_Employees","[Gender]='أنثى' AND [system]='نصف داخلي' AND [Section] ='" & [Section] & "'") DF: DCount("Gender","tbl_Employees","[Gender]='أنثى' AND [system]='داخلي' AND [Section] ='" & [Section] & "'") .
    وفي هذا السطر ، لديك مسافة زائدة في نهاية كلمة 'نصف داخلي ' 
    NH: DCount("Gender","tbl_Employees","[Gender]='ذكر' AND [system]='نصف داخلي ' AND [Section] ='" & [Section] & "'")  
    وعلى هذا الاساس ، قام الاكسس بإعطائك النتائج الخطأ 🙂
     
    على العموم ، مثل ما المثل يقول: رُب ضارة نافعة ، لأننا نتفادى استعمال DCount و DLookup واخواتهم في استعلام ، حيث انها تعمل بطئ في الاستعلام (طبعا لما تكون عندك آلاف السجلات) ،
    وعليه ، عملت لك استعلام آخر:

    .
    وجعلته مصدر بيانات التقرير :

    .
    جعفر
    1571.base2023.accdb.zip
  18. jjafferr's post in داله ناجح راسب في الخلايا الفارغة was marked as the answer   
    واذا عندك صفوف غير "الصف الخامس جميع الدرجات" ، فيمكننا تعديل الدالة ، بحيث تستخدمها لجميع الصفوف :
     

     
    والدالة:
    Option Compare Database Option Explicit Dim rst As DAO.Recordset ' Function Pass(ID As Long, Clss As String) As String On Error GoTo err_Pass 'Clss= Class = اسم جدول الصفوف مثل: الصف الخامس جميع الدرجات 'ID = المعرف = معرف السجل 'IIf([الاسلامية الدرجة بعد الاكمال]>=49.5 And [العربية الدرجة بعد الاكمال]>=49.5 And [الانكليزية الدرجة بعد الاكمال]>=49.5 And [الرياضيات الدرجة بعد الاكمال]>=49.5 And [الحاسوب الدرجة بعد الاكمال]>=49.5 And [الفيزياء الدرجة بعد الاكمال]>=49.5 And [الكيمياء الدرجة بعد الاكمال]>=49.5 And [الاحياء الدرجة بعد الاكمال]>=49.5 And [علم الارض الدرجة بعد الاكمال];"ناجح ";"راسب") Set rst = CurrentDb.OpenRecordset("SELECT * FROM [" & Clss & "] WHERE [المعرف]=" & ID) If Len(rst![الاسلامية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![العربية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الانكليزية الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الرياضيات الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الحاسوب الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الفيزياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الكيمياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![الاحياء الدرجة بعد الاكمال] & "") = 0 Or _ Len(rst![علم الارض الدرجة بعد الاكمال] & "") = 0 Then Pass = "" ElseIf rst![الاسلامية الدرجة بعد الاكمال] >= 49.5 And _ rst![العربية الدرجة بعد الاكمال] >= 49.5 And _ rst![الانكليزية الدرجة بعد الاكمال] >= 49.5 And _ rst![الرياضيات الدرجة بعد الاكمال] >= 49.5 And _ rst![الحاسوب الدرجة بعد الاكمال] >= 49.5 And _ rst![الفيزياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الكيمياء الدرجة بعد الاكمال] >= 49.5 And _ rst![الاحياء الدرجة بعد الاكمال] >= 49.5 And _ rst![علم الارض الدرجة بعد الاكمال] >= 49.5 Then Pass = "ناجح" Else Pass = "راسب" End If Exit_Pass: rst.Close: Set rst = Nothing Exit Function err_Pass: If Err.Number = 1 Then Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Pass End If 'a = [المعرف] 'a = [تسلسل] 'a = [اسم الطالب الرباعي] 'a = [الصف] 'a = [الشعبة] 'a = [التولد] 'a = [رقم القيد] 'a = [رقم الصفحة] 'a = [اسم الام] 'a = [سنوات الرسوب] 'a = [آخر مدرسة] 'a = [الملاحظات] 'a = [اسلامية معدل النصف الاول] 'a = [اسلامية درجة نصف السنة] 'a = [اسلامية معدل النصف الثاني] 'a = [اسلامية درجة السعي السنوي] 'a = [اسلامية درجة امتحان آخر السنة] 'a = [اسلامية الدرجة النهائية] 'a = [الاسلامية درجة الاكمال] 'a = [الاسلامية الدرجة بعد الاكمال] 'a = [اسلامية] 'a = [العربية] 'a = [الكردية] 'a = [الانكليزية] 'a = [الرياضيات] 'a = [الحاسوب] 'a = [الفيزياء] 'a = [الكيمياء] 'a = [الاحياء] 'a = [علم الارض] 'a = [العام الدراسي] 'a = [نتيجة الدور الاول] 'a = [نتيجة الدور الثاني] 'a = [نتيجة الطالب] 'a = [مواد الاكمال] 'a = [رفـع بقرار بالمواد الدراسية] 'a = [الدرجة المضافة] 'a = [من] 'a = [الى] 'a = [باقي القرار] 'a = [مواد الاعفاء] 'a = [نوع الاعفاء] End Function  
    1570.1.test.accdb.zip
  19. jjafferr's post in تحويل قاعدة البيانات من 32 الي 64 was marked as the answer   
    السلام عليكم 🙂
     
    تقريبا جميع الوحدات النمطية خضعت للتغيير 🙂
    رجاء تجربة جميع الازار 🙂
     
    1566.اخفاء واظهار كائنات الاكسس.accdb.zip
  20. jjafferr's post in كيف نفعل خانة الاختيار فى الفرعى بناءا على خانة اختيار فى الرئيسى was marked as the answer   
    دكتور حلبي ، الظاهر اننا مو فاهمين بعض !!
     
    هذا هو المرفق مرة اخرى.
    العمل تم على الكائنات التي عليها الاسهم ، فانقلها الى برنامجك ، اما بقية الكائنات ، فلم اعمل عليها اي تغيير

     
    1565.تفعيل خانة الاختيار.accdb.zip
  21. jjafferr's post in look up ان يكون له look up اهل يمكن لعنصر من مجموعة was marked as the answer   
    وعليكم السلام 🙂
    اعمل جدول خاص لهذا ، وتحتاج عمودين على الاقل:
    نوع_التوصيل ، اسم_الشركة_المخزن
     
    مثلا:
    شركة ، شركة 1
    شركة ، شركة محمد
    شركة ، شركة المواد الغذائية
    توصيل ، مخزن 1
    توصيل ، مخزن 2
    توصيل ، مخزن 3
    توصيل ، مخزن 4
     
    جعفر
  22. jjafferr's post in تحديد أكثر من عنصر في مربع سرد وتحرير was marked as the answer   
    تفضل يا سيدي 🙂
     
    النموذج والاستعلام هكذا :

    .
    وزر "عرض التقرير" يحتوي على هذا الكود في حدث النقر:
    Private Sub cmd_Preview_Click() Dim varItem As Variant Dim myWhere As String myWhere = "" ' Loop through the selected items in the ListBox For Each varItem In Me.lst_XX.ItemsSelected ' Add each selected item to the string myWhere = myWhere & "'" & Me.lst_XX.ItemData(varItem) & "', " Next varItem ' Remove the trailing comma and space from the string myWhere = Left(myWhere, Len(myWhere) - 2) 'هذه الفقرة الاخيرة بتعطينا المواد التي تم اختيارها بهذا التنسيق: 'الإقتصادية', 'الادارية', 'التربوية' DoCmd.OpenReport "qry_Section_Gender_Count", acViewPreview, , "[Section] in (" & myWhere & ")" 'والامر النهائي يصبح هكذا: 'DoCmd.OpenReport "qry_Section_Gender_Count", acViewPreview, , "[Section] in ('الإقتصادية', 'الادارية', 'التربوية')" End Sub .
    والنتيجة:

     
    جعفر
    1563.baseNN.accdb.zip
  23. jjafferr's post in مشكلة في الجمع داخل التكست بوكس was marked as the answer   
    السلام عليكم 🙂
     
    اي والله اشتقنا لكم 🙂
     
    يجب اخذ اصل البيانات، استعمل هذه المعادلة:
    =Sum(((Nz([Quantity_of_cartons],0)*Nz([pieces in each caton],0))+Nz([JUST PIECES],0))*Nz([اسعار الجملة بالدولار],0)*[VAT_SALE]/100) او =Sum(((Nz([Quantity_of_cartons];0)*Nz([pieces in each caton];0))+Nz([JUST PIECES];0))*Nz([اسعار الجملة بالدولار];0)*[VAT_SALE]/100)  
    جعقر
  24. jjafferr's post in مشكلة في نسخ قيمة من الاستعلام الي تكست بوكس في الفورم was marked as the answer   
    تفضل يا سيدي 🙂
     

    .
    vat_amount $: =DSum("[SumOfSumOfVAT_AMOUNT_$]","[qry_sales_sub_vat_total]","[Sales_Invoice_No]= " & 2) total vat: =DSum("[SumOfSumOftotal_retail_sell_vat]","[qry_sales_sub_vat_total]","[Sales_Invoice_No]= " & 2)  
    رجاء الملاحظة ، بدل الرقم 2 في نهاية الكود ، اكتب اسم حقل "رقم فاتورة المبيعات".
     
    جعفر
    1561.qry to form.accdb.zip
  25. jjafferr's post in ما الحل- مجموعة السجلات هذه غير قابلة للتحديث was marked as the answer   
    وعليكم السلام 🙂
     
    نعم ، قد يوجد هناك حل بتغيير اعدادت الاستعلام الى

    .
    واذا استعملت هذا الاستعلام في نموذج ، فيجب تغيير اعدادات النموذج كذلك 🙂
     
    ولكن هناك نقطة جدا مهمة يجب الالتفات لها ، وهي عند حذف سجل ، فستحذف معلومات بقية الجداول المرتبط كذلك !!
     
×
×
  • اضف...

Important Information