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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    131

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

  1. أهلاً وسهلاً بك أخي الكريم ، وبما أنك منتسب جديد ، فمن واجبي لفت انتباهك الى عدة نقاط ، منها :- 1.حاول الإبتعاد عن التسميات العربية للحقول والجداول والنماذج والعناصر والمكونات لقاعدة البيانات ( الاستعلامات - التقارير ... إلخ ) . 2. حاول أن لا تستخدم أسماء من مقطعين وإن اضطررت استخدم إشارة Under Score " _ " للفصل بين المقاطع بدلاً من استخدام المسافة . 3. ابتعد عن التسميات الني تبدأ برموز وحروف خاصة أو أرقام . 4. أيضاً لا تقم باستخدام مسميات محجوزة لآكسيس ، وللتوضيح أكثر تابع هذا الموضوع لأستاذنا @ابوخليل من هنا . 5. تذكر ان اختيار افضل إجابة - ( كما فعلت في اختيارك لمشاركتك كأفضل إجابة ) - يعني انك وجدت الحل وأن هذا الموضوع قد تم اغلاقه . أما بالنسبة لسؤالك ، فلن تستطيع تغيير نوع الحقل ما لم تقم أولاً بإلغاء العلاقة بين الحقول المرتبطة ( بين الجدولين ) !!
  2. بناءً على ما فهمته منك ، هذه فكرتي البسيطة ,, أولاً في الكومبوبوكس الأول "مربع_تحرير_وسرد4099" ، استخدم الحدث التالي بعد التحديث :- Private Sub مربع_تحرير_وسرد4099_AfterUpdate() Me.PNAME = Me.PNAME & Me.مربع_تحرير_وسرد4099 End Sub وفي الليست بوكس "nname" ، استخدم الحدث التالي عند النقر المزدوج (على سبيل المثال أو أي حدث تريده) :- Private Sub nname_DblClick(Cancel As Integer) Me.PNAME = Me.PNAME & Me.nname End Sub الملف المرفق :- 2025.zip
  3. للأسف في حقل الترقيم التلقائي ، لا يمكنك اظهار القيمة ما لم تقم بتحرير أو اضافة اي قيمة في اي حقل (مربع نصي ) ، لذا بدلاً من حقل الترقيم التلقائي في الجدول ، استخدم الدالة DMax لإضافة ترقيم في الحقل ، مع ضرورة تغيير نوع الحقل من ترقيم تلقائي الى حقل رقمي . هذا والله أعلم ن ما لم يكن هناك معلومة غير هذه .
  4. الف سلامة عليك أستاذ @Eng.Qassim .. ولا غنى عنك ،وأسأل الله لك الشفاء من كل سقم
  5. سيتم اعادة بناء الفكرة لتعتمد RollBack
  6. شرح مبسط لما تم تعديله :- 1. قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي بناءً على UserLevel الخاص بالمستخدم الحالي 2. تعديل الاستعلام في النموذج الفرعي frmq1 ليتعامل مع القيم المتغيرة في TempVars!UserLevelTemp الخطوة 1 : في النموذج الرئيسي frmSearch ، قمت بتعديل الكود لتعيين TempVars!UserLevelTemp بشكل ديناميكي كما في الكود التالي بعد التعديل :- Private Sub أمر1_Click() Dim UserLevelTemp As Variant UserLevelTemp = DLookup("[UserLevel]", "tbluser", "[UserNam]='" & Me.txtuser & "'") TempVars!UserLevelTemp = UserLevelTemp DoCmd.OpenForm "frmSearch" End Sub هنا يتم تعيين TempVars!UserLevelTemp مباشرة من قيمة UserLevel الخاصة بالمستخدم الحالي ، سواء كانت تحتوي على قيمة واحدة (مثل 2) أو قيم متعددة (مثل 1, 2) . الخطوة 2 : تعديل الاستعلام في النموذج الفرعي frmq1 ليصبح :- SELECT tblEmp.*, tblEmp.EmpLevel FROM tblEmp WHERE InStr(TempVars!UserLevelTemp, tblEmp.EmpLevel) > 0; شرح الاستعلام :- الدالة InStr : تبحث عن وجود EmpLevel داخل TempVars!UserLevelTemp إذا كانت النتيجة أكبر من 0 ، فهذا يعني أن EmpLevel موجود ضمن TempVars!UserLevelTemp على سبيل المثال: إذا كان TempVars!UserLevelTemp = "1, 2" و EmpLevel = 1 ، فإن InStr ستعيد 1 (لأن 1 موجود في "1, 2") إذا كان TempVars!UserLevelTemp = "2" و EmpLevel = 1 ، فإن InStr ستعيد 0 (لأن 1 غير موجود في "2") ... وهكذا اتمنى ان يكون الشرح وافي لما تم تعديله وتطبيقه .
  7. تقبل الله منكم ومنا الطاعات
  8. لا يمكنك قفل عنصر وهو قيد التركيز ، حتى لو من أي حدث ، ويجب عليك نقل التركيز لعنصر آخر لتنفيذ القفل أو عدم التمكين عليه
  9. لا يتم الاستيراد من قائمة تحتوي على كومبوبوكس يا صديقي ،، للأسف .
  10. جرب انقل التركيز لزر أو عنصر آخر قبل تعطيل العنصر الهدف ..
  11. تأكد من أن اسم السيرفر و رقم المنفذ صحيحين عند الاتصال ، جرب استبدال اسم السيرفر بـ 127.0.0.1 على سبيل المثال :- Server=127.0.0.1;Database=YourDB;User Id=YourUser;Password=YourPass; أيضاً على حد علمي SQL Server يستخدم المنفذ 1433 بشكل افتراضي ، لذا يجب السماح به في Windows Firewall جرب الأمر التالي في CMD كمسؤول :- netsh advfirewall firewall add rule name="SQL Server" dir=in action=allow protocol=TCP localport=1433 هذا على حد علمي والله أعلم ..
  12. هل هذا صحيح ؟؟ اوفيسنا.accdb
  13. لا تحتاج كود أخي الكريم ، ولكن يجب ان تنتبه لنقطة مهمة ، بما أن القيمة التي سيتم إدراجها في الحقل = نصية ، فيجب تغيير نوع الحقل من رقمي الى نصي للحقل Age !!!! جرب هذه الفكرة في المرفق :- EMPTY TEXT.accdb
  14. ما شاء الله .. إبداااع وتحديث جديد لمولد كلمات المرور بارك الله فيك أستاذ @فريدالطحان
  15. وعليكم السلام ورحمة الله وبركاته ، أخي @Mohamed Abo Elala ، هلا ارفقت مثال على طلبك ليتم التطبيق عليه ,, هناك فكرة علها تفيدك ولكن بعد ارفاقك للملف .
  16. السلام عليكم أخي @moho58 ، اعتذر عن التأخير .. تفضل هذا تعديلي على كامل أكواد النموذج بما يحقق طلبك في الفلترة والحفظ . جرب وأخبرني بالنتيجة .. BASER.accdb
  17. أشكرك أستاذ @أبوبسمله على مرورك العطر ، وبارك الله بك على دعائكم ، ولكم من الدعاء أضعاف مضاعفة . شرح الأداة إن شاء الله قريباً . فيما سبق كانت الصورة المرفقة لشرح الخطوات كما هي من المصدر حتى يتعرف من ليس له خبرة كافية أن يستدل على ما هو مطلوب من خطوات ، وقد تم تطبيق فلترة ضبابية في الصور على باقي الأجزاء التي ليس لها داعي في شرحنا . ولاحقاً في شرح الأدوات المستخدمة سيكون الشرح عبارة عن أكواد ولن تحتاج التركيز على أماكن محددة في الشرح بإذن الله 🤗 .
  18. وعليكم السلام ورحمة الله وبركاته ,, إذا أردت أن تجد الحل لطلبك ؛ أنصحك بإرفاق قاعدة بيانات آكسيس ، وليس عرض بوربوينت
  19. أعتقد أن المشكلة قد تكون في أن الاستعلام الفرعي لا يأخذ رقم الموظف num عند اختيار السجلات السابقة . جرب هذا التعديل يا صديقي للإستعلام مصدر سجلات التقرير .. SELECT tbl_note_administrative.*, IIf([annet]=[Forms]![frm_imprimer_note_administratif]![annet1],1,2) AS RecordType FROM tbl_note_administrative WHERE (((tbl_note_administrative.annet)=[Forms]![frm_imprimer_note_administratif]![annet1] Or (tbl_note_administrative.annet) In (SELECT TOP 2 t.annet FROM tbl_note_administrative t WHERE t.annet < [Forms]![frm_imprimer_note_administratif]![annet1] AND t.situation_special = "القيام بالخدمة" AND t.situation_poste_travail = "موظف" AND t.num = tbl_note_administrative.num ORDER BY t.annet DESC )) AND ((tbl_note_administrative.situation_special)="القيام بالخدمة") AND ((tbl_note_administrative.situation_poste_travail)="موظف")) ORDER BY tbl_note_administrative.annet DESC;
  20. سيتم المتابعة بأقرب فرصة ، بعد الإجازة 🤗 .
×
×
  • اضف...

Important Information