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

ابو جودي

المشرفين السابقين
  • Posts

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

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

  • Days Won

    219

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

  1. وبما انك اكتشفت هذه النقطة والتى نسيت ذكرها هذا التعديل عند النقر المذدوج على اى حقل فى السجل يتم نسخ قيمة هذا السجل فى سجل جديد وبما اننى هنا بصدد عرض مجرد فكرة لم اتخذ التدابير اللازمة التى قد تختلف من فكر المصمم من شخص الى اخر يعنى ان ارد احد الاخوة فى هذه الجزئية التى تخص النقر المذدوج انها ممكن بالخطأ تنسخ قيم كل حقول السجل الى سجل جديد ممكن عمل رسالة تنبيه عند النقر المذدوج انت بصدد اضافة سجل جديد من واقع بياانات هذا السجل وبالموافقة على الرسالة يتم النسخ والا يتم التجاهل و احباط العملية Duplicate Last Record (2).mdb
  2. بس للتوضيح انا بالكود او بالاستعلام فى طال الحالتين نعتمد على الاستعلام ولكن بغض النظر عن كونط تريد نسخ بيانات من عدد 11207 سجل وفى كل سجل 8 حقول تقريبا انت تمرر بيانات جدول الحركات والذى يساوى عدد 14267 سجل الى استعلام اعمار1 والذى يقوم بعمل SUM لبعض الحقول يمكن ان نتغاضى عما سبق ولكن لاحظ الاتى الدائن: Nz([مجموع المرتجعات],0)+Nz([مجموع الخصم],0)+Nz([مجموع الدفعات],0 يجب ان تتم هذه العملية الحسابية اولا قبل نسخ قيمة الحقل وكذلك x1: Nz(DSum("المدين","اعمار2","[اسم العميل]='" & [اسم العميل] & "' وكذلك x2: Nz(DSum("الدائن","اعمار2","[اسم العميل]='" & [اسم العميل] & "'"),0) وايضا الباقى: IIf([x1]-[x2]<=0,0,IIf([x1]-[x2]>=[المدين],[المدين],[x1]-[x2])) واخيرا ايام التاخير: DateDiff("d",[التاريخ],Date()) ياله من كم هائل من المعادلات الحسابية المعقدة والتى تتم لكل حقل على حده سم اضف ما قد تغاضينا عنه سالفا الموضوع ليس بتقصير من الاكسس فى الاستعلامات بينما هو كم التعقيدات وكم عدد السجلات التى لابد من معالجتها انظر لترى ما يحدث فى المرفق التالى قمت بعمل كود يقوم بعمل لوب داخل الاستعلام لنسخ قيمة كل حقل منفرده الى الحقل الذى يقابلها فى الجدول وحاولت اظهار ما يتم معالجته اصناء العمل على النموذج انظر InsertTest.accdb
  3. يبدو انك انك مللت ولا تريد استكمال باقى خطوات فتح الملف هذه الطريقة بعد التاكد من فعاليتها وتجربتها خطوة بخطوة صحيح لن تمنع احد من نسخ البرنامج من مكان لاخر ولكن لن يستطيع احد كائن من كان الدخول لوضع التصميم
  4. هل هذا يعمل معك سيدى ستخبرنى لاحقا واعرف بظهور رسالة تفيد انك لا تملك صلاحيات تشغيل هذا الملف ولن يفتح اصلا users lvl group By Access.zip والاستاذ @عبد اللطيف سلوم لو تكرمت فضلا وكرما اخبرنى انت ايضا بعد تجربتك ومحاولة فتح الملف بنفس الرسالة هذه المرة انت كذلك
  5. يا اخى انا كتبت لك الكود صح وانت ادرى ببرنامج انت عامل اصلا حدث عند النقر على المنصرف عامة اتفضل للتعديل.accdb
  6. طيب من فضلكم ممكن تجربة القاعدة الاتية test.rar استاذ @عبد اللطيف سلوم انتظر ردك بعد التجربة
  7. من فضلك حسب بياناتك لو ذهبت الى هذا المسار C:\Program Files (x86)\Microsoft Office\root\Office16 على جهاز الكمبويتر تبعك لوجدت ملفات الاوفيس هنا ومن ضمنها الملف MSACCESS.EXE وهذا ما يهمنى ممكن تتأكد وتبلغنى النتيجة من فضلك
  8. طيب تمام لو انه قام بانشاءه لابد من وضعه فى مسار محدد ويتم استدعاءه من خلال الدهول الى محرر الاكودا فى الجزء Immediate ووضع الكود DoCmd.RunCommand acCmdWorkgroupAdministrator ليقوم بعمل استعراض الملفات للذهاب اليه للارتباط بالقاعدة والا لن تفتح القاعدة اصلا ----------------------- ومؤخرا فى عملى اصبحت استخدم الربط هذا من خلال الشوركت حتى لا اضطر الى الدخول لمحرر الاكواد بعمل شورت كت للقاعدة ووضع هذا السطر فى الــ Target "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "D:\xxx\zz.mdb" /WRKGRP "C:\Secur\Secured.mdw" ولكن هنا لابد من معرفة اصدار نواة كل من الويندوز و الاوفيس ومكان االاوفيس على الجهاز بعد اعداده "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" ---- الجزء الثانى مكان قاعدة البيانات واسمها D:\xxx\zz.mdb الجزء الثالث مسار ملف السيكيورتى جروب "C:\Secur\Secured.mdw" لو اختلف اى معامل من الثلاث لن تفتح القاعدة اصلا عند العميل تحت امرك جارى عمل مثال حالا من اجل عينيك يا استاذى الكريم و اخى الحبيب تدلل بس بالاول ليعمل عندك كم نواة الوندوز والاوفيس لديك 64 او 32 كل على حده وما هو اصدار الاوفيس ؟؟ انا مثلا عندى لا يعنينى اصدار الويندوز فقط نواته اما الاوفيس لابد لى من معرفة اصدار الاوقيس ونواة الاوفيس انا مثلا ويندوز 64 بيت و اوفيس 2019 نواة 32 بيت اعطنى تلك البيانات استاذ عبد @عبد اللطيف سلوم
  9. الست تقصد يا استاذى الملف ذات الامتداد mdw الذى يحدد صلاحيات دخول المستخدمين من خلال معالج اوفيس ليحدد من يستطيع الفتح فى وضع التصميم ومن له حق القراءة والتهديل او القراءة فقط او الحذف او التعديل على كل كائنات القاعدة باسمها اما جداول او استعلامات او نماذج Microsoft Access Workgroup Information File اعتمادات تسجيل الدخول التي تمكن المستخدمين من الوصول إلى قاعدة بيانات محددة تابعة لـ Access وفق صلاحيات محدده لكل مجموعة مستخدمين
  10. المشكلة قائمة مع نقل الملف كما انه سيضطر من ربطه بقاعدة البيانات ليتمكن من ادخال اليوزر والمستخدم الخاصين بفتح القاعدة لمجموعة العمل كما سيعطى هو صلاحيات تبعا لما يراه هو كمبرمج وبفقدة من عند العميل لن تفتح القاعدة او بفقد الارتباط لن تفتح او بتغيير نظام التشغيل
  11. الله اعلى اعلى واعلم ولكن نما الى علمى ان هناك برامج مدفوعة ترجعها مرة اخرى
  12. هههههههههههههههههههههههههههه دائما الحماية تتوقف وتقتصر على من يستطيع كسرها ودائما فوق كل ذى علم عليم ---------------- ريح بالك وسلم امرك الى الله فدائما هى مسألة وقت لمن اراد التلاعب من كان رزقه على الله قلا يحزن وفى السماء رزقكم وما توعدون يكفيك كتابة سطر واحد انك لا تحل لمن ينسخ عملك بطريقه غير شرعيه من خلالك او حتى يحاول التعديل عليه دون الرجوع اليك وترفع امره الى الله احكم الحاكمين الذى يعلم السر وما اخفى وتذكر معى ومن يعمل مثقال ذرة خيرا يره ومن يعمل مثقال ذرة شرا يره دائما هى الحماية نسبية فلا تشغل بالك بها كثيرا هههههههههههه هناك بنوك يتم قرصنتها
  13. ولكن على كل حال ان اردت افكار اخرى احاول مساعدتك وان اردت تطبيق ما سبق على ارض الواقع بامثله عمليه يسعدنى كذلك مساعدتك ولكن تذكر اما ان العميل بتضرر وهو صاحب حق واما انت تتضرر من هذا وانت صاحب الحق ان كان العميل لعوبا ويخاول بيعه او تعميمه
  14. ممكن بس مش مرنه لصاحب القاعدة - اسم الكمبيوتر واسم المستخدم - زرع ملف من قاعدة البيانت من جدول محدد فى مسار محدد ويتم حذف الجدول وكلما وجدت القاعدة هذا الملف عند الفتح تعمل والا لاء طبعا ولانك تحذف جدول زرع الملف بعد الاستخدام الاول ستظل تعمل الا ان يتم فقد الملف من مساره وممكن نفكر تانى بس تخيل ان العميل غير الويندوز او الجهاز ما العمل؟ طبعا لن تتوجه للعميل فى كل مرة بنفسك يقوم بتغيير جهازه او نظام تشغيله لتعيد اليه برنامجه وان العميل سيتصل بك تليفونيا لتحل مشاكله من خلال الهاتف قد تنسخ القاعدة لجهاز اخر فى هذه الاثناء وانت لا تدرى
  15. سبحان الله والله الاكسس خاف منك استاذى القدير ومعلمى الجليل والله وانا انفذ الكود لم يتحقق ولكن اعتقد كان ذلك عندما كان الكود كله قطعة واحدة قبل ان افصله الا او انتظر قد يكون لاننى عندما استخدمت هذا الاسلوب فى عملى بسبب النت ورك احتجت اليها SpecialCopy DoCopy
  16. له دور استاذى القدير ومعلمى الجليل ان كان السجل الاول يتم ادخاله الان فى الجدول لابد من التحديث حتى استطيع نسخ القيم ان اردت نسخها لاننى هنا اعتمد فى طريقتى على نسخ القيم من السجل الاخير بعد الذهاب اليه اولا جرب مسح الجدول نهائيا وافتح النموذج وبعد تسجيل اول سجل انسخه بدون هذا السطر من الكود
  17. اولا اعتقد حضرتك لم تنتبه لتفعيل KeyPreview = True للنموذج الفرعى من التبويب الخاص بوضع الاحداث كما يمكنكم وضع هذا الكود بدلا منها ات اردتم Private Sub Form_Load() Me.KeyPreview = True End Sub
  18. هنا تم سرد الموضوع وشرح سريع للفكرة والية استخدام الاكواد
  19. السلام عليكم ورحمة الله تعالى وبركاته اولا وقبل اى شئ لم يتم ترتيب اسماء اساتذتى الكرام الذين تم كتابة اسمائهم لسبب محدد فالترتيب لا يعنى اى شئ اطلاقا فجميعهم النجوم اللامعة بمن نقتضى منهم فى هذا الصرح نهتدى ان شاء الله كما خو الحال مع باقى الاساتذة الذين لم اكتب اسمهم فلا يعنى ذلك اى شئ كلهم فى مرتبة واحدة وكلهم معلمينا الافاضل لا غنى لنا عنهم عذا فقط مجرد مثال اسرد اليكم الشـرح سريعا لفكرتى قبل البدء قد يتفق معى من يتفق ويختلف من يختلف لذلك انتظر ارائكم ان شاء الله فيشيد بهذه الطريقه من يشيد و يعترض من يعترض فنخرج ان شاء الله بأطيب النتائج هنا ان شاء الله اتعامل مع جدول باسم tblMainData والذى يختوى على الحقول A,B,C ونموذج باسم يضم الحقول على الترتيب txtA , txtB, txtC هذا الكود حتى اهئ النموذج للتعامل مع اختصار المفاتيح من الكيبورد Private Sub Form_Load() Me.KeyPreview = True End Sub وهذا الجزء حتى اسند القيم التى احتاج لنسخها الى متغيرات وكتبته هكذا ليسهل استدعاءه وقت الحاجة Private Sub SpecialCopy() 'الاعلان عن المتغيرات Dim VarFildeA As Variant Dim VarFildeB As Variant Dim VarFildeC As Variant 'اسناد قيم مربعات النص الى المتغيرات VarFildeA = txtA VarFildeB = txtB VarFildeC = txtC DoCmd.GoToRecord , , acNewRec 'سجل جديد 'نسخ قيم المتغيرات الى مربعات النص في السجل الجديد txtA = VarFildeA txtB = VarFildeB txtC = VarFildeC 'تفريغ المتغيرات VarFildeA = Empty VarFildeB = Empty VarFildeC = Empty End Sub وهذا الجزء لاسناذ القيم من المتغيرات الى مربعات النص للسجل الجديد وكتبته هكذا ليسهل استدعاءه وقت الحاجة Private Sub DoCopy() DoCmd.RefreshRecord If DCount("[ID]", "tblMainData") = 0 Then DoCmd.RefreshRecord Exit Sub ElseIf DCount("[ID]", "tblMainData") >= 1 Then If NewRecord Then DoCmd.GoToRecord , , acLast Call SpecialCopy Else Call SpecialCopy End If End If End Sub طبعا هنا اتأكد اولا ان كان هذا السجل الاول فى الجدول ام لا قبل ان تتم عملية اسناد القيم التى اريدها واهيرا استدعاء الكود من هلال زر امر لتنفيذ عملية نسه السجل الاأهير وقت الحاجة Private Sub BtnDuplicate_Click() Call DoCopy End Sub وهذا الجزء كما يقولون عنه الـ Hot Key استدعاء الكود من خلال زر من الكيبورد عن الضغط عليه Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 117 Then ' استبدل هذا الرقم برقم المفتاح بالاعلى كما يحلو لك Call DoCopy KeyCode = 0 Exit Sub End If End Sub تنويه ببعض الحيل ان اردنا نقوم بنسخ سجل محدد ان اردنا سجل بعينه تبعا لشرط او شروط محدده حسب ما تقتضى الحاجة واخيـــرا المرفق Duplicate Last Record.mdb
  20. اتفضل استاذى العزيز واخى الحبيب استاذ @REDA.M.A اتمنى على الله تعالى ان يكون هذا طلبك انظر الى الكود المستخدم على مربع التحرير والسرد كود التصنيف كان هذا كودك قديما Private Sub كود_التصنيف_AfterUpdate() If Me.NewRecord Then Me.رقم_امر_الصرف = Me.Parent!نص57 End Sub والان وحسب فهمى اتمنى على الله ان يكون فى محله صار التعديل للكود بهذا الشكل Private Sub كود_التصنيف_AfterUpdate() If [Form_نموذج تجميع].البـــــاقي >= Me.الصافى Then Else If MsgBox("الصافى المنصرف اكبـــر هل تريد الاستمرار", vbYesNo, "CHECK") = vbNo Then DoCmd.CancelEvent Me.Undo Else If Me.NewRecord Then Me.رقم_امر_الصرف = Me.Parent!نص57 End If End If End Sub للتعديل.accdb
  21. انا اسف جدا جدا جدا جدا لتأخرى على حضرتكم بسبب ظروف خارجه عن ارادتى ان شاء الله اقوم بالتعديل الان وبمجرد الانتهاء ارفع لكم مرفقكم ان شاء الله
  22. وحتى لا يكون اسلوبى تشتيت للموضوع او للتركيز ان شاء الله بعد انتظار الرد الوافى والجواب الشافى من استاذى الجليل و معلمى القدير و والدى الحبيب الاستاذ @ابوخليل سوف اعرض طريقتى ولكن قبل ان اعرضها هى قد تكون مطوله بعض الشئ ولكن تعطينى التحكم الكامل الشامل والممل فى كل تفصيلة صغيرة او كبيره كانت حسب ما يدور بخلدى
  23. هل بحثت بالمنتدى قبل وضع سؤالك اتفضل
  24. الشكر لله سبحانه وتعالى وكل الفضل من الله عزوجل استأذن حضرتك قمت بالتأشير على مرفقكم بأفضل إجابه لانه الاسرع فى الوصول الى النتيجة لكل من يبحث عن ذلك شكرا لك بل كل الشكر والتقدير لشخصكم الكريم
×
×
  • اضف...

Important Information