mostafaatiya قام بنشر يونيو 4, 2015 قام بنشر يونيو 4, 2015 السلام عليكم ورحمة الله وبركاته يوجد بالملف نموذج به اسم العملاء اريد اقوم بالضغط علي زر دفع بيتم التحويل الي شاشة الدفع اريد ان اقوم بتحديد عدد الشهور مثال احمد جه يدفع القسط مقدم خمس شهور اريد تحديد عدد الشهور مثلا 10 وبدء تاريخ الدفع مثلا ( 01/01/2015 ) اريد ان يتم الحاق البيانات كالاتي من 01/01/2015 - الي 01/02/2015 من 01/02/2015 - الي 01/03/2015 من 01/03/2015 - الي 01/04/2015 من 01/04/2015 - الي 01/05/2015 من 01/05/2015 - الي 01/06/2015 هل من الممكن ان يتم ادراج هذا البيان بنفس الشكل ولا هيكون صعب او ممكن لو يوجد بديل لذلك ولكم جزيل الشكر ملحوظة لو ينفع هيتم الاعتماد علي عدد الشهور يعني ممكن يدفع شهر واحد او اتنين علي حسب الدفع وعدد الشهور يتم الادراج وشكرا جزيلا db1.rar
jjafferr قام بنشر يونيو 4, 2015 قام بنشر يونيو 4, 2015 (معدل) تفضل ولكن رجاء انظر الى الكود ، ففيه الكثير 1. في النموذج client عندما تضغط على زر "دفع القسط" ، فالحدث لا يفتح النموذج df فقط ، وانما يختار من قائمة Code_Client (ليس يدخل الاسم فقط) ، وذلك من خلال مقارنة رقم العميل ، بتلك الموجودة في القائمة المنسدلة ، والكود الذي يعمل هذا هو: Dim stDocName As String Dim stLinkCriteria As String stDocName = "df" DoCmd.OpenForm stDocName, , , stLinkCriteria 'Now select this name from the Listbox Code_Client of the Form df, 'this is as if we select from the Code_Client listbox itself, 'where we will get the Code_Client and Name_Client columns Dim ctl As Control Set ctl = Forms!df!Code_Client For i = 0 To ctl.ListCount - 1 If Val(ctl.Column(0, i)) = Val(Me.Code_Client) Then ctl.Value = Val(ctl.Column(0, i)) Exit Sub End If Next i 2. في النموذج df ، دائما نجعل التاريخ d1 يكون اول الشهر ، بغض النظر عن اي تاريخ تم اختيارة (وذلك تسهيلا للمستخدم ، بدل ان يفتش عن اول الشهر) ، والكود التالي يعمل هذا: 'make the date always the 1st of the month, 'making it easier for the user to select anydate of the month, and the code corrects it Me.d1 = DateSerial(Year(Me.d1), Month(Me.d1), 1) 3. عند الضغط على زر دفع ، تأتي الخطوات التاليه فيه: أ- التأكد ان المستخدم اختار عدد الاشهر ، والذي يجب ان يكون اكبر من 0 ، وإلا سيتوقف عمل الحدث: 'if No month is selected, get out If Me.f = 0 Then Exit Sub ب- يبحث في الجدول B_Pay ، في انه هل تم الدفع لهذا الزبون في الشهر d1 مسبقا ، فاذا تم الدفع ، واذا تم ، ستحصل على رسالة بذلك ، وسيتوقف عمل الحدث: Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From B_Pay Where [Code_Client]=" & Me.Code_Client) rst.FindFirst "[data_eldfa1]=" & DateFormat(Me.d1) If rst.NoMatch = False Then MsgBox "you already used this date for this client" Exit Sub End If ج- اما اذا كان كل شئ تمام ، فالكود التالي يدخل البيانات في الجدول B_Pay: For i = 0 To Me.f - 1 rst.AddNew rst!Code_Client = Me.Code_Client rst!Code_Elshr = i + Month(Me.d1) 'rst!Dfa= 'rst!mogl= 'rst!data_eldfa = rst!data_eldfa1 = DateAdd("m", i, Me.d1) rst!data_eldfa2 = DateAdd("m", i + 1, Me.d1) 'rst!byen = rst.Update Next i MsgBox "Done" جعفر 89.db1.mdb.zip تم تعديل يونيو 4, 2015 بواسطه jjafferr 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.