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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    415

كل منشورات العضو jjafferr

  1. المشكلة في الباقي بالسالب هو يلزم فكرة في كود الوحدة النمطية بحيث انه لايظهر مجموع القروض المنتهية ويظهر الا باقي القرض الجديد فقط هاذان المبلغان لازم عمل كود يعدمها ويبقى الباقي 0.00 وحلها في الوحدة النمطية السلام عليكم أخي كريمو الهدف من الطريقة الجديدة هي الاعتماد على بيانات الجدول tbl_Loans بدون تدخل الكود ، وإلا رجعنا الى نفس المشكلة السابقة ، وهي حل كل معضلة بالكود!! الان الجدول نظيف ، وطريقة الحساب سهلة ، لذا يجب ان نبقى على هذا الطريق هناك حلين يدوران في بالي: 1. ان لا نهتم ببيانات الجدولين Cridi و Elec السابقة ، وانما العملية الحسابية تبدأ من ادخالك بيانات جديدة في هذين الجدولين (طبعا عن طريق النماذج الخاصة بهم) ، وبهذه الطريقة تدخل البيانات في الجدول tbl_Loans ، وتبدأ عملية الحساب , 2. ان نرى جميع البيانات في الجدولين Cridi و Elec ، ونُدخل بياناتهم (هذه العملية سنقوم بها لمرة واحدة فقط عن طريق كود) في الجدول tbl_Loans ، ومنها سيتم استخدام الجدول tbl_Loans بالطريقة الطبيعية. بالنسبة لي ، انا أفضل الطريقة الاولى ، ولكن محاسبياً ، اذا لم يكن مقبولا ، فسنعمل على الخيار الثاني جعفر
  2. وعليكم السلام أخي عبدالله انا في اعتقادي Dcount أفضل ، لهذه الاسباب: 1. لسنا بحاجة الى الامر NZ لأول رقم ، 2. اذا لأي سبب تم حذف سجل في منتصف السجلات ، فـ Dmax سيعطيك الرقم الاكبر التالي ، مما يعني انك لن تعرف ان هناك رقم ناقص/تم حذفه من المنتصف ، ويصبح التسلسل غير صحيح (إلا اذا كان هذا غير مهم ، فهنا Dmax أفضل) ، بينما في Dcount ، فممكن معرفة اذا تم حذف سجل بسهولة ، حيث ان الرقم الاخير الموجود سوف يتكرر (طبعا هذا سيطلب تدخل المبرمج لحل هذه النقطة) ، ونستطيع ان نعمل كود للتأكد بأن الرقم غير متكرر ، مما سيعطينا اشعار بذلك ، 3. Dmax يقرأ بيان الحقل ، بينما Dcount يحسب السجلات ، لهذا Dcount اسرع في التنفيذ ولكن في نهاية الامر ، كل الطرق تؤدي الى روما ، والخيار للذي ترتاح له جعفر
  3. وعليكم السلام من النموذج الفرعي ، تستطيع استعمال نفس الكود ، لأي حقل في نفس النموذج الفرعي ، من النموذج الرئيسي ، استعمل الكود التالي لقفل حقل في النموذج الفرعي: مثلا: Me.FrmCridi_sub.Form.Obsérvation.Enabled = False me.اسم النموذج الفرعي.Form.اسم الحقل في النموذج الفرعي.Enabled = False جعفر
  4. وعليكم السلام في النموذج ، في الحدث "بعد تحديث" الحقل نوع الصادرة ، استعمل هذا الكود: Me.seq = DCount("[typ]", "sadr", "[year1]=" & Year(Now())) + 1 جعفر
  5. اين المرفق؟
  6. إعذرني أخوي انت ما عليك من ان اسمي في كل مكان ، بس انا ترى فهمي ضعيف ما افهم السؤال ، إلا بمثال وتفصيل الضعيف جعفر
  7. تفضل هاي للرقم 2 بس تأكد اني ما قلبت المطلوب !! وانا عملت الدفع لهؤلاء فقط: myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [detach]='منتدب'" myCriteria = myCriteria & " Or [detach]='متعاقد كامل'" myCriteria = myCriteria & " Or [detach]='متعاقد جزئي'" myCriteria = myCriteria & " Or [detach]='عون نظافة'" فاذا كان المقصود بدون هؤلاء ، فغير الاسطر الى myCriteria = "[detach]<>'موظف'" myCriteria = myCriteria & " Or [detach]<>'منتدب'" myCriteria = myCriteria & " Or [detach]<>'متعاقد كامل'" myCriteria = myCriteria & " Or [detach]<>'متعاقد جزئي'" myCriteria = myCriteria & " Or [detach]<>'عون نظافة'" بالنسبة الى رقم 1 ، ماذا تريدني ان افعل لعلاج المشكلة؟ جعفر 11.8.FrmDiscountReport.mdb.zip
  8. والدالة لأكثر من شرط ، وبطريقة سهلة: كل نوع من انواع الحقول له طريقة معينة للتعامل معه في الكود ، وهذا يجعل كتابة كود بأكثر من شرط ، صعب نوعا ما ، لذلك ، الطريقة التي اقترحها هي في التعامل مع كل نوع بسطر مستقل (انظر للمثال في الاسفل) ، مما لا يدع مجال للخطأ في السطر ، ثم نجمع الاسطر في سطر واحد ، وهذا السطر يكون مجموع الشروط : myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [iDate]=#29-05-2015#" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID 'myCriteria = myCriteria & " Or [ID]=12" a = DLookup("[myID]", "tbl_Employees", myCriteria) او myCriteria_1 = "[detach]='موظف'" myCriteria_2 = " Or [iDate]=#29-05-2015#" myCriteria_3 = " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria_4 = " Or [EmployeeID]=" & Me.EmployeeID myCriteria_5 = " Or [ID]=12" myCriteria = myCriteria_1 & myCriteria_2 & myCriteria_3 & myCriteria_4 & myCriteria_5 a = DLookup("[myID]", "tbl_Employees", myCriteria) والشرح 'في الاسطر، ممكن استعمال والخلط بين 'Or او And 'كما يمكن استعمال اي سطر، و عدم استعمال اسطر اخرى، اي يمكن الخلط في استعمال الاسطر 'للمتغيرات الثابته 'نص myWhere = "[detach]='موظف'" myWhere = myWhere & " Or [ID]=12" 'رقم myWhere = myWhere & " Or [iDate]=#29-05-2015#" 'تاريخ 'للمتغيرات myWhere = myWhere & " Or [Employee_Name]='" & Me.Employee_Name & "'" 'نص myWhere = myWhere & " Or [EmployeeID]=" & Me.EmployeeID 'رقم myWhere = myWhere & " Or [Payment_Month]=#" & Me.txtMonth & "#" 'تاريخ a = DLookup("[myID]", "tbl_Employees", myWhere) جعفر
  9. السيد المحترم البسطاء مثلي لا يملكون حساب في المواقع الاجتماعية ، فاذا اردتني ان اساعد ، فرجاء ارفاق برنامجك هنا بعد ضغطه بواسطة winRar او winZip . البسيط جعفر
  10. جرب هذا المرفق الموضوع له علاقة بصيغة التاريخ جعفر 78.2.TEST.accdb.zip
  11. وعليكم السلام الآن وقد وفرت ووضحت الأمور بالتفصيل ، اليك الجواب بالتفصيل الآن النموذج يحتوي على حقلين: حقل التاريخ ، حيث تختار التاريخ المطلوب ، اما حقل IDD ، فهو ليس لك ، وانما للبرنامج ، لذا يمكنك ان تجعله مخفي والزر Exporter يحتوي على هذا الكود: Private Sub cmd_Export_to_pdf_Click() On Error GoTo err_cmd_Export_to_pdf_Click Dim rst As DAO.Recordset 'get the unique IDDs from qry_Test_Sums Set rst = CurrentDb.OpenRecordset("Select * From qry_Test_Sums Where [Date]=#" & Me.Idate & "#") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'now loop through the IDDs, printing a Report for each For i = 1 To RC 'write the IDD to the Form, 'where qry_Test uses it with the Date from Me.iIDD = rst!IDD 'Output_Path= "c:\" & rst!IDD & ".pdf" Output_Path = Application.CurrentProject.Path & "\" & rst!IDD & ".pdf" 'The print to pdf cpmmand DoCmd.OutputTo acOutputReport, "AAAA", "PDFFormat(*.pdf)", Output_Path, False, , 0, acExportQualityPrint rst.MoveNext Next i 'cleaning up Me.iIDD = "" rst.Close: Set rst = Nothing MsgBox "pdf Printing completed" cmd_Export_to_pdf_Click_Exit: Exit Sub err_cmd_Export_to_pdf_Click: If Err.Number = 3021 Then MsgBox "No Records to Print" Resume cmd_Export_to_pdf_Click_Exit Else MsgBox Error$ End If End Sub والكود يرسل قيمة IDD من الاستعلام qry_Test_Sums ، حيث يتم استعمال هذه القيمة ، مع قيمة التاريخ في النموذج ، لتصفية سجلات الاستعلام qry_Test ، والنتيجة 300.pdf يقوم البرنامج بتصدير جميع ملفات pdf الى نفس المجلد الذي به البرنامج ، وقد وضعت لك مثال لتغيير المسار. جعفر 78.2.TEST.accdb.zip
  12. أنا آسف ، فانت تتكلم عن حقلين ، بينما انا اتكلم عن حقل واحد هو التاريخ !! الحل سهل ، والامر هو: Private Sub Command1_Click() On Error GoTo Command1_Click_Err Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From TTTT Where [date]=#" & Me.iDate & "#") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'Output_Path= "c:\" Output_Path = Application.CurrentProject.Path & "\" For i = 1 To RC DoCmd.OutputTo acOutputReport, "AAAA", "PDFFormat(*.pdf)", Output_Path & rst!Cen, False, , 0, acExportQualityPrint rst.MoveNext Next i rst.Close: Set rst = Nothing Command1_Click_Exit: Exit Sub Command1_Click_Err: MsgBox Error$ Resume Command1_Click_Exit End Sub ولكن يجب ان اعرف تفاصيل أدق ، لذا رجاء ، اعمل لي/او ارفق سجلات صحيحة بتواريخ وارقام صحيحة ، كما ارفق لي سواء في اكسل ، او صورة ، توضح فيها السجلات التي تكون مجموعة مع بعض بالتاريخ و cen ، وعلى اساسه اضبط لك الكود ان شاء الله جعفر
  13. عفوا انت قلت سابقا: والان تقول: يعني انت لا تريد جميع التقارير في ملف pdf واحد ، وانما تريد كل تقرير في ملف pdf مستقل؟ هل هذا صحيح؟ جعفر
  14. وعليكم السلام خلينا على السؤال الاصل ، ومن ثم نرى الباقي ان شاء الله لوسمحت تفتح الجدول TTTTTT (أسف ما حسبت كم T يوجد في اسم الجدول ) ، وستلاحظ ان التواريخ فيها كلها عبارة عن سجل واحد فقط !! وافتح الاستعلام Query ، وبدون اي تاريخ ، سترى ان عندك تاريخين مختلفين كذلك !! يعني ، لو ان عندك اكثر من سجل بنفس التاريخ ، لرأيت جميع السجلات تُطبع في تقرير واحد. جرب وخلي السجلات في الجدول بنفس التاريخ ، ثم اطبع من النموذج ، واخبرنا النتيجة جعفر
  15. أخي الفاضل مشاركة أخونا مارد رقم 10 فيها إجابة ومرفق ، وهو اعطاك الحل ، لذا: 1. كان يجب ان تقرأ شرحه لك في المشاركة ، وتتفهمه ، 2. ان تجرب المرفق الذي اتعب نفسه وعمله لك ، وتعرف نتائجه ، 3. ان تختار مشاركته كأفضل إجابة (وانا هنا اطلب من المشرفين تعديل هذا لوسمحوا وتكرموا ). 4. مشاركتي رقم 11هي للعلم وإضافة معلومات فقط جعفر
  16. وعليكم السلام أخي ناصر ما واضح ايش القصد من آخر سجلين ، وعليه يصبح السؤال كله غامض اذا امكنك ان ترفق صورة من سجلاتك وتوضح المطلوب ، او طبعا جزء البرنامج الذي فيه المشكلة ، مع توضيح اسم النموذج والحقول. جعفر
  17. هاي مشكلة العلاقات ، لما الأمور تمام ، مافي أحلى منها العلاقة ، ولما الأمور تتلخبط ، الواحد لازم يفك العلاقة الخطأ ، ويضبطها او يعمل واحدة ثانية ، على أمل ان لا تتلخبط هذه المرة وما نتفهم كيف نقيم علاقة صحيحة ، إلا بعد خبرة انا شخصيا أنصح المبتدئين بعدم عمل أي علاقة ، في البداية ، لأنها راح تعمل لك مشاكل انت في غنى عنها وتعقد لك الامور ، يعني ، اهتم بالامور الاخرى في البرنامج ، وبعدين اعمل العلاقات بين الجداول ، واذا صادفتك مشكلة ، فستعرف انها من العلاقة جعفر
×
×
  • اضف...

Important Information