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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. Why would we need a dll file, I thought it was a straight forward link between Access and SQL without any third party files!!
  2. وعليكم السلام تفضل هذا الرابط جعفر
  3. انا كنت اقصد شروط المشاركة في المنتدى ، وتذكر اسم موضوعك: مساعدة في تحيين التاريخ أليا جعفر
  4. تفضل تم تعديل الوحدة النمطية الى: Public Function Sum_Alkmiah(iMonth, iwerNumSenf) Sum_13 = DSum("Alkmiah", "HRR", "Rajmsanf='" & iwerNumSenf & "' and month(Atarih)=" & iMonth & " and Nwaha='13'") Sum_14 = DSum("Alkmiah", "HRR", "Rajmsanf='" & iwerNumSenf & "' and month(Atarih)=" & iMonth & " and Nwaha='14'") Sum_Alkmiah = IIf(Sum_13 > 0, Sum_13, 0) - IIf(Sum_14 > 0, Sum_14, 0) End Function . ومناداتها من حدث "الحالي" للنموذج الفرعي ، هكذا: Private Sub Form_Current() On Error Resume Next werSenf = Rajmsanf frshtxt Me.Parent.نص57 = DLookup("[Rsnf]", "Qryasnaf", "[Rajmsanf]='" & Me.Rajmsanf & "'") Me.Parent.نص61 = DLookup("[LastOfPrice]", "Query1", "[Rajmsanf]='" & Me.Rajmsanf & "'") Forms!frmSales!sh1 = Sum_Alkmiah(1, werNumSenf()) Forms!frmSales!sh2 = Sum_Alkmiah(2, werNumSenf()) Forms!frmSales!sh3 = Sum_Alkmiah(3, werNumSenf()) Forms!frmSales!sh4 = Sum_Alkmiah(4, werNumSenf()) Forms!frmSales!sh5 = Sum_Alkmiah(5, werNumSenf()) Forms!frmSales!sh6 = Sum_Alkmiah(6, werNumSenf()) Forms!frmSales!sh7 = Sum_Alkmiah(7, werNumSenf()) Forms!frmSales!sh8 = Sum_Alkmiah(8, werNumSenf()) Forms!frmSales!sh9 = Sum_Alkmiah(9, werNumSenf()) Forms!frmSales!sh10 = Sum_Alkmiah(10, werNumSenf()) Forms!frmSales!sh11 = Sum_Alkmiah(11, werNumSenf()) Forms!frmSales!sh12 = Sum_Alkmiah(12, werNumSenf()) End Sub جعفر 797.1.الشهور.mdb.zip
  5. وكيف اقدر اشوف مبيعات شهر 11 و 12 ؟
  6. تفضل ، فرق الاشهر فقط = datediff("m",Me.txtcount, Me.txtcounupgrade) جعفر
  7. تفضل في الاستعلام QryDaily جعفر 797.المجموع3.mdb.zip
  8. وعليكم السلام حياك الله اخي نبيل رجاء عمل سؤال جديد في المرة القادمة سبب حصولك على هذه النتيجة هي ان تنسيق الحقل عندك هو "رقم صحيح" او "طويل" (Integer or Long) ، هناك عدة طرق للحل: اعمل تنسيق الحقل "مزدوج عدد عشري" (Double) ، ثم اختار كم خانة عشرية تريد ، استخدم الكود التالي لتحديد النتيجة = Format(16 * 1.4 , "#.00") = Format([Field_Name] , "#.00") جعفر
  9. السلام عليكم ضع هذا الكود في وحدة نمطية (تستطيع ان تضيفها مع اي وحدة نمطية اخرى عندك): Public Function Sum_Alkmiah(iwerNumSenf) 'الكود القديم 'A = IIf(DSum("Alkmiah", "HRR", "Rajmsanf='" & werNumSenf() & "'" & " and month(Atarih)=5" & " and Nwaha='" & 13 & "'") > 0, _ DSum("Alkmiah", "HRR", "Rajmsanf='" & werNumSenf() & "'" & " and month(Atarih)=5" & " and Nwaha='" & 13 & "'"), 0) _ - _ IIf(DSum("Alkmiah", "HRR", "Rajmsanf='" & werNumSenf() & "'" & " and month(Atarih)=5" & " and Nwaha='" & 14 & "'") > 0, _ DSum("Alkmiah", "HRR", "Rajmsanf='" & werNumSenf() & "'" & " and month(Atarih)=5" & " and Nwaha='" & 14 & "'"), 0) 'الكود الجديد Sum_13 = DSum("Alkmiah", "HRR", "Rajmsanf='" & iwerNumSenf & "' and month(Atarih)=5 and Nwaha='13'") Sum_14 = DSum("Alkmiah", "HRR", "Rajmsanf='" & iwerNumSenf & "' and month(Atarih)=5 and Nwaha='14'") Sum_Alkmiah = IIf(Sum_13 > 0, Sum_13, 0) - IIf(Sum_14 > 0, Sum_14, 0) End Function . ثم في الاستعلام تنادي الوحدة النمطية هكذا Sum_Alk: Sum_Alkmiah(werNumSenf()) جعفر
  10. السلام عليكم اخي حسين انا انزلت المرفق المرة المسابقة ، وانزلته الان مرة اخرى ، وقمت بحذفه من المشاركة ، حتى لا تعُم الروابط (فأنت تسأل عن الخصوصة) ، وفي قسم ادارة المنتدى ، قمت بطرح طلبك على ادارة المنتدى ، ورد عليّ الاستاذ @محمد طاهر بأنه يتابع معك الوضع في موضوع آخر عملته انت ، فرجاء متابعة الموضوع مع الاستاذ محمد. جعفر
  11. يا سيدي ، المشكلة ان رقم الفاتورة عندك "نص" ، والمعادلة التي اعطيتك هي اذا كان رقم الفاتورة "رقم" وكذلك كان الخطأ مني في الكود اعلاه ، فعند مناداة النموذج الفرعي ، يجب ان نضيف كلمة .Form. تفضل هذا التعديل ، بالاضافة انه عندك بقايا في نهاية الكود: Private Sub fatora_no_AfterUpdate() Me.fry_111.Form.Filter = "[id_fatora]='" & Me.fatora_no & "'" Me.fry_111.Form.FilterOn = True Me.fry_112.Form.Filter = "[fatora_no]='" & Me.fatora_no & "'" Me.fry_112.Form.FilterOn = True 'End If End Sub جعفر
  12. وعليكم السلام اخي حسين الكود السابق يبحث عن اول سجل في النموذج الفرعي ، فانت قلت: . اما اذا كان قصدك تصفية النموذج الفرعي على اساس مربع نص النموذج الرئيسي ، فيمكنك استعمال الكود التالي : me.fry_111.filter= "[رقم الفاتورة]=" & me.tt1 me.fry_111.filteron= true me.fry_112.filter= "[رقم الفاتورة]=" & me.tt1 me.fry_112.filteron= true جعفر
  13. وعليكم السلام يجب على كل جدول ان يحتوي على حقل ترقيم تلقائي ، فهذا مهم جدا للبرنامج ، وسرعته وقد عملت لك هذا الحقل في الجدول Tabl_Itinerary ، واختصرت استعلام عدم المطابقات ، واسميته qry_Diff_tbl_Itinerary_tbl_Itinerarytemp ، كود زري الحذف: Option Compare Database Option Explicit Private Sub cmd_Delete_With_Code_Click() Dim rstQry As DAO.Recordset Dim rstTbl As DAO.Recordset Dim RCqry As Integer Dim i As Integer Dim mySQL As String Set rstTbl = CurrentDb.OpenRecordset("Select * From Tabl_Itinerary") mySQL = "SELECT Tabl_Itinerary.Auto_ID, Tabl_Itinerarytemp.Num_Itinerary" mySQL = mySQL & " FROM Tabl_Itinerary LEFT JOIN Tabl_Itinerarytemp ON Tabl_Itinerary.[Num_Itinerary] = Tabl_Itinerarytemp.[Num_Itinerary]" mySQL = mySQL & " WHERE (((Tabl_Itinerarytemp.Num_Itinerary) Is Null));" Set rstQry = CurrentDb.OpenRecordset(mySQL) rstQry.MoveLast: rstQry.MoveFirst RCqry = rstQry.RecordCount For i = 1 To RCqry rstTbl.FindFirst "[Auto_ID]=" & rstQry!Auto_ID rstTbl.Delete rstQry.MoveNext Next i rstQry.Close: Set rstQry = Nothing rstTbl.Close: Set rstTbl = Nothing MsgBox "Done" End Sub Private Sub cmd_Delete_With_Query_Click() Dim rstQry As DAO.Recordset Dim rstTbl As DAO.Recordset Dim RCqry As Integer Dim i As Integer Set rstTbl = CurrentDb.OpenRecordset("Select * From Tabl_Itinerary") Set rstQry = CurrentDb.OpenRecordset("Select * From qry_Diff_tbl_Itinerary_tbl_Itinerarytemp") rstQry.MoveLast: rstQry.MoveFirst RCqry = rstQry.RecordCount For i = 1 To RCqry rstTbl.FindFirst "[Auto_ID]=" & rstQry!Auto_ID rstTbl.Delete rstQry.MoveNext Next i rstQry.Close: Set rstQry = Nothing rstTbl.Close: Set rstTbl = Nothing MsgBox "Done" End Sub جعفر 795.Qdel.accdb.zip
  14. انا لم اعمل البرنامج ، فهو عمل الشباب ، ولكن يمكنك توقيف رسائل التحذير هكذا: في بداية الكود اكتب DoCmd.SetWarnings False يأتي الكود هنا وفي نهاية الكود اكتب DoCmd.SetWarnings True . [utv
  15. وعليكم السلام تفضل . هذه الوحدة النمطية الموجودة في Help الاكسس ، مع بعض التعديل Option Compare Database Option Explicit Public Function YMDDif(sDate1, sDate2) 'sdate1 earliest date sdate2 later Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date Dim D As Integer Dim M As Integer Dim Y As Integer iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay M = iMonth Mod 12 Y = iMonth \ 12 YMDDif = CStr(Y) & " س/" & CStr(M) & " ش/" & CStr(D) & " ي" End Function Public Function YMDDif2(sDate1, sDate2) 'sdate1 earliest date sdate2 later Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date Dim D As Integer Dim M As Integer Dim Y As Integer iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay M = iMonth Mod 12 Y = iMonth \ 12 YMDDif2 = CStr(M) & " ش" End Function . اما التقرير ، فيأخذ بياناته من هذا الحدث ويعطينا الفرق باليوم ، والشهر ، والسنة (احذف السطر اللي ما تريده) Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer) Me.txtcount = DLookup("[التاريخ]", "[Query1]", "[Query1]![CountOfالتسلسل]=" & [نص128]) Me.txtcounupgrade = DLookup("[التاريخ]", "[Query1]", "[Query1]![CountOfالتسلسل]=" & [نص130]) Me.Months = YMDDif(Me.txtcount, Me.txtcounupgrade) & vbCrLf & _ "او" & vbCrLf & _ YMDDif2(Me.txtcount, Me.txtcounupgrade) End Sub جعفر 794.حساب عدد الاشهر بين تاريخين.accdb.zip
  16. me.fry_111.SetFocus me.fry_111![رقم الفاتورة].SetFocus DoCmd.FindRecord Me.tt1, , , , , , True وعليكم السلام هذا الكود للنموذج الفرعي الاول ، ويمكنك تغييره للنموذج الفرعي الثاني جعفر
  17. انا انزلت المرفق في اول مشاركة لك ، ومجرد اضفت هذا السطر (باللون الاحمر) ، في مكانين مختلفين: rst.edit rst!mjmo = rst!Alkmiah * rst!Price rst!safi = rst!Alkmiah * rst!Price * (1 - Me.Percentage_Discount) ولم المس اي شيء آخر. جعفر
  18. وعليكم السلام ابو زاهر هل هذا الذي تريده؟ جعفر 792.المجموع.mdb.zip
  19. السلام عليكم اختي الفاضلة: 1. زر "أبلغ فريق الموقع عن مخالفة" هو لإبلاغ مشرفي الموقع عن إساءة في مشاركة ، ولا علاقة لها بصاحب الموضوع ، 2. هذا الموضوع تم مناقشته في 2015 ، فيُعتبر مُغلق للمشاركات الجديدة. رجاء افتحي موضوع جديد ، واشرحي فيه طلبك ، واتركي فيه رابط لهذا السؤال جعفر
  20. الحين عرفت ، اسألتك السهلة عبارة عن طُعم ، لما تصيد الجواب ، تهجم عليه بالسؤال الصعب شتان بين حذف سجل ، وحذف مجموعة سجلات في النموذج الفرعي!! في النموذج الرئيسي ، اعمل الحدثين: Option Compare Database Option Explicit Private Sub cmd_Delete_Click() 'اذا اخترت السجل في النموذج الفرعي ، ثم ضغطت زر الحذف من النموذج الرئيسي مباشرة 'Screen.PreviousControl.SetFocus 'DoCmd.RunCommand acCmdDeleteRecord 'اما اذا اخترت السجل في النموذج الفرعي ، ثم اخذت لك لفة على كائنات النموذج الرئيسي 'فيجب ان يجب ان نخبر الكود ان عملنا سيكون على النموذج الفرعي 'frm_tap = اسم النموذج الفرعي 'Me.frm_tap.SetFocus 'DoCmd.RunCommand acCmdDeleteRecord Call Form_frm_tap.Delete_Record End Sub Private Sub frm_tap_Exit(Cancel As Integer) Call Form_frm_tap.rowsSelected End Sub . وفي النموذج الفرعي ، اعمل هذه الاحداث: Option Compare Database Option Explicit Dim Selected_Rows() As String Dim i As Integer Dim rst As DAO.Recordset Dim ctrl_Name As String ' Public Sub rowsSelected() ctrl_Name = "sit_no" Dim selH As Long, selT As Long ReDim Selected_Rows(0) selH = Me.SelHeight selT = Me.SelTop - 1 If Me.SelHeight <> 0 Then ReDim Selected_Rows(Me.SelHeight) Set rst = Me.RecordsetClone rst.MoveFirst: rst.Move selT For i = 0 To Me.SelHeight - 1 Selected_Rows(i) = rst(ctrl_Name) rst.MoveNext Next rst.Close: Set rst = Nothing End If End Sub Public Sub Delete_Record() On Error GoTo err_Delete_Record Set rst = Me.RecordsetClone For i = LBound(Selected_Rows) To UBound(Selected_Rows) - 1 rst.FindFirst "[" & ctrl_Name & "]=" & Selected_Rows(i) rst.Delete Next i Exit_Delete_Record: rst.Close: Set rst = Nothing Exit Sub err_Delete_Record: If Err.Number = 9 Then Resume Exit_Delete_Record Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . رجاء ملاحظة: 1. لازم تعطي اسم الحقل الى المتغير ، من هنا: ctrl_Name = "sit_no" 2. في الكود ، انا استعملت حقل رقم (انظر الكود اعلاه) ، فإذا استعملت حقل نص ، فيجب: تبديل هذا السطر rst.FindFirst "[" & ctrl_Name & "]=" & Selected_Rows(i) الى rst.FindFirst "[" & ctrl_Name & "]='" & Selected_Rows(i) & "'" جعفر 786.Delete_SubForm_Records.mdb.zip
  21. انا لا املك هذه البرنامج ، وقوانين المنتدى لا تسمح بإرفاقها: 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة. جعفر
  22. وعليكم السلام هذه طريقة اصطياد رقم رسالة الخطأ . وعند الحصول على رقم الخطأ ، اذهب الى مشاركتي التالية في الموضوع عاليه. جعفر
×
×
  • اضف...

Important Information