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

Barna

الخبراء
  • Posts

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

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

  • Days Won

    24

Community Answers

  1. Barna's post in مساعدة في ترتيب ارقام was marked as the answer   
    جرب هذا .....
    Dim rst As DAO.Recordset Dim biggest_Number As Long Dim i As Long Dim RC As Long biggest_Number = Len(DMax("[num]", "fnumber")) Set rst = CurrentDb.OpenRecordset("Select * From fnumber") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 0 To RC - 1 rst.Edit rst!num = 1 + i rst.Update rst.MoveNext Next i rst.Close: Set rst = Nothing MsgBox "Done"  
  2. Barna's post in فرز تقرير حسب حقل به خاصية قيم متعددة was marked as the answer   
    تفضل ملفك بعد التعديل ......................
     
    base_r_BAR.accdb
  3. Barna's post in استخراج او جلب قيمة موجودة في جملة نصية was marked as the answer   
    طيب جرب واعلمنا بالنتيجة ..... استخدم هذا الامر تحت زر تفريغ على الجدول .....
     
    Dim strField As String Dim regex As Object Dim matches As Object Dim match As Variant Dim cleanedValue As String Dim FullText As String Dim FirstPhrase, SecondPhrase As String Dim RemainingText As String Set regex = CreateObject("VBScript.RegExp") regex.Global = True regex.IgnoreCase = True strField = Me.a regex.Pattern = "الوزن:\d+|\d+\s*\$\s*اجار شاحنة|\d+\s*\$\s*عمال|\d+\s*\$\s*رسوم|\d+\s*\$\s*وصل|\d+\s*\$\s*خدمات|العدد:\d+" Set matches = regex.Execute(strField) FirstPhrase = Split(strField, "المادة")(0) SecondPhrase = Split(strField, "العدد")(0) RemainingText = Replace(SecondPhrase, FirstPhrase & "المادة", "") FirstPhrase = Replace(FirstPhrase, "السيد", "") DoCmd.OpenForm "Test1", , , , acFormAdd Forms!Test1.Form.Recordset.AddNew For Each match In matches cleanedValue = Replace(match.Value, "$", "") cleanedValue = Replace(cleanedValue, "الوزن:", "") cleanedValue = Replace(cleanedValue, "رسوم", "") cleanedValue = Replace(cleanedValue, "وصل", "") cleanedValue = Replace(cleanedValue, "خدمات", "") cleanedValue = Replace(cleanedValue, "عمال", "") cleanedValue = Replace(cleanedValue, "اجار شاحنة", "") cleanedValue = Replace(cleanedValue, "العدد:", "") cleanedValue = Trim(cleanedValue) If InStr(match.Value, "الوزن:") > 0 Then Forms![Test1]![d].Value = cleanedValue ElseIf InStr(match.Value, "عمال") > 0 Then Forms![Test1]![g].Value = cleanedValue ElseIf InStr(match.Value, "وصل") > 0 Then Forms![Test1]![e].Value = cleanedValue ElseIf InStr(match.Value, "خدمات") > 0 Then Forms![Test1]![f].Value = cleanedValue ElseIf InStr(match.Value, "اجار شاحنة") > 0 Then Forms![Test1]![h].Value = cleanedValue ElseIf InStr(match.Value, "العدد:") > 0 Then Forms![Test1]![c].Value = cleanedValue End If Next match Forms![Test1]![a].Value = FirstPhrase Forms![Test1]![b].Value = RemainingText  
  4. Barna's post in زر واحد يقوم بعمليتين was marked as the answer   
    اولا ::: هناك اخطاء لديك لانك استخدمت بعض الكلمات المحجوزة للاكسس
    ثانيا :::: اقتنصت بعض الاكواد من الخبير @jjafferr فله الشكر والعرفان
    جرب المرفق ربما هو المطلوب .
     
    Change by One Button.accdb
  5. Barna's post in حساب عدد السجلات في جدول واكبر رقم موجود فيه حسب الاختيار من مربع سرد وتحرير was marked as the answer   
    طبق ما في الصورة مع استخدام هذا .........
    Me.نص1595 = DCount("[الرقم]", "[مذكرة]", "[الرمز] ='" & [Forms]![memoire]![الرمز] & "'") Me.نص1597 = DMax("[الرقم]", "[مذكرة]", "[الرمز] ='" & [Forms]![memoire]![الرمز] & "'")  

  6. Barna's post in تصنيف بالإدارة was marked as the answer   
    افتح التقرير في وضع التصمبم ونفذ ......
     

  7. Barna's post in ترتيب الاشهر فى الاستعلام والنموزج والتقرير was marked as the answer   
    Database3.accdb
  8. Barna's post in التعديل على ملف استخراج الراتب بعد اضافة عدد من العلاوات was marked as the answer   
    Dim db As DAO.Database Dim rs As DAO.Recordset Dim fld As DAO.Field Dim searchNumber As Long Dim found As Boolean searchNumber = Me.C Set db = CurrentDb() Set rs = db.OpenRecordset("SELECT Salary.GradeNO, Salary.[1], Salary.[2], Salary.[3], Salary.[4], Salary.[5] FROM Salary ORDER BY Salary.GradeNO DESC;", dbOpenDynaset) i = 0 found = False Do Until rs.EOF For Each fld In rs.Fields If Not IsNull(fld.Value) And fld.Value = searchNumber Then found = True ElseIf found And Not IsNull(fld.Value) And i < Me.D And fld.Name <> "GradeNO" Then i = i + 1 Me.G = fld.Value Me.E = rs!GradeNO Me.F = fld.Name End If Next fld rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing  
  9. Barna's post in التعديل على ملف توزيع الخدمة الوظيفية بالسنوات was marked as the answer   
    طيب جرب على حالات اخرى ....
    Dim db As DAO.Database Dim rs As DAO.Recordset Dim i, TT As Integer Dim numCopies As Integer Set db = CurrentDb Set rs = db.OpenRecordset("SELECT tp2.GradeNO, tp2.سنوات_المكوث FROM tp2 WHERE (((tp2.GradeNO)<=" & Me.الدرجة_الوظيفية & ")) ORDER BY tp2.GradeNO DESC;", dbOpenDynaset) TT = iYear Do Until rs.EOF TT = TT - rs!سنوات_المكوث numCopies = rs!سنوات_المكوث If TT < rs!سنوات_المكوث Then Me.مربع_تحرير_وسرد47 = rs!GradeNO - 1 Me.مربع_تحرير_وسرد49 = Me.المرحلة_الوظيفية + TT rs.MoveNext GoTo RR 'Exit Sub End If For i = 1 To numCopies Next i rs.MoveNext Loop RR: If Me.مربع_تحرير_وسرد49 > rs!سنوات_المكوث Then Me.مربع_تحرير_وسرد47 = rs!GradeNO - 1 Me.مربع_تحرير_وسرد49 = 1 Exit Sub End If rs.Close Set rs = Nothing Set db = Nothing  
  10. Barna's post in التعديل على احتساب الشهر 30 يوما was marked as the answer   
    تفضل استاذ @Ahmed_J >>> ربما يلبي طلبك .....
     

    301.Dates_Calculations2.mdb
  11. Barna's post in تمييز نوع الغياب في تقرير الغياب الشهري اذا الغياب محسوب عن ايام تاخير was marked as the answer   
    تفضل جرب ................
     
    التقرير الشهري للغياب.accdb
  12. Barna's post in احتساب ايام التأخير كيوم غياب للموظفين was marked as the answer   
    بارك الله فيك .....
    انظر الصورة لهذا الموظف قبل التحديث وبعد التحديث ( هل هذا هو المطلوب ) ؟؟؟؟؟؟
    جرب المرفق واعلمنا بالنتيجة .....


    الغياب والتاخير.accdb
  13. Barna's post in تحديد الاسكانر المستخدم من اكثر من سكانر متصل was marked as the answer   
    للاسف ليس لدي سكنر ... جرب واعلمنا ..........
    Public Function SelectScanner() Dim ComDialog As New WIA.CommonDialog Dim wiaScanner As WIA.Device ' عرض نافذة لاختيار الجهاز Set wiaScanner = ComDialog.ShowSelectDevice(WiaDeviceType.ScannerDeviceType, False, True) ' إذا تم اختيار جهاز، فإن DeviceID سيحتوي على معرف الجهاز المحدد If Not wiaScanner Is Nothing Then MsgBox "تم اختيار الجهاز: " & wiaScanner.DeviceID Else MsgBox "لم يتم اختيار أي جهاز." End If End Function يتطلب إضافة مرجع إلى “Microsoft Windows Image Acquisition Library v2.0
  14. Barna's post in كيفية استخراج الأعوام بين تاريخين was marked as the answer   
    Sub InsertYears() Dim rsSource As DAO.Recordset Dim rsTarget As DAO.Recordset Dim StartDate As Date Dim EndDate As Date Dim iYear As Integer DoCmd.SetWarnings False DoCmd.RunSQL "DELETE TEMP_DATE.* FROM TEMP_DATE;" DoCmd.SetWarnings True Set rsSource = CurrentDb.OpenRecordset("date1") Set rsTarget = CurrentDb.OpenRecordset("TEMP_DATE") Do Until rsSource.EOF StartDate = rsSource!t2 EndDate = rsSource!t3 For iYear = Year(StartDate) To Year(EndDate) rsTarget.AddNew rsTarget!t2 = CStr(iYear) rsTarget!t1 = rsSource!t1 rsTarget.Update Next iYear rsSource.MoveNext Loop rsSource.Close rsTarget.Close Set rsSource = Nothing Set rsTarget = Nothing End Sub  
  15. Barna's post in تعديل على استعلام موحد was marked as the answer   
    هل هذا طلبك حسب فهمي للموضوع ....
     

    2023.mdb
  16. Barna's post in مساعدة النماذج بعضها يذهب خلف بعض was marked as the answer   
    مشاركة مع استاذي الغالي @Eng.Qassim
    تفضل ......
     
    المهن التربوية.accdb
  17. Barna's post in اين اجد خصائص حذف الكائنات في ادوات اكسس ؟ was marked as the answer   
    وعليكم السلام اخي الفاضل
    لم افهم جيدا لسؤالك ولكن هل تقصد هذا الخيار ؟؟؟؟ ملف .... ثم تابع الصور ...
     
     


  18. Barna's post in إظهار واخفاء بيانات فى التقرير was marked as the answer   
  19. Barna's post in هل من الممكن عمل تقرير اكسس بالمؤشرات المتواجده بتقرير الاكسل المرفق was marked as the answer   
    امين واياك ....... طيب تفضل شوف كده
    استخدمنا هذه الاكواد ...
    Public Function PctMeter(varAmt As Variant, varTotal As Variant) Dim sngPct As Single sngPct = varAmt / varTotal If sngPct <= 1 Then Me!baselbl.Caption = Int(sngPct * 100) Me!lblmeter.Width = CLng(Me!baselbl.Width * sngPct) Else Me!baselbl.Caption = " القيمة أكبر من 100%" Me!lblmeter.Width = CLng(Me!baselbl.Width * 1) End If Select Case sngPct Case Is < 0.15 Me!lblmeter.BackColor = 255 Me.red_p.Visible = True Me.gre_p.Visible = False Me.yel_p.Visible = False Case Is < 0.5 Me!lblmeter.BackColor = 65535 Me.red_p.Visible = False Me.gre_p.Visible = False Me.yel_p.Visible = True Case Else Me!lblmeter.BackColor = 65280 Me.red_p.Visible = False Me.gre_p.Visible = True Me.yel_p.Visible = False End Select End Function Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) i = 1 For i = i To 5 If (Me("Text" & 19 + i) / Me.Text25) * 100 < 20 Then Me(i & "_red").Visible = True Me(i & "_ger").Visible = False Me(i & "_yel").Visible = False ElseIf (Me("Text" & 19 + i) / Me.Text25) * 100 > 20 Then Me(i & "_red").Visible = False Me(i & "_ger").Visible = True Me(i & "_yel").Visible = False End If Next i Call PctMeter(Me.bar, 100) End Sub  
     
    New Database - .accdb
  20. Barna's post in تعديل الكود ترقيم مجموع من سجلات was marked as the answer   
    طيب جرب هذا <|<><><><><><|>
    Dim rst As DAO.Recordset Set dbs = CurrentDb date_custom = Date If Len(Me.number_custom & "") <> 0 Then Exit Sub Me.number_custom = Nz(DMax("[number_custom]", "tbl_custom", "year([date_custom])=" & Year(date_custom)), 0) + 1 Set rst = dbs.OpenRecordset("FrmRretsQ") d = Me.number_custom DoCmd.RunCommand acCmdSaveRecord Do Until rst.EOF rst.Edit rst!number_custom = d rst!date_custom = Date rst!emp_company = DYear rst.Update d = d + 1 rst.MoveNext Loop Me.Requery  
  21. Barna's post in استعلام جمع بيانات was marked as the answer   
    اعتقد عندك مشكلة في العلاقات .... حاول ترتجعها .... على العموم هل هذا ما تريد .....
     
    solaf2.accdb
  22. Barna's post in التنقل بين سجلات النماذج الفرعية was marked as the answer   
    مشاركة مع الاستاذ @دروب مبرمج
    في حدث الحالي للنموذج الفرعي الاول ضع هذا الحدث ......
    Dim rs As DAO.Recordset On Error Resume Next Set rs = Me.RecordsetClone rs.FindFirst "[ItemNumber] = " & Me![ItemNumber] Me.Parent.FrmSubInvoice.Form.Bookmark = rs.Bookmark  
  23. Barna's post in تغير اسم الحقل حسب قيمة الخلية was marked as the answer   
    اخي محمد جرب الكود التالي في حدث تحت الزر ....
    Dim a As Integer a = Forms![test1]![NumberEnd] Me("LastNumberx" & a) = Forms![test1]![NumberEnd]  
  24. Barna's post in معرفة أخر رقم فى أخر سجل لنموذج فرعى was marked as the answer   
    لعل هذا ما تريد .... ضع هذا الحدث تحث زر GO واخبرنا ..... لأني لم افهم طريقتك في العمل ....
    Dim rs As Object Set rs = Forms![test1]![SUBX].Form.RecordsetClone rs.MoveLast Forms![test1]![SUBX].Form.Bookmark = rs.Bookmark Forms![test1]![LastNumberx] = Forms![test1]![SUBX].[Form]![NumberX] rs.Close DoCmd.Close  
  25. Barna's post in عدم تكرار قيمة حقل في نمودج بناء على شرط معين was marked as the answer   
    في النموذج وفي حدث بعد التحديث لمربع النص الخاص بالرقم ضع هذا الكود
    If [Forms]![نمودج1]![الرقم] <= [Forms]![نمودج1]![نص12] Then Me.الرقم = "" MsgBox "الرقم مكرر" End If  
×
×
  • اضف...

Important Information