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

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    239

كل منشورات العضو ابوخليل

  1. شوفت اخوي محمد لما رفعت البيانات كاملة امكنني فحص الخلل وعلاجه مازال تاريخ التسديد ناقص 2000 سجل ولكني اعتمدت تاريخ الأذن المشكلة من النظام نفسه لا يسمح باكثر من 9500 سجل التي هي القيمة الافتراضية لذا يجب تعديلها بهذا السطر DAO.DBEngine.SetOption dbMaxLocksPerFile, 45000 انا جعلتها 45000 يمكنك انقاص الرقم او زيادته ليصبح الكود هكذا : Dim rs As DAO.Recordset Dim i As Long Dim x As Integer Dim r As String DAO.DBEngine.SetOption dbMaxLocksPerFile, 45000 Set rs = CurrentDb.OpenRecordset("SELECT Sheet1.cod, Sheet1.num , Sheet1.date_ezen fROM Sheet1 ORDER BY Sheet1.nname,Sheet1.cod , Sheet1.date_ezen ") If rs.RecordCount > 0 Then rs.MoveLast rs.MoveFirst Else Exit Sub End If r = rs!cod x = 1 For i = 1 To rs.RecordCount rs.Edit If rs!cod = r Then rs!num = x x = x + 1 Else x = 1 r = rs!cod rs!num = x x = x + 1 End If rs.Update rs.MoveNext Next rs.Close: Set rs = Nothing تفضل المثال بعد التعديل افتح الاستعلام بعد عملية الترقيم لترى النتيجة
  2. تقصد قبل التحديث ؟ تمام .. والذي اذكره ان المشكلات دوما في الفرعي مادام منضما للجدول .. والحل الجذري هو عدم انضمامه
  3. لو تأكدت من البيانات قبل الارسال المصنف يحتوي اكثر من 10600 سجل منها اكثر من 2000 بدون تاريخ يبدوا ان مشكلتك في عدم اكمال الترقيم من هذا الباب
  4. تمام هذا مخرج لمن يواجه المشكلة بالنسبة لقاعدت البيانات التي لدي لا مشكلة عندي ان ارسلها بصيغة accdb لو الذي سيعمل عليها محترف ولكن من باب الحماية من العبث او الخلل غير المقصود وبالنسبة لامتداد accdr عمل بكل سلاسة على 64 .. الف شكر اخي العزيز ابو بسملة .
  5. اذا لديك تصور للعملية اهم شيء قبل النماذج هو تأسيس الجداول بطريقة شاملة وصحيحة اذا عملت جداولك بدقة لم تترك شاردة او واردة فيما يدور في مخيلتك فاعتبر نفسك اجزت 80% من البرنامج دوما انصح بضبط الجداول ( حسب الاسس الفنية والعلمية) فهي التي تسهل بقية العمل وتساعد على الاحتراف المبكر
  6. رأي ان مشروع الدواجن مثل اي مشروع انتاج ماشية / دواجن / طيور ... التكلفة والمصاريف : 1- تكلفة التأسيس : المكان الملائم .. ايجار/انشاءات / مسلخ ونتافات / حاضنات البيض .. الخ 2- مشتريات الدواجن . 3- الأعلاف والمياه 4- مصاريف النظافة والمتابعة 5- مصاريف العلاج والدواء 6- مصاريف اخرى المبيعات : 1- مبيعات الدجاج (حي/ مذبوح) ومبيعات الصوص 2- مبيعات البيض المهم في الأمر ضبط ما تنفقه على مشروعك وما يعود عليك من مال . بالمختصر انت بحاجة الى عمودين في جدول للمصروف وللوارد ، ان كنت قمت بدراسة الجدوى فهذا شيء طيب ... والا بعد سنة سيتضح لك كل شيء .. .. قد تستمر وتتوسع .. وقد تتوقف
  7. الحذف يتم في الجداول مياشرة على اعتبار رقم التسلسل في جدول 1 هو عبارة عن المعرف في الجداول الآخرى الحذف يتم على كل جدول باستثناء جدول1 .. لكل جدول سطر يخصه الكود واضح وسهل الفهم فقط استبدال مسميات الجداول والحقول بالتسميات التي لديك DoCmd.SetWarnings False DoCmd.RunSQL "DELETE tbl2.*, tbl2.idStud2 FROM tbl2 WHERE tbl2.idStud2 = [Forms]![frm1]![IDStud]" DoCmd.RunSQL "DELETE tbl3.*, tbl3.idStud3 FROM tbl3 WHERE tbl3.idStud3 = [Forms]![frm1]![IDStud]" DoCmd.RunSQL "DELETE tbl4.*, tbl4.idStud4 FROM tbl4 WHERE tbl4.idStud4 = [Forms]![frm1]![IDStud]" DoCmd.RunSQL "DELETE tbl5.*, tbl5.idStud5 FROM tbl5 WHERE tbl5.idStud5 = [Forms]![frm1]![IDStud]" DoCmd.SetWarnings True DoCmd.Requery
  8. اولا تأكد ان خصيصة جميع النماذج : تأمين السجلات= سجل محرر ثانيا اذا قاعدة الجداول بامتداد accdb ولا تحتوي على حقول محسوبة في الجداول جرب جعل القاعدة الخلفية على امتداد mdb واجلب لها الجداول ( ليس بتغيير الامتداد فقط وانما بقاعدة بيانات تم عملها على 2003 وهو الافضل .. اوتحويلها عبر ادوات اكسس ) هي تجربة لن تخسر شيئا ... ربما نجحت واستفدنا من هذه التجربة هو لم يصلحها بعينها بل استبدلها ( ضغط واصلاح) ، والنسخة الاحتياطية هي قاعدتك السابقة
  9. المتغيرات في الكود ليس لها علاقة بعدد الارقام فالمتغير x يمثل رقم صحيح مع انه لا يتجاوز بضعة ارقام فهو يتراوح بين 1 وآخر قسط للعميل طيب سوف نغير دالة الدوران ونرى هل يعطي نتيجة كاملة ام لا اذا لم يعطي نتيجة فانت ملزم برفع البيانات كاملة للتطبيق عليها عن قرب ... الاسماء وبقية البيانات لا تهم ، فقط حقلبن كود العميل وتاريخ السداد وحقل فارغ للترقيم Dim rs As DAO.Recordset Dim i As Long Dim x As Integer Dim r As String Set rs = CurrentDb.OpenRecordset("SELECT Sheet1.cod, Sheet1.num , Sheet1.na_id , Sheet1.date_sdad fROM Sheet1 ORDER BY Sheet1.nname,Sheet1.na_id , Sheet1.date_ezen ") If rs.RecordCount > 0 Then rs.MoveLast rs.MoveFirst Else Exit Sub End If r = rs!cod x = 1 For i = 1 To rs.RecordCount rs.Edit If rs!cod = r Then rs!num = x x = x + 1 Else x = 1 r = rs!cod rs!num = x x = x + 1 End If rs.Update rs.MoveNext Next rs.Close: Set rs = Nothing
  10. اعود مرة اخرى احبتي ؛ ماذا عن الامتداد accdr هل جربه منكم احد ؟ علما اني ارسلت القاعدة بهذا الامتداد وانتظر النتيجة
  11. لم اجد طريقة لاكتشاف الخلل ، ولا يمكنني التجربة ... بسبب عدم اكتمال البيانات صحيح الجدول الثاني يحتوي اكثر من 47 الف سجل ولكن لا يوجد تاريخ يتم من خلاله الترقيم جرب هذا الحل لعل وعسى ، وهو جعل الكود يذهب الى آخر سجل ثم يعود الى اول سجل .. قبل التشغيل Dim rs As DAO.Recordset Dim x As Integer Dim r As String Set rs = CurrentDb.OpenRecordset("SELECT Sheet1.cod, Sheet1.num , Sheet1.na_id , Sheet1.date_sdad fROM Sheet1 ORDER BY Sheet1.nname,Sheet1.na_id , Sheet1.date_ezen ") If rs.RecordCount > 0 Then rs.MoveLast rs.MoveFirst Else Exit Sub End If r = rs!cod x = 1 Do While Not rs.EOF rs.Edit If rs!cod = r Then rs!num = x x = x + 1 Else x = 1 r = rs!cod rs!num = x x = x + 1 End If rs.Update rs.MoveNext Loop rs.Close: Set rs = Nothing
  12. شكرا اخي العزيز واستاذنا الفاضل ابو بسملة .. جزاك الله خيرا لا عجب لو قلت انني قرأت هذا الموضوع من وقت قريب بل ايام معدودات عندما طرحه استاذنا ابو جودي فالعتب على العمر .. قاله من قبلي حين سئل كيف اصبحت ؟ قال : اصبحت اذكر البعيد وأنسى القريب والشكر موصول لأخينا وحبيبنا ابي جودي .
  13. السلام عليكم ارسلت برنامج عملته على اوفيس 10 32 بت ووندز 32 بت ، لعميل جهازه وندوز 64 وافيس 32 ، ويعمل بلا مشاكل عندما نقله الى جهاز يحتوي على اوفيس 64 لم يتمكن من فتحه وظهرت له رسالة تخبره باختلاف النواة هل من حلول احبتي ؟
  14. والطريقة الاخرى هي نقل البيانات الى الجدول عبر الكود ..،، في هذه الحال تكون الواجهة غير مرتبطة بالجدول اعمل حقل جديد في الجدول نصي او رقمي ، واجعل الخصيصة مطلوب = نعم وبدون قيمة افتراضية لن يتم حفظ السجل حتى تدخل قيمة في هذا الحقل اذا اردت تحديث النموذج او اغلقته من غير النقر على زر حفظ ستظهر رسالة اكسس المعتادة التي تخبرك انه لا يمكن الحفظ هذه الرسالة مزعجة ويمكن تجاوزها واستبدالها برسالة افضل نأتي لزر الحفظ في اعلى زر الحفظ ستدرج قيمة في الحقل المذكور صفر او واحد او اي شيء هذا كل شيء
  15. الكود يتعامل مع جدول Sheet1 ومن خلال فرز التاريخ يتم الترقيم وفي مثالك الجدول cod_id لا يحتوي حقل التاريخ وبما انك اضفت هذا الجدول الذي يشتمل على الآلاف سوف احاول معاجة الامر من خلال الجدولين
  16. المنتدى مليء بمثل هذه المواضيع اكتب في البحث كلمة : تحزيم وهذا واحد منها ملحوظة : تم دمج الموضوعين
  17. طبعا لا اعمله انا ولكني استفيد ممن سبقني ، ومن الاعمال الموجودة والتي في المتناول ، مادام الأمر متاح وينجز العملية بكل احترافية والتي هي برامج التحزيم برامج التحزيم عديدة ومنها winrar في برامج التحزيم خصائص ومزايا عديدة تمكنك من كثير من الاجراءات .. مثل : 1- فرض توجيه وتنصيب مجلد البرنامج في مكان محدد ( بمعنى انه لن يتمكن العميل من تغيير الهدف ) طبعا هو اختياري عند التحزيم 2- ادراج ملفات داخل مجلد النظام ( مكتبات ) ويمكن تطبيقه في غرس ملفات الحماية 3- تشغيل ملفات تنفيذية اثناء التنصيب او بعد اكتماله ( تسجيل المكتبات / تخفيض امان اكسس ) ويمكن تطبيقة في الحماية بكتابة بيانات في الريجستر 4 - اعطاء كل مجلد او ملف او صورة خصيصة : 1- ( الكتابة فوقه = نعم / لا ) 2- ( الحذف عند الغاء التنصيب = نعم / لا ) ومزايا اخرى عديدة ،،، مثل عمل ملف الالغاء وتسجيل البرنامج ضمن قائمة برامج وندوز ... الى غير ذلك .. بالنسبة للمرة الأولى وتنصيب التحديث مستقبلا ((( اذا اتفقنا ان قاعدة الجداول لا يمكن التعرض لها ))).. فهنا نعطيها في البند الرابع : لا في الخصيصتين والبرنامج الذي يتم تنصيبه عند العميل كتحديث هو نفسه الذي يتم تنصيبه كجديد لأول مرة يبقى اشياء ثانوية كالشعارات والصور التي يتميز بها كل عميل عن الآخر .. فالافضل نطبق عليها ما عملناه مع قاعدة الجداول في الخصيصة الاولى فقط ( الكتابة فوقها = لا ) لأنه في المرة الأولى سيقوم هو باستبدال الايقونات او الشعار الافتراضي للبرنامج .
  18. لم افهم هذه الجزئية بالضبط لأنها تحتمل اكثر من طريقة تنفيذ على كل حال عدلت على الاكواد الموجودة بحيث اذا الرقم غير موجود .. يمكن اضافة بيانات جديدة له وحفظها امل ان تلبي طلبك userid3.rar
  19. اخي العبيدي وجدت لك مثال نادر قد اتحفنا به الاستاذ احمد @Bluemind زميل لنا سابق .. مع بعض التصرف المثال رائع يقوم بتسجيل التعديلات على جميع النماذج تسجيل التغييرات الحادثةفي جميع النماذج.rar
  20. الموضوع مكرر وكان الاولى بصاحب الموضوع ان يتابع في موضوعه السابق اعلاه يغلق ،،،
  21. حلمك ابا احمد صاحب الموضوع هو من يلام على عدم المبادرة وسرعة الاستجابة ، لانه الوحيد المستفيد في الوقت الحاضر والذي يهمه الموضوع ومع ذلك نلتمس له العذر ... فهو بعيد في اليمن .. فقد لا يتهيأ له الانترنت على مدار الساعة .. والغايب عذره معه علما انني من البداية اظهرت له عدم قناعتي بطريقة التصميم ، لأنها لا تنتمي الى اكسس ، بل هي اقرب الى بيئة اكسل
  22. جزاك الله خير اخوي موسى صاحب الموضوع يتحدث عن هذا . وتصور اخونا قاسم بان يطلب ان يرسل العميل له قاعدة الجداول فيعمل عليها التحديثات .. هي آمن الطرق ولكن نبحث مع الأمان ان تكون المسألة عملية سهلة وسلسة ويقوم العميل بها بنفسه . وهذا ما اشرت اليه في مشاركتي السابقة .. من خلال استيراد البيانات من القديم بالنسبة لموقع الجداول والربط الآلي .. فلسنا بحاجة الى اكواد للربط .. فموقع البرنامج مفروض وموجه سلفا ... من خلال التنصيب ... ومع ذلك وجود الكود وظهور مربع حوار يطالب بربط الجداول شيء اساسي في كل برنامج . التجارب تفتق الذهن لعمل ضبط متكامل مع ان اكثر ما اعمله باستمرار هو تحديث الواجهات ، فاني ارسل الواجهة الجديدة للعميل بملف تنفيذي ، وعلى العميل تشغيله فقط ومن خلالها تتم عملية الاستبدال . برامجي اقوم بتنصيبها اما في مجلد C:\Program Files او على محور C:\ مباشرة واستثني قاعدة الجداول من الازالة فيما لو تم الغاء التنصيب بمعنى لو قمت بالغاء التنصيب فسوف يتم حذف جميع ما بداخل مجلد البرنامج ما عدا قاعدة الجداول
×
×
  • اضف...

Important Information