اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

kkhalifa1960

الخبراء
  • Posts

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

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

  • Days Won

    64

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

  1. تفضل استاذ @بلال اليامين . Bilal_Yamen.rar
  2. واذا حابب تولد حقل (معرف) ديناميكياً. اولاً : لا تنسى الربط بين النموذج الرئيسي والنموذج الفرعي (المعرف - المعرف) وليس (المعرف - معرف). ثانياً : اليك المرفق معدل بما سبق . dcount2-1.rar
  3. استاذ @عمر2006 هل هذا ماتقصد .
  4. اللهم إنا نسألك بأسمائك الحسنى وبصفاتك العلا وبرحمتك التي وسعت كلّ شيء، أن تمنّ على استاذ بلال بالشفاء العاجل، وألّا تدع فيه جرحاً إلّا داويته، ولا ألماً إلا سكنته، ولا مرضاً إلا شفيته، وألبسه ثوب الصحة والعافية عاجلاً غير آجل، وشافِه وعافِه واعف عنه، واشمله بعطفك ومغفرتك، وتولّه برحمتك يا أرحم الراحمين.
  5. المشكلة واضحة تمامًا: الخطأ "Overflow" يحدث لأن الرقم 2025000100 يتجاوز الحد الأقصى لنوع البيانات Long في VBA، والذي هو: (Long∈[−2,147,483,648 إلى 2,147,483,647]) لكن الرقم الذي تحاول توليده هو عشرة أرقام، أي يتجاوز هذا الحد. ✅ الحل المقترح: استخدام Double بدلًا من Long غير نوع الإرجاع والمتغيرات من Long إلى Double لتسمح بالأرقام الأكبر: Public Function GenerateID(TableName As String, fieldName As String) As Double Dim currentYear As Integer Dim yearPrefix As String Dim maxID As Double Dim serialPart As Long currentYear = Year(Date) yearPrefix = CStr(currentYear) maxID = Nz(DMax(fieldName, TableName, fieldName & " LIKE '" & yearPrefix & "*'"), yearPrefix & "00") serialPart = CLng(Mid(CStr(maxID), Len(yearPrefix) + 1)) GenerateID = CDbl(yearPrefix & Format(serialPart + 1, "0000")) End Function ✨ ملاحظات إضافية: استخدمت Format(..., "0000") لضمان أن الجزء التسلسلي يبقى دائمًا بأربعة أرقام. تأكد أن الحقل في الجدول (fieldName) من نوع Double أو Text وليس Long. إذا كنت تستخدم هذا الرقم كمفتاح أساسي (Primary Key)، ففكر في استخدام Text بدلًا من رقم لتجنب مشاكل مستقبلية. هل تحب أن نضيف تحققًا إضافيًا لتفادي التكرار أو نربط هذا التوليد بحدث معين في النموذج؟
  6. استاذ @بلال اليامين اين ردك أو سؤالك ... هل تحب اسوي لك فيديو لطريقة العمل ؟.
  7. اللهم إنا نسألك بأسمائك الحسنى وبصفاتك العلا وبرحمتك التي وسعت كلّ شيء، أن تمنّ على مهندسنا قاسم ووالدته بالشفاء العاجل، وألّا تدع فيهما جرحاً إلّا داويته، ولا ألماً إلا سكنته، ولا مرضاً إلا شفيته، وألبسهما ثوب الصحة والعافية عاجلاً غير آجل، وشافِهما وعافِهما واعف عنهما، واشملهما بعطفك ومغفرتك، وتولّهما برحمتك يا أرحم الراحمين.
  8. استاذ @Bshar حل الاستاذ خليفة ماهو الا تنسيق شرطي !!!!!!!!!!
  9. يجد لديا فكرة من على الكمبيوتر الذي تعمل عليه القاعدة خذ نسخة منها ثم حولها الى امتداد mdb. ثم افتحها على الكمبيوتر الجديد .
  10. تفضل استاذ @2saad طلبك بعد التعديل واضفت الترقيم الجديد. هل يوجد كطلب أخر . انا حاضر . 2saad-1.rar
  11. تفضل استاذ @husseinharbyالبرنامج وطريقة عمله . من هنــــــا .
  12. تفضل استاذ @2saad طلبك بالاستعلام (qry_NormalizeName) والحقل (TeacherName) قبل الازالة والحقل (TName) وبه طلبك ولو تريد أي شئ أنا حاضر . هل تحب أضيف كمان توسيع الدالة بحيث تنظف أي مسافات مزدوجة أو رموز غير مرغوبة (زي التنوين أو التشكيل) قبل الترتيب الأبجدي . 2saad.rar
  13. https://www.youtube.com/watch?v=E83PtY8JjfI https://www.youtube.com/watch?v=VQ4T0OvwZjc
  14. استاذ @Hamtoooo اليك طريقة اسهل وبدون استعلام خارجي وبدون نموذج فرعي وتعمل على كل الحقول . اليك الشرح والمرفق . ووافني بالرد . Hamtoooo.rar
  15. تفضل استاذ @Matin_Murad تفضل هذا مرفق متكامل قد يفي بطلبك حسب مافهمت . أي سؤال أو طلب أنا حاضر . ووافني بالرد. Matin_Murad.rar
  16. الرقم صحيح 19 وطبعأً انت بتتعامل مع أكسس والدليل بالشرح . New Test.accdb
  17. اذا القاعدة امتدادها (mdb) ممكن جداً أما (accdb) فصعب .... أما (mde) أو (accde) فلا يمكن ابداً. والله أعلم.
  18. تفضل استاذ @بلال اليامين طلبك حسب مافهمت . Bilal_Yamen.rar
  19. ملاحظة مهمة: تأكد من أن الجداول التالية موجودة في قاعدة البيانات: BonSortie (جدول أذونات الخروج) Intervenant (جدول الفنيين) BonSortiePiece (جدول قطع أذونات الخروج) Piece (جدول القطع) Equipement (جدول الآلات) اسم النسخة المختصرة: Qry_BonSortie_Basique SELECT BonSortie.num_bon, Intervenant.nom, Intervenant.prenom, BonSortie.date_emis, BonSortie.code_eq, Piece.designation, BonSortiePiece.code_piece, Equipement.nom_eq FROM (((BonSortie INNER JOIN Intervenant ON BonSortie.code_iter = Intervenant.code_iter) INNER JOIN BonSortiePiece ON BonSortie.num_bon = BonSortiePiece.num_bon) INNER JOIN Piece ON BonSortiePiece.code_piece = Piece.code_piece) INNER JOIN Equipement ON BonSortie.code_eq = Equipement.code_eq ORDER BY BonSortie.num_bon ASC;
  20. هكذا كما قال استاذ @Foksh تابع الشرح .
  21. حاضرين أخي في أي وقت ويكفينا انك انسان مهذب .
  22. تفضل المرفق بعد التعديل بــ أكسس 2016 لا تستخدم الماكرو للفتح أو الغلق .... استخدم محرر الاكواد . جرب بعد التعديل ووافني بالرد . برنامج مصروفات Office 2016-2.rar
  23. تفضل استاذ @AhmedEmam حصلت لك مرفق من مكتبي . اليك الشرح والمرفق . أكتب طلبك وانا بعدل أي شئ تريده . ووافني بالرد . ChangeAllFormsColor.rar
  24. جرب المرفق بعد التعديل واذا ظهر الخطأ افتح قاعدة جديدة على الكمبيوتر الذي به أكسس 2016 واستورد محتويات القاعدة به . ووافني بالرد. برنامج مصروفات 2016-1.accdb
  25. تفضل استاذ @layan.ali93 . Private Sub office_AfterUpdate() Dim strCriteria As String Dim varResult As Variant ' تأكد من أن رقم الكتاب والجهة ليست فارغة If Nz(Me.no_of_io, "") <> "" And Nz(Me.office, "") <> "" Then ' صياغة شرط البحث strCriteria = "[no_of_io] = '" & Me.no_of_io & "' AND [office] = '" & Me.office & "'" ' البحث عن سجل مطابق في الجدول varResult = DLookup("id_mas", "master_t", strCriteria) ' إذا تم العثور على نتيجة، يعني أن السجل موجود مسبقًا If Not IsNull(varResult) Then MsgBox "رقم الكتاب والجهة تم إدخالهما مسبقًا.", vbExclamation, "تنبيه" End If End If End Sub
×
×
  • اضف...

Important Information