الساحة البريدية قام بنشر مايو 25, 2016 قام بنشر مايو 25, 2016 السلام عليكم ورحمة الله وبركاته بالملف المرفق برنامج جمعية كل شهر الأعضاء يدفعوا مبالغ مختلفة ، شخص يدفع 1000 ( سهم واحد ) شهريا والثاني 2000 ( داخل بسهمني ) وهكذا سويت شاشة لادخال البيانات وفيها زر واحد الزر هذا ابغا اذا ضغطت عليه يسحل لي ان الشخص هذا سدد جمعيته مثلا : أحمد يبغى يسدد جمعية شهر شعبان نضغط على الزر ، يتقيد في قاعدة البيانات ان أحمد دفع 1000 ريال لشهر شعبان لو ضغطنا على الزر مرة أخرى في سجل أحمد في شهر شعبان ، تطلع رسالة تقول بأن هذا الشخص دفع جمعية شعبان ولما يدخل مثلا شهر رمضان ، ونضغط الزر ، يتم قيد ذلك في القاعدة بأن أحمد دفع جمعية شهر رمضان ، وتظهر رسالة تفيد بإتمام عملية الدفع انا استخدمت دالة FindFirst بحيث يبحث لي في القاعدة عن اسم احمد ، ولكن المشكلة ، أن هذه الدالة تبحث عن اسم أحمد ولكن لا تبحث في خانة الدفع ، هل دفع أحمد الجمعية أو لا ، اترككم مع المثال في الملف المرفق وأعتذر لو في أخطاء في البرنامج نتيجة تحويل اكسس 2016 إلى 2003 : maysoon.rar
Elsayed Bn Gemy قام بنشر مايو 26, 2016 قام بنشر مايو 26, 2016 اخى الكريم هل لكل عميل كود محدد ثابت له انت تسجل به مدفوعات العميل ام بالاسم ؟؟
الساحة البريدية قام بنشر مايو 26, 2016 الكاتب قام بنشر مايو 26, 2016 كل شهر المفروض ينزل اسم العميل ، والمبلغ الذي دفعه في قاعدة البيانات لو جيت بالخطأ اضغط على الزر حق اضافة المبلغ للعميل بنفس الشهر مرة أخرى ، يفترض تظهر رسالة تقول سبق للعميل دفع المبلغ لهذا الشهر ولكن اذا دخلنا فعليا في شهر جديد ، وضغطنا الزر ، تظهر لنا رسالة تفيد بأن العميل تم دفع المبلغ المستحق للشهر بنجاح وشكرا لاهتمامك ومتابعتك ، وبانتظار الحل
Elsayed Bn Gemy قام بنشر مايو 26, 2016 قام بنشر مايو 26, 2016 حسنا اخى ان شاء الله خمس دقائق ارفقلك مرفقك جارى التعديل عليه
Elsayed Bn Gemy قام بنشر مايو 26, 2016 قام بنشر مايو 26, 2016 السلام عليكم اخى الكريم قمت بعمل تعديلات بسيطة اولا انشات جدول لاسماء العملاء وارقام هويتهم حيث افترضت ان لكل عميل رقم هويه ثابت خاص به تقوم انت بادخاله عند توريد الشهر وفرت عليك كل هذا فعند اختيار اسم العميل يقوم البرنامج باستدعاء الرقم الخاص به (رقم الهويه) فائد رقم الهويه هى انه من خلاله استطيع البحث داخل جدول المدفوعات حيث افترضت ان لكل عميل رقم محدد يمكنك مشاهدة طريقة صورة خاصة تحركة بطريقة عمل برنامجك من هنا http://recordit.co/CKn9qm2Gfk استعملت الكود التالى حيث ان الكود لا ياخذ التاريخ كله من حقل الشهر فى الجدول بل ياخذ من التاريخ الشهر فقط ويقانه بالشهر الموجود فى النموذج مع الربط برقم هوية العميل If IsNull(fid) Then MsgBox "برجاء كتابة هوية العميل" Exit Sub End If If IsNull(PayMony) Then MsgBox "برجاء كتابة المبلغ المدفوع" Exit Sub End If If IsNull(monthfild) Then MsgBox "برجاء كتابة شهر الدفع" Exit Sub Else Dim Y As Date Y = Nz(DLookup("monthfild", "databace", "id=" & Me.fid), 0) If Month(monthtext) = Month(Y) Then MsgBox "عفوا تم تسجيل هذا الشهر مسبقا لهذا العميل", vbInformation, "مكرر" Else DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO databace " & "(id,monthfild,namee,WorkPlace,PayMony,Mountfild) VALUES " & "(fid, monthtext,fname, WorkPlace ,PayMony,Mountfild);" DoCmd.SetWarnings True MsgBox "تم سداد الشهر بنجاح" End If End If المرفق الخاص بك maysoon.rar 1
الساحة البريدية قام بنشر مايو 27, 2016 الكاتب قام بنشر مايو 27, 2016 (معدل) اولا بيض الله وجهك ، ووفقك لكل خير هناك بعض المشكلات في حال تم تحويل الحقل id_no إلى نص وتم تعديل الدالة تظهر رسالة خطأ : ( خطأ في بناء الجملة ( عامل التشغيل مفقود ) في تعبير استعلام id_no10331 Y = Nz(DLookup("mnth", "salary", " 'id_no='" & Me.id_no), 0) حيث salary اسم الجدول ( قاعدة البيانات ) mnth : حقل الشهر في الجدول id_no : حقل رقم الهوية في الجدول Me.id_no : حقل الهوية في النموذج وفي حال تعديل نوع الحقل id_no إلى رقمي ، تظهر الرسالة التالية : نوع بيانات غير مطابق وأخيرا ، اكتشفت أنه اذا اضفنا عملية دفع في شهر ( مايو ) مثلا ، تنجح عملية الدفع ، ولو اردنا أن نكرر الدفع في نفس الشهر ( تظهر رسالة ان الشخص سدد ) ولحد الان ممتاز طيب اذا دخل شهر يوليو ، ( طبعا للجربة أنا عدلت تاريخ النظام في الكمبيوتر ) وضغطنا زر الدفع تنجح عملية الدفع ، ولو ضغطنا على الزر في نفس الشهر مرات عديدة يقوم الكود بتكرار عملية الدفع ، وهنا المشكلة لمزيد من الايضاح ، أرجو النظر إل الصورة : تم تعديل مايو 27, 2016 بواسطه الساحة البريدية
Elsayed Bn Gemy قام بنشر مايو 28, 2016 قام بنشر مايو 28, 2016 اعتذر لك اخى الكريم هذا خطاءى فمن البديهى ان تقوم الدالة باستدعاء اول قيمة تقابلها اذا وجدت اكثر من قيمة لرقم الهويه اخى الكريم عوضا عن دوال الاستدعاء ومشاكلها تم تعديل الكود واستخدام دوال التجميع استبدل الكود السابق بهذا الكود If IsNull(fid) Then MsgBox "برجاء كتابة هوية العميل" Exit Sub End If If IsNull(PayMony) Then MsgBox "برجاء كتابة المبلغ المدفوع" Exit Sub End If If IsNull(monthfild) Then MsgBox "برجاء كتابة شهر الدفع" Exit Sub Else Dim Y As Integer Y = Nz(DCount("[monthfild]", "databace", "monthfild=#" & Me.monthtext & "#"), 0) If Y >= 1 Then MsgBox "عفوا تم تسجيل هذا الشهر مسبقا لهذا العميل", vbInformation, "مكرر" Else DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO databace " & "(id,monthfild,namee,WorkPlace,PayMony,Mountfild) VALUES " & "(fid, monthtext,fname, WorkPlace ,PayMony,Mountfild);" DoCmd.SetWarnings True MsgBox "تم سداد الشهر بنجاح" End If End If
عبد الفتاح كيرة قام بنشر مايو 28, 2016 قام بنشر مايو 28, 2016 أهدانا الأخ أبو خليل الحل فى موضوع مشابه لعدم تكرار الإلحاق للسجلات اجعل حقلى الاسم و الشهر حقلين مفتاحين أساسيين حينها لن يقبل التكرار
الساحة البريدية قام بنشر مايو 28, 2016 الكاتب قام بنشر مايو 28, 2016 في ٢٨/٥/٢٠١٦ at 07:49, Elsayed Bn Gemy said: اعتذر لك اخى الكريم هذا خطاءى فمن البديهى ان تقوم الدالة باستدعاء اول قيمة تقابلها اذا وجدت اكثر من قيمة لرقم الهويه اخى الكريم عوضا عن دوال الاستدعاء ومشاكلها تم تعديل الكود واستخدام دوال التجميع استبدل الكود السابق بهذا الكود If IsNull(fid) Then MsgBox "برجاء كتابة هوية العميل" Exit Sub End If If IsNull(PayMony) Then MsgBox "برجاء كتابة المبلغ المدفوع" Exit Sub End If If IsNull(monthfild) Then MsgBox "برجاء كتابة شهر الدفع" Exit Sub Else Dim Y As Integer Y = Nz(DCount("[monthfild]", "databace", "monthfild=#" & Me.monthtext & "#"), 0) If Y >= 1 Then MsgBox "عفوا تم تسجيل هذا الشهر مسبقا لهذا العميل", vbInformation, "مكرر" Else DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO databace " & "(id,monthfild,namee,WorkPlace,PayMony,Mountfild) VALUES " & "(fid, monthtext,fname, WorkPlace ,PayMony,Mountfild);" DoCmd.SetWarnings True MsgBox "تم سداد الشهر بنجاح" End If End If أسعد الله صباحكم بكل خير جربت الكود الجديد ، لم يتغير شيء ، بل بالعكس ، أصبح يكرر الدفعات لنفس الشهر ولم ينظر لأي سجلات موجودة هل هناك طريقة أخرى يا غالي ؟ في ٢٨/٥/٢٠١٦ at 08:06, عبد الفتاح كيرة said: أهدانا الأخ أبو خليل الحل فى موضوع مشابه لعدم تكرار الإلحاق للسجلات اجعل حقلى الاسم و الشهر حقلين مفتاحين أساسيين حينها لن يقبل التكرار أخي عبدالفتاح أشكرك ، ولكن كما تعلم أن المفتاخ الأساسي مفتاح فريد ، يتعامل مع حقل واحد فقط ولا نستطيع أن نجعل هذه الخاصية لحقلين سويا عموما جربت أن اجعل الاسم مفتاح اساسي ، وعند ضغط زر الدفع ، نجحت التسجيل في القاعدة ، وعند تكرار الضغط على الزر لم يحدث تكرار ، وهذا جيد ولكن الغير جيد أنه اذا دخل الشهر التالي ، وأردنا تسجيل الدفعة المالية للشهر التالي لنفس العميل ، لا يتم التسجيل لأنه لا يقبل تكرار الاسم ، ولو جعلنا الشهر هو المفتاح الأساسي ، فالنتيجة أيضاً سلبية لأن قاعدة البيانات لم تقبل تكرار نفس الشهر لأي عميل أخر بارك الله فيكم منتظرين حل
عبد الفتاح كيرة قام بنشر مايو 28, 2016 قام بنشر مايو 28, 2016 (معدل) يمكن جعل حقلين أو ثلاثة مفتاحا أساسيا مثلا الاسم و الشهر هذا يعنى عدم السماح بتكرار اسم و شهر معا مرتين لاحظ معا فقد يتكرر الاسم لكن ليس مع نفس الشهر لعمل ذلك فى تصميم الجدول اسحب حقل الشهر ليكون تاليا و مجاورة لحقل الاسم حدد الحقلين معا و هما مظللان اضغط من أعلى رمز المفتاح الأساسى تم تعديل مايو 28, 2016 بواسطه عبد الفتاح كيرة
الساحة البريدية قام بنشر مايو 28, 2016 الكاتب قام بنشر مايو 28, 2016 وفب هذه الحالة ، لو تكرر الاسم لوحده أو الشهر لوحده ، يمكن ذلك ؟ 1
الساحة البريدية قام بنشر مايو 28, 2016 الكاتب قام بنشر مايو 28, 2016 تمت التجربة ، ومع الاسف حصل تكرار للاسم والشهر أكثر من مرة انا جربت الدالة rs.findlast يبحث في اخر سجل عن الاسم والتاريخ ، اذا لم يجده ، يقوم بإنشاء سطر جديد الطريقة ممتازة إذا لم يلعب أحد في تاريخ الكمبيوتر ،
عبد الفتاح كيرة قام بنشر مايو 28, 2016 قام بنشر مايو 28, 2016 الان, الساحة البريدية said: وفب هذه الحالة ، لو تكرر الاسم لوحده أو الشهر لوحده ، يمكن ذلك ؟ تمام
ابو عارف قام بنشر مايو 28, 2016 قام بنشر مايو 28, 2016 السلام عليكم و رحمة الله و بركاته جرب الكود بعد تغير بسيط على الكود الاستاذ/ ELsayed الاول Private Sub أمر11_Click() If IsNull(fid) Then MsgBox "برجاء كتابة هوية العميل" Exit Sub End If If IsNull(PayMony) Then MsgBox "برجاء كتابة المبلغ المدفوع" Exit Sub End If If IsNull(monthfild) Then MsgBox "برجاء كتابة شهر الدفع" Exit Sub Else Dim Y As Date Y = Nz(DLookup("monthfild", "databace", "id=" & Me.fid & "And month(monthfild)=" & Month(monthtext)), 0) If Y <> 0 Then MsgBox "عفوا تم تسجيل هذا الشهر مسبقا لهذا العميل", vbInformation, "مكرر" Else DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO databace " & "(id,monthfild,namee,WorkPlace,PayMony,Mountfild) VALUES " & "(fid, monthtext,fname, WorkPlace ,PayMony,Mountfild);" DoCmd.SetWarnings True MsgBox "تم سداد الشهر بنجاح" End If End If End Sub
Elsayed Bn Gemy قام بنشر مايو 28, 2016 قام بنشر مايو 28, 2016 اخى الكريم هذا حل عن طريق الاستعلام اتمنى ان يكون المطلوب وضعت شروطك فى الاستعلام maysoon.rar
الساحة البريدية قام بنشر مايو 28, 2016 الكاتب قام بنشر مايو 28, 2016 جزاكم الله خير ، سوف اقوم بالتجربة ، واوافيكم بالنتيجة ان شاء الله
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.