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

محمد ايمن

الخبراء
  • Posts

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

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

  • Days Won

    8

كل منشورات العضو محمد ايمن

  1. والله يا اخي سعيد انا متلك افضل جمل SQL اشعر انها اسهل و اسرع
  2. بشكل مبدئي لديك خطا في النموذج Table1 Requête وهو ان الحقل A1 غير موجود في مصدر البيانات ( الاستعلام ) كما ان الكود الموجود في زر تاريخ اليوم يشير الى اسم نموذج غير موجود اذا كنت تريد التاريخ من الجدول عليك استخدام الدالة Dlookup اما اذا كنت تريد اظهار التاريخ الحالي عند الضغط على الزر عليك كتابة هذا الكود عوضا عن الكود السابق Me.De_A1 = Date اما اذا كنت تريد تحديث التاريخ الموجود في الجدول عليك استخدام جملة SQL للتحديث
  3. تفضل اخي الكريم انشئ مجلد في جهاز السيرفر باسم img في القرص D ولا تنسى مشاركته كما ذكرت لك سابقا جرب ووافينا بالنتيجة program.rar
  4. تفضل اخي الكريم tesetprint.rar
  5. بسم الله ما شاء الله زادك الله علما و نفعا فكرة رائعة بكل معنى الكلمة
  6. انا استخدم 2007 وبرايي هو افضل اصدار
  7. الكود يوضع في زر اختيار الصورة فبعد اختيارها يقوم بترحيل الصورة الى السيرفر طبق الخطوات التالية 1- في جهاز السيرفر انشئ مجلد في القرص D وليكن اسمه img وقم بمشاركته مع السماح للمستخدمين بالتحكم الكامل طبعا هذه الخصائص تحصل عليها من الويندوز كما في الصورة 2- اضف الكود التالي الى نموذج حفظ الصورة في جميع الاجهزة Dim cr As New filesystemobject cr.CopyFile CurrentProject.Path & "\FileName1.jpg", "\\PcName\D:\img\FileName2.jpg", True End Sub filename1 هو اسم الصورة المراد نسخها من جهازك الى السيرفر pcname هو اسم جهاز السيرفر filename2 هو الاسم الذي ستحفظ به الصورة في جهاز السيرفر لاتنسى اضافة المرجع الموضودفي الصورة جرب ووافينا بالنتيجة
  8. اعذرني اخي الكريم ولكن عندك خطا في تصميم البرنامج لان رقم ID هو ترقيم تلقائي ان ان الارقام لن تتطابق بين الجدولين الا بالصدفة يفترض بدل الربط برقم ID ان تضع رقم للمادة في كلا الجدولين و يتم الربط بين الجدولين عن طريق هذا الرقم فكرة حذف سجل بعد بيع البضاعة فكرة خاطئة جدا وبدلا من حذف السجل انشئ جدول يحتوي على حركة المادة وبهذه الطريقة تستطيع ان تعلم ماذا اشتريت و ماذا بعت وطبعا بعد كل عملية بيع او شراء يتم تحديث كمية المادة الموجودة لديك في المستودع
  9. طبعا ممكن ذلك حاول تطبيق الفكرة التالية 1- استخرج مسار السيرفر (الجهاز الذي عليه قاعدة البيانات التي تحتوي على الجدول) 2- عند حفظ الصورة قم بارسالها الى جهاز السيرفر باستخدام الكود التالي Dim CerDll As New FileSystemObject CerDll.CopyFile 1, 2, True استبدل 1 و 2 بالمسارات التالية 1- تمثل مسار الصورة المخرنة في جهازك 2- تمثل مسار الصورة التي تريد تخزينها في جهاز السيرفر
  10. فكرة رائعة استاذي الكريم لكن هناك عيب بسيط فيها وهي ان رسالة التكرار لن تظهر حتى الانتهاء من السجل الحالي كاملا
  11. هل حولت قاعدة البيانات الى SQL ؟؟ اذا حولتها استبدل عبارة dbopentable ب dbOpenDynaset
  12. يمكن عمل ذلك لكن بالنسبة للشرط الثاني وهو ظهور كلمة ( تم التحديث ) فهذه الكلمة ستظهر دوما والسبب ان التحديث آلي اما لو كان يدوي فممكن عمل ذلك شرح الكود Dim Udate1 As Variant Dim Udate2 As Variant Dim Uyear1 As Variant Dim Uyear2 As Variant Udate1 = DLookup("tmonth", "tblmonth") Udate2 = Format(Now(), "MM") Uyear1 = DLookup("tyear", "tblmonth") Uyear2 = Format(Now(), "yyyy") Dim db As DAO.Database Dim rs As DAO.Recordset2 Set db = CurrentDb Set rs = db.OpenRecordset("الاسماء", dbOpenTable) تم تعريف اربع متغيرات وهي تخزن القيم التالية : الشهر المخرن في الجدول الشهر الحالي السنة المخرنة في الجدول السنة الحالية If Udate1 <> Udate2 Then With rs .MoveFirst Do While rs.EOF = False .Edit .Fields(7) = .Fields(7) + 3 .Update .MoveNext Loop End With DoCmd.RunSQL ("update tblmonth set tblmonth.tmonth='" & Udate2 & "'") MsgBox "تم التحديث" End If وضعنا شرط وهو اذا كان التاريخ المخرن في الجدول لا يساوي الشهر الحالي ( يعني شهر جديد ) ننفذ حلقة دورانية لتضيف الى جدول الاسماء 3 ايام لكل اسم If Uyear1 <> Uyear2 Then With rs .MoveFirst Do While rs.EOF = False .Edit .Fields(7) = .Fields(7) + 36 .Update .MoveNext Loop End With DoCmd.RunSQL ("update tblmonth set tblmonth.tyear='" & Uyear2 & "'") MsgBox "تم التحديث" End If الشرط الثاني يقارن السنة المخرنة في الجدول و السنة الحالية وفي حال عدم التطابق ( سنة جديدة ) ننفذ حلقة دورانية في جدول الاسماء لتضيف الى كل اسم 36 يوم testeja1.rar
  13. تحية طيبة استاذ رمهان ممكن شرح الكود
  14. تحية طيبة استاذي الكريم الفكرة في المرفق الثاني رائعة لكن لو اردنا تطبيقها على ثلاث نماذج !!!!!! وكل نموذج يحتوي على عشر حقول يكون الناتج 3*10 =30 سطر وبفرض اردت ان اعدل الكود في هذه الحالة يجب ان اعدل 30 سطر برمجي لذلك فكرت في ان اضع الكود في وحدة نمطية او كلاس في هذا المرفق كنت اتدرب على الوحدات النمطية و الكلاسات و طرق استخدامها
  15. ماهو المقصود بالجدول tblrec هل هو جدول مرتجع المبيعات ؟؟ ام ماذا ؟؟
  16. تحية طيبة استاذنا الغالي رمهان هناك مقولة ( كلما ازداد علمي ازداد علمي بجهلي ) الامثلة السابقة كلها تعاني من خطا اساسي وهو انو الكود يفتح الجدول للتحقق من القيمة و بالتالي اصبح الكود يتحقق من القيمة في الجدول عوضا عن التحقق من القيمة في السجل الحالي طبعا كان السبب هو قلة خبرتي في الاكواد في ذلك الوقت ( منذ 4 سنوات تقريبا ) الحمدلله وصلت للحل و لكن ابتعادي عن المنتدى في الفترة الماضية هو ما انساني اكمال الموضوع منع تكرار القيمة في نفس السجل 10.rar
  17. تفضل اخي الكريم نصيحة : حاول استخدام اللغة الانكليزية في تسمية الحقول و الجداول و النماذج فهي تجنبك الاخطاء البرمجية كثيرا مثال مربع السرد1.rar
  18. المرفق الذي ارسله اخينا عبد الله يعمل و بدون اي مشاكل !!!!!!!!!!!!! جربت كل النماذج والاستعلامات وهي تعمل 100 % اخي الكريم هل لك ان تحدد اين تظهر المشكلة بالضبط هل تظهر المشكلة في نموذج معين او استعلام معين وماهو اصدار الاوفيس الذي تستخدمه
  19. طبعا ممكن ذلك اخي طارق ساوافيك بالمرفق غدا ان شاء الله
  20. تحياتي استاذنا الغالي بالفعل تواردت الخواطر في نفس اللحظة وحتى نفس الكود الذي ذكرته لكنني احببت الاختصار قدر الامكان
  21. اخي سلمان الحمدلله على سلامتك الكود المستخدم للتحديث هو Requery لاحظ الكود في الصورة بعد اختيار النموذج المراد عرضه نضع الكود اصدقك القول اني لم اتعامل مع الوورد من قبل على العموم امهلني بعض الوقت لارى ان كان بالامكان تنفيذ طلبك
  22. تفضل اخي الكريم list box1.rar
×
×
  • اضف...

Important Information