استاذ ابو خليل..انا لاحظت المرفق سابقا
تركيبة الملف حسبما اظن هو بأدخال بيانات جديدة ومسح القديم ..يعني لاتبقى اي بيانات سابقة ...بصراحة هذا امر غريب!!
اذا كنت تقصد عمل مجموع اجمالي ..اعمل استعلام وانزل بيانات الجدول لديك
ثم اعمل حقل ضع فيه هذا التعبير
AccSum: DSum("[منصرف تحليلي]";"اوامر الصرف 2023";" [م]<=" & [م])
وعليكم السلام..
اولا سؤالك غير واضح ..وعدم الوضوح ناتج عن كثرة الجداول المتشابهة ك ApendST2RR واخواتها
رأيت كذلك انك تقوم بمسح الجداول التي هي مصدر بيانات النماذج داخل النموذج الرئيسي (التي ليس لها اي داعي)
رايت كذلك انك منزل نموذج عزيزنا @Moosak..وهذا بحد ذاته يغنيك عن كل تلك الجداول والنماذج الفرعية والاستعلامات
تحياتي لك
تصميم جميل وعاشت ايدك ...رغم اني لا أؤيد كثرة الالوان لانها تربك المستخدم
ومن وجهة نظري كشف الحساب لا يكون ضمن فاتورة البيع او الشراء ...انما يكون في مربع نص يظهر فيه المبلغ سواء كان دائن او مدين ...اما كشف الحساب يكون في نموذج اخر او طباعته في تقرير
بالتوفيق ان شاء الله
هذه الجزئية لم افهمها استاذ @ابوخليل
انا عامل تخفيض الامان للاكسس الخاص بي ..
قبل مدة عملت برنامج لعميل ...وحينما انزلته على حاسبته اشتغل طبيعي ولم تشتغل معي رسائل الامان ..علما انه لا يعرف بالاكسس ولا عوامل الامان
هل هذا يعني ...ان نسخته سوف تعمل دون امان مع اي برنامج ؟
ربما يفيدك برنامج الاخ عمر ضاحي ..رغم انه متشعب كثيرا
وان كان معقد...اعمل برنامج بسيط عبارة عن جدول الموظفين وجدول للدوام اليومي وجدول للساعت الاضافية ..وان شاء تجد المساعدة من الاخوة الافاضل
انظر في هذا الجدول في استعلام (استعلام جميع فواتير الجملة بالدولار )
انظر هنا الان ...قمت بالجمع على اساس رقم الفاتورة والتاريخ والاسم (استعلام باجمالي فواتير الجملة بالدولار )
الحقل sumOftotal us لايمكن تغييره لانه رقم محسوب من عدة فقرات
اقترح ان تعمل جدول تلحق به جميع البيانات من هذا الاستعلام ...تستطيع بالتالي التغيير عليه
استعلام التحديث بعد ذلك يكون بأسم العميل و رقم القائمة ...كمثال على ذلك
UPDATE tb1 INNER JOIN tb2 ON tb1.customerName = tb2.customerName SET tb1.Account = [tb2].[Account]
WHERE (((tb1.customerName)=[tb2].[customerName]) AND ((tb1.invoiceNo)=[tb2].[invoiceNo]));
السلام عليكم ...
نصيحتي ...تعلم البرمجة اولا وكيفية كتابة الاكواد مهما كانت اللغة ... واترك قضية الحماية لحين ما تسوق برامجك لان من حقك ان يكون برنامجك محمي
تحياتي
اخشى باني لم افهمك ..ففهمي على قد حالي 😃
هل تقصد ان قيمة الفاتورة تتغير؟ ارجو ان توضح المشكلة بالرسم والشرح عليها ان امكن ذلك ليتفاعل معك بقية الاخوة الاكارم
دالة Now تدل على الوقت الحالي ...معناها اذا كان تاريخ اليوم ناقصا 10 ايام هو اكبر من التاريخ الذي وضعته سوف يغلق النموذج
بمعنى ان تاريخ 19/9/2023 ناقصا 10 ايام سيصبح التاريخ 9/9/2023 وهو اكبر من تاريخ 8/9/2023
سوف يغلق النموذج
اما دالة CDate فمهمتها تحويل النص الى تاريخ لاننا وضعنا التاريخ بين علامتي تنصيص
بالمناسبة هذه ابسط انواع الحماية ...هناك من يستخدم عدد المرات التي يفتح بها البرنامج لان التاريخ ممكن التلاعب به
ابحث في المنتدى ستجد الكثير من المواضيع بهذا الخصوص
في النموذج الرئيسي ...عند التحميل
Private Sub Form_Load()
If Now() - 10 > CDate("8/9/2023") Then
MsgBox "انتهت الفترة التجريبية!"
DoCmd.Close acForm, Me.Name, acSaveNo
End If
End Sub
تستطيع تغيير ال 10 ايام الى اي مدة ...وتغيير التاريخ طبعا
عملت نموذج جديد..لان القديم فيه مشكلة ..دائما تحدث معي بعض الامر التي لا افهم سببها فأضطر الى عمل نموذج جديد
اما مطلبك الاخير ..الاسم واللقب لايمكن عمله لان فيه اسماء مختلفة
بالمناسبة ...يمكن عمل البحث من خلال الاستعلام الذي هو مصدر بيانات النموذج الفرعي من خلال استخدام دالة like
AA.rar