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

Foksh

الخبراء
  • Posts

    2,361
  • تاريخ الانضمام

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

  • Days Won

    85

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

  1. إذا أردت تجربة ايقاف السطر Option Explicit الموجود في بداية الأكواد . وللأسف لدي قاعدة بيانات SQL Server ..
  2. ومشاركة مع الأستاذ خليفة ، الملف بعد التعديل يعمل على النسختين 32 و 64 الجزء الخامس (2).accdb
  3. أخي الكريم أسعد الله مسائك ، بداية في موضوع الحماية هناك نقاط كثيرة غابت عنك أثناء التفكير في حماية مشروعك وبياناتك من النسخ والنقل ....الخ . أولاً :- قد تكون قد اختلفت لديك اعدادات الـ Macro و إعدادات الـ ActiveX في جهازك عن تلك التي في جهاز العميل . هذه الإعدادات بالنسبة لي أفعلها بشكل يدوي عند تثبيت النسخة النهائية لأي مشروع عند العميل. ثانيا :- استكمالاً للحماية انا تمكنت من الدخول الى وضع التصميم دون الحاجة الى الباسوورد وأيضاً استيراد جميع الكائنات في المشروع الى ملف أكسيس آخر وذلك لعدة أسباب . منها أنك لم تقم بحماية محرر الأكواد الـ VBA بكلمة مرور وهو بدوره سيمنع وضع التصميم . أيضاً لحماية قاعدة البيانات لديك يجب أن يكون الملف النهائي بصيغة ACCDE ( وأعلم جيداً أنك قد تعلم هذه النقاط وإنما للتذكير ) . أيضاً موضوع حماية قاعدة البيانات 123 كمثال فكرة لا أتطرق لها إلا في قاعدة بيانات الجداول فقط . بالنسبة للنقطة الثالثة فأعتقد انها مربوطة بالنقطة الأولى . وفي النهاية ملفك فتح معي بشكل طبيعي دون أي أخطاء
  4. في موضوع الحسابات انا اعتمد على جعل القيمة الإفتراضية للحقول الرقمية في الجداول الأساسية = 0 ، لتلافي الوقوع في هذا الخطأ . فينتج دائماً في حال عدم وجود قيم في النماذج بأن يتم تخزين القيمة 0 في الحقول والتي هي مصدر للإستعلامات والتقارير والعمليات الحسابية في النماذج .... الخ . على العموم ملف الأخ ازهر عبد العزيز للإستعلامات يعمل بدون مشاكل وجميع الحقول الفارغة قيمتها = 0
  5. لم لا تتجه الى اتجاه آخر ، وهو عندما يكون التقرير فارغ من البيانات فتظهر رسالة انه لا توجد بيانات لعرضها ،،
  6. مشاركة مع الأستاذ @محمد احمد لطفى .. اخي الكريم الأخطاء بسيطة ، فمثلاً الأمر Exit Sub يجب وضعها قبل اغلاق الجملة الشرطية لا بعدها ، ثم جملة فتح النموذج غير صحيحة والصحيح يصبح كالآتي :- If Me.aa = 1 Then GoTo oo Else MsgBox "يجب كتابة رقم صحيح" Exit Sub End If oo: DoCmd.OpenForm "bb" End Sub لاحظ الفروقات لتتضح الصورة عندك 😊
  7. بارك الله فيك أخي وصديقي @الحلبي ، ده من زوء حضرتك يا دكتور
  8. اخي الكريم الفرز حاجة بسيطة لو كانت المعطيات واضحة ، يعني الفرز على أي أساس 😅 أو على أي حقل سيتم الفرز ؟؟؟ وارفق مثال ليتم النطبيق عليه 😊
  9. ولا يهمك أخي @سامي الحداد ، علمت ذلك ، وأعلم أنها لم تفُتك هذه النقطة . وإنما كان تعليقي بشكل عام
  10. متابعة مع أخي الأستاذ @سامي الحداد ، لا زيادة عنه :- لإتمام العملية المطلوبة ، يجب أن يكون لديك الملف udceng.exe وهو ضروري لنجاح عملية حفظ التقرير على شكل صورة من الرابط التالي ، , والسبب وجود مكتبة خاصةبواسطة البرنامج . ثم يكون أمامك خياران اثنان . وضع الملف الذي تم تحميله من الرابط أعلاه حسب المسار الظاهر لديك في جهازك كما في النقطة رقم 2 . أو اختيار مسار الملف ( ويفضل أن يكون بجانب قاعدة البيانات التي تعمل عليها ) بشكل يدوي كما في النقطة 3 . والنقطة 1 هي إن كان إصدار الأوفيس لديك 32 فلا مشكلة فيها ، وأن كانت النسخة 64 ، فسيكون عليك تعديل الكود إلى التالي :- Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  11. أخي الكريم هناك مواضيع كثيرة تحدثت عن نفس المشكلة . راجع هذا الموضوع ، لعله يفيدك 😊 .
  12. اشكرك على هذا التعليق اختنا @Lamyaa ، لكن الكود الذي ادرجته وجب ان يتحقق من عدد القيم في الباركود اضافة الى ذلك انه يتعامل مع القيم الفارغة في أحد خانات القراءة التي تم بناء الـ QR عليها . وفعلاً كود حضرتك يحقق نفس الغاية تقريباً 😊
  13. الخطأ بداية في اسم الجدول أخي الكريم ،، لاحظ أن الاسم يحتوي على مسافات بين الكلمات . فإما أن تغير اسم الجدول بدون مسافات أو تستخدم علامات الإقتباص [] أيضاً لاحظت أن أسطر الكود طويلة جداً ولم يتم تقسيمها بشكل صحيح ، فتم اعادة تقسيمها لأسطر تسمح بقراءة وتعديل الاستعلام بسلاسة . * ولإدراج أي كود في المشاركة ، حاول استخدام هذه الإشارة . جرب هذا الكود بعد التعديل Dim strSQL As String strSQL = "SELECT [these and dissertations].student_id, [these and dissertations].data_commencement, [these and dissertations].written_exam, [these and dissertations].oral_exam, " & _ "[these and dissertations].[Supervisor name], [these and dissertations].council_number, [these and dissertations].adminis_matter, [these and dissertations].end_courses, " & _ "[these and dissertations].end_study, [these and dissertations].remainder, [these and dissertations].extension_reguest, [these and dissertations].extension1, " & _ "[these and dissertations].extension_number1, [these and dissertations].extension_letter1, [these and dissertations].end_extension1, [these and dissertations].remainder1, " & _ "[these and dissertations].extension_reguest1, [these and dissertations].Extension2, [these and dissertations].extension_number2, [these and dissertations].extension_letter2, " & _ "[these and dissertations].end_extension2, [these and dissertations].Remainder2, [these and dissertations].extension_reguest2, [these and dissertations].Extension3, " & _ "[these and dissertations].extension_number3, [these and dissertations].extension_letter3, [these and dissertations].end_extension3, [these and dissertations].Remainder3, " & _ "[these and dissertations].extension_reguest3, [these and dissertations].message_deliver, [these and dissertations].number_rectifier, [these and dissertations].history_rectifier, " & _ "[these and dissertations].complete_rectifier, [these and dissertations].name_rectifier1, [these and dissertations].the_unversity1, [these and dissertations].books_number1, " & _ "[these and dissertations].history_book1, [these and dissertations].receiving_rectifier1, [these and dissertations].name_rectifier2, [these and dissertations].the_unversity2, " & _ "[these and dissertations].books_number2, [these and dissertations].history_book2, [these and dissertations].receiving_rectifier2, [these and dissertations].discussion_committee, " & _ "[these and dissertations].discussion_date, [these and dissertations].course_rate, [these and dissertations].first_search, [these and dissertations].second_search, " & _ "[these and dissertations].discussion_panel1, [these and dissertations].the_second, [these and dissertations].final_rate, [these and dissertations].Note " & _ "FROM [these and dissertations] " & _ "WHERE ((([these and dissertations].student_id)=" & Forms!Form1!student_id & "));" If DCount("*", "[these and dissertations]", "student_id=" & Forms!Form1!student_id) > 0 Then DoCmd.OpenForm "Form3" Forms!Form3.RecordSource = strSQL Else DoCmd.OpenForm "Form3", , , , acFormAdd Forms!Form3!student_id = Forms!Form1!student_id End If طبعاً متأكد أنك ستجد خطأ في النتيجة ، اخبرني بالنتيجة
  14. في التحديث الجديد :- تخيلوا أن لوحة التحكم الخاصة بتسجيل الحضور والإنصراف هي نفسها التي ستكون لتسجيل المغادرات أثناء الدوام يعني تسجيل الحضور والانصراف والمغادرة والعودة كلها في خانة واحدة .. الحمد لله الذي أعانني على هذا .. انتظروا التحديث القادم فهذه واحدة من الأسرار القادمة والأفكار الغريبة والخدمية
  15. أخي الكريم أرجو منك التوضيح بشكل أوضح ما هو المطلوب
  16. لا اعلم اخي الكريم النسخة التي عندك اي إصدار 32 أو 64 ؟؟ على العموم انا عندي 2016 / 64 بت ، انسخ الكود وضعه في الزر وجرب بدون فتح القاعدة اذا لم تفتح معك
  17. تفضل أخي الكريم .. جرب هذا الكود في الزر الموجود في Form1 ، وأعلمني بالنتيجة . انا بالنسبة لي اعتمدت على مصدر سجلات النموذج Form2 مع إجراء شرط إضافي ليتم المطلوب ، وقد يكون هناك أساليب أخرى عند الأساتذة Dim strSQL As String strSQL = "SELECT grades.id, grades.student_id, grades.material_symbol, grades.average_course1, grades.failing_materials1, grades.passed_materials, grades.course_result123, grades.failling_course2, grades.second_course1_2, grades.another_rate1_2, grades.improve_rate1, grades.improve_rate2, grades.improve_rate3, grades.improve_rate4, grades.final_rate, grades.mark_student, grades.are_agraduate, grades.note, [mateials studies].Sum, [mateials studies].sum2 " & _ "FROM [mateials studies] INNER JOIN grades ON [mateials studies].material_symbol = grades.material_symbol " & _ "WHERE (((grades.student_id)=" & Forms!Form1!student_id & "));" If DCount("*", "grades", "student_id=" & Forms!Form1!student_id) > 0 Then DoCmd.OpenForm "Form2" Forms!Form2.RecordSource = strSQL Else DoCmd.OpenForm "Form2", , , , acFormAdd Forms!Form2!student_id = Forms!Form1!student_id End If وهذا المرفق بعد التعديل :- system1.zip
  18. كلامك سليم 100000 % ، كل العذر منك استاذنا @سامي الحداد ، ولكني فعلاً لم اقم بتجربة المرفق وكنت اتصفح من الجوال هذا دليل ان الواحد مع التعب يحس الاسلاك في مخه تعمل ماس
  19. أسعدك الله في الدنيا والآخرة أخي الكريم ، بما أنك عضو جديد في منتدانا ، فأهلا وسهلا بك .. ارسال مرفق في الطلبات يسهل عليك وعلينا ايجاد الحل لأي مشكلة أو سؤال أو طلب .. فارسل الملف الذي تعمل عليه
  20. في سؤالك أخي الكريم لو وضعت مرفق لكان الأمر أسهل عليك وعلى من يحاول المساعدة ، على العموم جرب هذا الكود في حدث عند النقر ، مع الشرح في الكود . Private Sub btnOpenForm2_Click() Dim stLinkCriteria As String Dim stDocName As String Dim stStudentID As String ' تخزين قيمة student_id في متغير stStudentID = Me.student_id ' تحديد الشكل الذي سنفتحه stDocName = "Form2" ' تحقق مما إذا كان هناك سجل موجود في Form2 يحمل نفس قيمة student_id stLinkCriteria = "[student_id] = '" & stStudentID & "'" If DCount("*", "Form2", stLinkCriteria) > 0 Then ' إذا وجد السجل، افتحه وعرض السجل الموجود DoCmd.OpenForm stDocName, , , stLinkCriteria Else ' إذا لم يجد السجل، أضف سجل جديد واملأ باقي الحقول DoCmd.OpenForm stDocName, , , , acFormAdd, , stStudentID End If End Sub
×
×
  • اضف...

Important Information