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

ابو جودي

أوفيسنا
  • Posts

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

  • Days Won

    202

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

  1. ان شاء الله اجيبك واتيك بنا يسر قلبك ولكن لى سؤال لماذا تكرر كتابة تلك القيم مرارا وتكرارا فى كل شهر وتحمل الجدول والقاعدة ببيانات ممكن عدم تكرارها اصلا كان يكفى ان يكون جدول المستأجرين به كل البيانات مره واحده فقط وعمل علاقة بين جدول المستأجرين وجدول الايجار برقم المستأجر او ايا كان مفتاح الربط الذى تربط من خلاله
  2. نعم هذا منطقى وتقريبا احسست بذلك ولكن استرسلت فى الحديث لتوضيح الفكرة لاخوانى ولتترسخ فى ذهنك بعد اجابتى عليك انت فى المرفق الاول كنت تريد جلب قيمة واحدة فقط لذلك لا يوجد مشكلة وكما اشار الاستاذ جعفر المرفق يعمل وهذا اضحكنى واخجلنى لانى والله فعلا اقوم واعود الى الجهاز ولم انتبه لعرض المشاركات وقد اقوم واعود وانا لم اكمل المشاركة قبل اضافتها فخجلت كثيرا لانى لم انتبه لاستاذى الجليل ومعلمى القدير ومن مشاركته ونعود لموضوعنا انت فى الاصل تريد جلب اكثر من قيمة لذلك طريقتك لن تكون فعاله ولذلك لو تتذكر أخبرتك منذ قليل
  3. المرفق مع السجل الجديد يجلب المعدل كما تريد مع الاسم وهذا ما تريده ان يتم التسجيل لكل اسم اكثر من سجل مع احضار قيم ثابته من اول سجل اين المشكله اذن
  4. فعلا المرفق ما فيه مشكله لم انتبه اصلا ان الاستاذ جعفر موجود ومشاركا معنا
  5. طيب ممكن اعمل لحضرتك مرفقا بـــ الانجليزية انا باتعب جدا مع اللغة العربية وان اعجبتك الفكرة انت حولها الى العربيه هاهاهاه للعلم انت تريد الـ DLookup على طريقة استاذى الجليل ومعلمى القدير الاستاذ @jjafferr بس لى عندك طلبا مسبقا قبل ان ابدأ هل يمكنك اختيار شئ ثابت بدلا من الاسم
  6. يعنى انت تريد سجل جديد بنفس الاسم احمد مع بياانات محدده فقط تتكر لحقول محدده دون تدخل منك وحقول اخرى ستدخل انت قيم تريدها انت ؟
  7. شوف انا انتظر رد الاستاذ @عبد اللطيف سلوم لانه سيحسم الامر للعلم الى الانلم افهم مقصده تمام وسيتبن لاحقا من رده علينا انا اعتقد والله اعلم ان التعبير خانه فى سرد كلماته حسب فهمى انا تقريبا انه يريد لو ان الاسم موجود ميبقا لا يضيف سجل جديد بل يجلب هذا السجل وان اردا تعديل اى شئ يقوم بذلك وفى حالة عدم وجود الاسم اصلا يتم اضافة السجل الجديد عادى جدا
  8. ههههههههههه بداية اخونا الحبيب الاستاذ @عبد اللطيف سلوم يريد ان يحضر المعدل من الجدول ان كان الاسم موجود مسبقا وبنفس الوقت تستطيع اضافة بيانات جديدة 
  9. اولا انا حتى اموت سأظل اتعلم ودائما سأكون طواقا الى العلم وبنهم وشغف شديدين ثانيا انا لم ولن اقلل من طرحك حتى تبرر بكل ما تفضلتم به انا اتعلم العلم حتى ولو من طفل صغير وابجله واقدره على ذلك اعوذ بالله من الكبر اخى الحبيب والله طلبى هذا ليس استخفافا بكم او كبرا عليكم والله فعلا قد اتعلم منك شيئا قد لا اكون اعرفه ان طرحت الحل من وجهة نظرك قد يكون لاسلوب تفكيرك مذاق مختلف وهذا ما انتظره غير ان الحل بأكثر من فكرة وباكثر من طريقة يعود علينا جميعا بالنفع
  10. اولا قبل اى شئ ننتظر منكم مرفقا بالمكان الصحيح والمكان الصحيح لنتعلم
  11. من واقع المرفق الطالب المعرف الاسم الهاتف المعدل النتيجة 1 احمد 078 88 ناجح 2 احمد 077 46 راسب بادئ ذى بدئ اؤيد وبكل شدة رأى اخى الحبيب الاستاذ @مسفر هنا الاسم تكرر دائما لن تأتيك الا النتيجة التى تخص السجل الأول اون كنت تريد الكود الذى يأتيك بالبيانات دون اضافة سجل جديد اليك الحل استبدل سطر الكود تبعك بهذه الأكواد Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.FindFirst "[الاسم] = '" & Me![fname] & "'" If Not rs.NoMatch Then Undo Me.Bookmark = rs.Bookmark MsgBox ("موجود من قبل ") End If سؤال على ديلوكاب.accdb من وجهة نظرى الثوابت التى تريحك تمام ويمكنك الاعتماد عليها بدلا من الاسم لان الاسم قد يتكرر مع الكثيرين من الاشخاص - رقم الشقه اعتقد فى العمارة الواحد رقم الشقة لا يتكرر مطلقا -رقم هوية المستأجر فرقم الهوية ايضا حتما لم يتكرر لشخص اخر
  12. شوف يا سيدى الفاضل السطر الاول ايقاف رسائل الاستعلام DoCmd.SetWarnings (False) كود فتح الاستعلام DoCmd.OpenQuery "اسم الاستعلام" إعادة الوضع الطبيعى مرة أخرى بتشغيل رسائل الاستعلام DoCmd.SetWarnings (True) بعدم وجود السطر الاخير لن تظهر رسائل الاستعلام مرة اخرى لهذه القاعدة الا بعد الاغلاق والفتح مرة اخرى
  13. تدعى علينا لماذا يا اخى لا اله الا الله الم نقدم المساعدة بقدر المستطاع
  14. ههههههههههه استنى بس هى المشكلة مش فى انك تغير الاسم فى القاعدة انت تحتاج تغير اسم الصورة بالحاسب الالى و التى تناسب الاسم فى الحقل بما سوف يتم تغيره
  15. وانا ايضا لا ادرى استاذى الحبيب @عبد اللطيف سلوم الموضوع محتاج لقيل من الشرح بالتفصيل اولا متى تريد فتح النموذج الاخر -- المبلغ -- كما اخبرك استاذى الجليل ومعلمى القدير المبجل الاستاذ @AlwaZeeR هكذا يتم النقل بس لا ادري اين اضع الامر وبعد ان تنقل القيمة الا هناك ماذا بعد الشرط الذى يخص الاسم بالنموذج الاساسى فما هو الرابط الذى يربط بين قيم النموذجين ام انك مستقبلا تريد نقل الاسم والتكلفة ؟ ولاحظ انك سألت سؤالين فى موضوع واحد رجاء لتغليب المصلحة العامة على المصلحة الشخصية نحافظ على قواعد المشاركات سؤال واحد فقط وافتح للسؤال الثانى موضوع مستقل والا لن تجد الا القفل المتين على الموضوع ونجد على العنوان مغلق
  16. عاوز التعديل على المرفق ده واللا على المرفق الرئيسى الاخر اللى منت تريد اظهار الامتداد به داهل الاستعلام وانتبه هنا نتعامل مع نموذج مفرد رئيسي اما هناك مع نموذج فرعى
  17. طبعا تجد داخل الموديول ايضا اسطر لتحويل الارقام من انجليزية الى عربية ArbNmbr(myData) انظر الان مرة اخرى الى الاستعلام Query1 data(2).accdb
  18. اخى الحبيب ان شاء الله الموضوع بسيط جدا بدايةً الكود يبدأ من الموديل '-------------------------- ' لتحويل الأرقام الى الإنجليزية Public Function RstNmbr(myData As String) 'As Integer myData = Replace(myData, ChrW(1632), ChrW(48)) myData = Replace(myData, ChrW(1633), ChrW(49)) myData = Replace(myData, ChrW(1634), ChrW(50)) myData = Replace(myData, ChrW(1635), ChrW(51)) myData = Replace(myData, ChrW(1636), ChrW(52)) myData = Replace(myData, ChrW(1637), ChrW(53)) myData = Replace(myData, ChrW(1638), ChrW(54)) myData = Replace(myData, ChrW(1639), ChrW(55)) myData = Replace(myData, ChrW(1640), ChrW(56)) myData = Replace(myData, ChrW(1641), ChrW(57)) RstNmbr = myData End Function '-------------------------- RstNmbr اسم المتغير العام الرئيسى الذى سنستدعيه لاحقا فى باقى القاعدة حسب وجهة النظر myData والموجود بين الاقواس هو المتغير الفرعى الذى يعتمد عليه المتغير الرئيسي وهو الذى سوف يساوى البيانات التى نريد معالجتها والتى هنا تمثل الارقام العربية وهذا الجزء من الكود هو دالة الاستبدال Replace(myData, ChrW(1632), ChrW(48) ولان الارقام تتكون من 0 الى 9 تم كتابة السطر هذا عشر مرات لكل رقم وهنا نخبره فى السطر الاول اذا وجدت ChrW(1632) اى الرقم صفر بالعربية قم باستبداله الى صفر بالانجليزية والذى يساوى ChrW(48) ومدلول هذه الداله ChrW() تستخدم لارجاع الارقام التى ستكتب داخل القوسين الى الترميز العالمى unicode لذلك ما يتم كتابته من خلال هذا الترميز لا علاقة له لا بالخطوط داخل الويندوز ولا بلغة الحاسب الالى حتى وستجد هذا السطر داخل القاعدة فى رأس الموديول https://www.ssec.wisc.edu/~tomw/java/unicode.html وهو الموقع الذى يحتوى على كل الرموز والحروف القى عليه نظرة وبهذا شرحنا الكود تفصيلا المستخدم فى الموديول باقى الان كيف نتعامل معه فى باقى كائنات القاعدة انظر الى الاستعلام Query1 فى وضع التصميم لان الحقل الذى بيه الارقام بالعربيه اسمه cod يتم استدعاء الكود كالاتى RstNmbr([cod]) طيب بما انك تريد تحويل الارقام داخل الجدول انظر الى استعلام التحديث باسم qryRstNmbr هنا فقط طلبت منه تحويل القيم فى الحقل cod الى القيم بعد تمريرها للكود بالموديل بس خلاص
  19. طيب خلينى اسأل سؤال على طريقتى انا الاكسس بمجرد فتح النموذج يقوم بعمل فحص لــ RECORD-LEVEL LOCKING تمام وبناء عليه يتم تغيير الايقونة الا الان كل شئ تمام ما هو الامر الذى يظهر فى هذا الوقت حالة RECORD-LEVEL LOCKING
  20. امممممممممم وكيف يتم التعامل مع هذا الكود متى نقوم بعمل CALL له وكيف
  21. وبما انك اكتشفت هذه النقطة والتى نسيت ذكرها هذا التعديل عند النقر المذدوج على اى حقل فى السجل يتم نسخ قيمة هذا السجل فى سجل جديد وبما اننى هنا بصدد عرض مجرد فكرة لم اتخذ التدابير اللازمة التى قد تختلف من فكر المصمم من شخص الى اخر يعنى ان ارد احد الاخوة فى هذه الجزئية التى تخص النقر المذدوج انها ممكن بالخطأ تنسخ قيم كل حقول السجل الى سجل جديد ممكن عمل رسالة تنبيه عند النقر المذدوج انت بصدد اضافة سجل جديد من واقع بياانات هذا السجل وبالموافقة على الرسالة يتم النسخ والا يتم التجاهل و احباط العملية Duplicate Last Record (2).mdb
  22. بس للتوضيح انا بالكود او بالاستعلام فى طال الحالتين نعتمد على الاستعلام ولكن بغض النظر عن كونط تريد نسخ بيانات من عدد 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
  23. يبدو انك انك مللت ولا تريد استكمال باقى خطوات فتح الملف هذه الطريقة بعد التاكد من فعاليتها وتجربتها خطوة بخطوة صحيح لن تمنع احد من نسخ البرنامج من مكان لاخر ولكن لن يستطيع احد كائن من كان الدخول لوضع التصميم
×
×
  • اضف...

Important Information