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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    117

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

  1. اهلاً وسهلاً بك معنا في أسرتنا المتواضعة أخي الكريم ، وبما أنك عضو جديد فنرجو أن تلقى هنا ما يسرك وما يلبي حاجتك وطلبك في هذا المنتدى .. نرجو منك متابعة مواضيعك بإغلاقها باختيارك للإجابة التي تم حل مشكلتك فيها من قبل الأساتذة والأخوة . وذلك دلالة على أن الموضوع كان حله هذه الإجابة وقد تم اغلاقه .
  2. في التحديث الجديد ، سيتم الإعتماد على الفكرة المطروحه هنا في هذا الموضوع " رافع ملفات جوجل درايف 2025 " ، لكن مع اختلاف بسيط جزئي سيتم طرحه حال الإنتهاء من التحضير له وضبطه من جميع جوانبه ، تجنباً لأي أخطاء عند الإستخدام .
  3. عذراً لمن اتنتظرني بأن أرفق الملف مفتوح المصدر وتأخرت عليه ،، لن أرفق الأكواد هنا لتعددها وطولها .. GD Uploader.accdb
  4. وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم بدايةً لا تستغرب من عدم الرد على موضوعك والتجاوب معه . فلا اعتقد انه يوجد حاجة لارسال المشروع كاملاً ، وقد يكفي ارسال ما له علاقة من مكونات تسهيلاً على من يحاول تقديم المساعدة ولفهم المشكلة بشكل أوضح وأبسط وأسرع . ثانياً وحتى لا أطـيـل عليك ، مشروعك يحتاج الى إعادة الهيكلة والبناء .. ثالثاً لماذا اعتمدت على أن يكون الحقل "idproduct" في الجدول "tabsu" مفتاح أساسي مع العلم أنه ليس له اي علاقة مع اي حقل ؟؟؟؟ والأصل هو ان يكون هذا الحقل - والذي اعتقد انه يمثل رقم المنتج - مفتاح أساسي فقط في جدول الأصناف أو المنتجات "product" ، ومن هناك يكون له علاقات مع ما يختص به من توابع . حاول إلغاء المفتاح الأساسي عن هذا الحقل واعتقد ان مشكلتك سوف تنتهي . فالأصل في جسم الفاتورة هو ان تكون مرتبطة برقم الفاتورة بين رأس الفاتورة وجسم الفاتورة ( إن جاز التعبير ) .
  5. الملف بدعم الإصدار 32 بت . Main.accdb
  6. راجع هذا الموضوع
  7. كل الشكر والتقدير والاحترام لك ولجميع من ساهم في طرح الحلول .. من وجهة نظري الشخصية المتواضعة ؛- 1. بناء على الحلول فإنه لا فائدة من إبقاء الحقل الخاص بالفلس بوحدة "Double" !! 2. جرب مثلاً ان تكون إحدى القيم 0,05 على سبيل المثال لا الحصر ، كم ستكون النتيجة !!! 3. أعتقد - واعتقادي غير ملزم - بأن الصحيح والمنطقي هو الإهتمام بمصدر بيانات الحقل ، فهو كفيل بتحقيق أهدافك دون الحاجة لعناء إجبار الحقل على تحديث قيمه من خلال استعلام. ولكن بما أنك أوضحت أن المصدر هو سجلات موجودة مسبقاً ، فقد تسقط لديك هذه النقطة. شكراً لكم ، والحمد لله انك وجدت الحل 😇🤗 .
  8. أشكر مرورك العطر ،، طبعاً بلا شك سيتم الدعم للإصدار 32 يا صديقي 🤗
  9. بارك الله فيك وبك ، وبأهلك ومالك وعافيتك .. المقلوبة والمنسف رهن إشارتك يا زلمة ،، شكراً لمرورك
  10. شرفتني بمرورك أستاذنا الجليل @ابوخليل وهذا اقل واجب لمنتدانا الكبير .. وجزاك الله خيراً لما دعيت ، ونسأل الله تمام الصحة والعافية لكم وللجميع
  11. الآن التحديث الجديد يدعم صيغ آكسيس جميعها ، وخصوصاً لمن سألني عن Accde . لا تغيير على الملف الرئيسي في المرفق التالي . تم تحديث واجهة التحديث كما في الصورة التالية :- 3. تحسين عملية التحميل . Main.accdb
  12. ما شاء الله ، تبارك الله أبدعت أخي @ابو البشر ، عمل جميل وأفكار جميلة .. أعتذر لتأخري في اضافة الملف مفتوح المصدر ، لكنها قريبةً جداً ان شاء الله جزاك الله خيراً
  13. في ظل نوع الحقل الحالي ، لا اعتقد ذلك للأسف ، ما لم يكن هناك رأي آخر لمعلمينا والأساتذة الأفاضل .
  14. وعليكم السلام ورحمة الله وبركاته ,, بما أن الحقل في الجدول نوع الرقم أو حجم الرقم = Double فأنصحك بتحويل القيمة عند ادخالها الى عدد صحيح ، مثلاُ بدلاً من أن تكون القيمة = 0.5 = 5 فلسات مثلاً اجعلها من المصدر تأتي رقم صحيح = 5 . هذا لأنه عند تغييرك من Double الى Integer على سبيل المثال ، سيتم تعويض القيمة من 0.5 الى 1 بالتقريب لأقرب 1 صحيح . أو أن تجعل نوع الحقل من رقمي الى نصي ، وهنا تستطيع كتابة اي قيمة تريدها دون التعديل في مصدر الحقل ( حسب النموذج والحقل الذي هو مصدره هذه الحقل ) هذا من وجهة نظري والله أعلم ,
  15. أخي الكريم بعد رؤية الملف المرفق ، وطريقة بنائه الغير سليمة إطلاقاً ، واستخدامك للغة العربية كما تفضل المهندس @Eng.Qassim ، إنصحك بإعادة بناء ملفك بشكل سليم
  16. ليس صحيحاً أخي الكريم ,,, انظر المرفق modif.accdb
  17. أخي الكريم ، جربت كود الإستعلام التالي :- UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date());
  18. هذا قد يعني ان الجزء المسؤول عن اضافة القيمة الى الحقل تشوبه شائبة ، وأنا لا أحب التفكير في المكونات الغير صرورية 😁
  19. مشاركة مع الأستاذ @kanory UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date()); اذا كنت تريد استخدام هذا الإجراء بشكل سنوي لتحديث قيمة السنة 🤗 . عذراً ، لم انتبه لمشاركة الأستاذ @سامي الحداد 🤗 .
  20. أهلاً اخي الكريم ، نعتذر عن التأخير ، ولكن بسبب تعدد المشاريع لم يسعفني الوقت لاستكمال التحديثات التي وعدتكم بها ، لكن بأقرب فرصة إن شاء الله 😇 .
  21. ما شاء الله ، الله يعطيك العافية مهندسنا @ابو جودي .. .. اسمح لي بسؤال بسيط لولبي .. هل تمت التجربة على اضافة مسارات على جهاز آخر في الشبكة ؟؟؟؟؟؟؟؟؟؟؟؟؟
  22. المشكلة اللي بتحصل عندك سببها أن التاريخ الذي يتم إدخاله في قاعدة البيانات يتم تفسيره بشكل خاطئ بسبب اختلاف تنسيق التاريخ بين التنسيق (الشهر/اليوم/السنة) والتنسيق الذي تستخدمه (اليوم/الشهر/السنة) . ولحل هذه المشكلة تقدر تستخدم الدالة Format لتنسيق التاريخ بالطريقة الصحيحة التي تفهمها قاعدة البيانات عندك . فاقترح تعديل الكود لاستخدام Format لضمان أن التاريخ يتم إدخاله بالشكل الصحيح . جرب التعديل التالي .. Sub DuplicateRecords() Dim db As DAO.Database Dim rs As DAO.Recordset Dim newPCode As Long Dim todayDate As String Dim sqlInsertLab As String Dim sqlInsertRequest As String Dim sqlInsertTests As String ' فتح قاعدة البيانات الحالية Set db = CurrentDb() todayDate = Format(Date, "mm/dd/yyyy") ' تنسيق التاريخ بالشكل الصحيح ' جلب آخر PCode من جدول tbl_NewLab لتجنب التكرار Set rs = db.OpenRecordset("SELECT MAX(PCode) AS MaxPCode FROM tbl_NewLab") If Not rs.EOF Then newPCode = rs!MaxPCode + 1 Else newPCode = 1 ' في حالة عدم وجود سجلات End If rs.Close ' استبدال المرجع بالصيغة الصحيحة Dim currentPCode As Long currentPCode = Forms!New_Project!newRequest.Form!PCode ' إدراج السجل الجديد في tbl_NewLab sqlInsertLab = "INSERT INTO tbl_NewLab (DDate, PCode, Pname, Name_Month, C_Year, Area, Code_Month, Mon_Year) " & _ "SELECT #" & todayDate & "#, " & newPCode & ", Pname, Name_Month, C_Year, Area, Code_Month, Mon_Year " & _ "FROM tbl_NewLab WHERE PCode = " & currentPCode db.Execute sqlInsertLab ' إدراج السجل الجديد في tbl_NewRequest sqlInsertRequest = "INSERT INTO tbl_NewRequest (PCode, TCode, Date_R, Price_R, Tname_R) " & _ "SELECT " & newPCode & ", TCode, #" & todayDate & "#, Price_R, Tname_R " & _ "FROM tbl_NewRequest WHERE PCode = " & currentPCode db.Execute sqlInsertRequest ' إدراج السجل الجديد في tbl_NewTests (إذا لزم الأمر) sqlInsertTests = "INSERT INTO tbl_NewTests (TCode, TName, Price) " & _ "SELECT TCode, TName, Price " & _ "FROM tbl_NewTests WHERE TCode IN (SELECT TCode FROM tbl_NewRequest WHERE PCode = " & currentPCode & ")" db.Execute sqlInsertTests MsgBox "تم تكرار السجل بنجاح مع تحديث PCode والتاريخ.", vbInformation End Sub Private Sub أمر4030_Click() DuplicateRecords End Sub او انك تعيد تنسيق التاريخ في كمبيوترك لما يتناسب مع المطلوب تحقيقه ..
  23. تفضل اخي الكريم Private Sub delz_AfterUpdate() If Len(Me.delz) > 0 Then Me.delz = Mid(Me.delz, 2) End If End Sub Private Sub Form_Load() Dim db As DAO.Database Set db = CurrentDb() db.Execute "UPDATE delz " & _ "SET delz = Mid(delz, 2) " & _ "WHERE delz IS NOT NULL AND Len(delz) > 1", dbFailOnError Set db = Nothing Me.Requery End Sub بدون تحديد الشرط 🤗 .
  24. على العموم ، جرب الفكرة التالية Private Sub delz_AfterUpdate() If Left(Me.delz, 1) = "Z" Then Me.delz = Mid(Me.delz, 2) End If End Sub Private Sub Form_Load() Dim db As DAO.Database Set db = CurrentDb() db.Execute "UPDATE delz " & _ "SET delz = Mid(delz, 2) " & _ "WHERE delz IS NOT NULL AND Len(delz) > 1 AND Left(delz, 1) = 'Z'", dbFailOnError Set db = Nothing Me.Requery End Sub
  25. مشاركة مع الأستاذ @أبوبسمله ، لوقرأت الكود في مشاركة سابقة في الموضوع السابق لك ، لكنت حصلت على النتيجة التي تريدها 😉 الفكرة الى حد ما مشابهة، على العموم سؤال ، هل الشرط عندك حرف Z فقط !!!! ام هناك شروط أخرى
×
×
  • اضف...

Important Information