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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    119

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

  1. تفضل أخي الكريم ،، Function ConvertCurrencyToArabic(ByVal MyNumber) Dim Temp Dim AED, Cents Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " ألف " Place(3) = " مليون " Place(4) = " مليار " Place(5) = " تريليون " MyNumber = Trim(Str(MyNumber)) DecimalPlace = InStr(MyNumber, ".") If DecimalPlace > 0 Then Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2) Cents = ConvertTens(Temp) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber <> "" Temp = ConvertHundreds(Right(MyNumber, 3)) If Temp <> "" Then AED = Temp & Place(Count) & AED End If If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case AED Case "" AED = "لا يوجد درهم" Case "One" AED = "درهم واحد" Case Else AED = AED & " درهم" End Select Select Case Cents Case "" Cents = "" Case "One" Cents = " " Case Else Cents = " و" & Cents & " " End Select ConvertCurrencyToArabic = AED & Cents End Function Private Function ConvertDigit(ByVal MyDigit) Select Case Val(MyDigit) Case 1: ConvertDigit = "واحد" Case 2: ConvertDigit = "اثنان" Case 3: ConvertDigit = "ثلاثة" Case 4: ConvertDigit = "أربعة" Case 5: ConvertDigit = "خمسة" Case 6: ConvertDigit = "ستة" Case 7: ConvertDigit = "سبعة" Case 8: ConvertDigit = "ثمانية" Case 9: ConvertDigit = "تسعة" Case Else: ConvertDigit = "" End Select End Function Private Function ConvertHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) If Left(MyNumber, 1) <> "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " مئة " End If If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If ConvertHundreds = Trim(Result) End Function Private Function ConvertTens(ByVal MyTens) Dim Result As String If Val(Left(MyTens, 1)) = 1 Then Select Case Val(MyTens) Case 10: Result = "عشرة" Case 11: Result = "أحد عشر" Case 12: Result = "اثنا عشر" Case 13: Result = "ثلاثة عشر" Case 14: Result = "أربعة عشر" Case 15: Result = "خمسة عشر" Case 16: Result = "ستة عشر" Case 17: Result = "سبعة عشر" Case 18: Result = "ثمانية عشر" Case 19: Result = "تسعة عشر" Case Else End Select Else Select Case Val(Left(MyTens, 1)) Case 2: Result = "عشرون " Case 3: Result = "ثلاثون " Case 4: Result = "أربعون " Case 5: Result = "خمسون " Case 6: Result = "ستون " Case 7: Result = "سبعون " Case 8: Result = "ثمانون " Case 9: Result = "تسعون " Case Else End Select Result = Result & ConvertDigit(Right(MyTens, 1)) End If ConvertTens = Result End Function وهذا مرفق لكود آخر للتفقيط بالعربي تفقيط الارقام فى الاكسس.accdb
  2. مشكور أخوي @شايب على الرد بالمتابعة 😊 ، جعله الله في ميزان حسناتك.
  3. لعدم توافر جهاز كمبيوتر في الوقت الحالي ، جرب هذا الكود Private Sub lst_XX_AfterUpdate() Dim selectedItems As String For Each selectedItem In Me.lst_XX.ItemsSelected selectedItems = selectedItems & " - " & Me.lst_XX.Column(0, selectedItem) Next selectedItem Me.rap_1.Report.c1.Value = Mid(selectedItems, 4) End Sub
  4. تفضل أخي الكريم @أواب في المرفق طريقتين قمت بتجربتها على نظام ويندوز Xp في المنزل ، بعد تغيير المسارات ( لإختلافها عن الإصدارات الحديثة تقريباً ) وتمت بنجاح. الفكرة مبنية على إنشاء ملف bat. وتشغيله وحذفه بعد ذاك . Cleaner.accdb
  5. يوجد طريقة أخرى من ابتكاري ، ولكن دعني أجربها لضمانها
  6. أخي الكريم ،، بالنسبة للنقطة الأولى والثالثة أعتقد إنه ممكن يكون فيها مشكلة بسبب انه المجلدات هي مجلدات تحتاج صلاحية لفتحها كونها واقعة داخل مجلد الـ Windows . أما النقطة الثانية فتفضل هذا الكود ؛ ضعه في حدث عند النقر لأي زر تريد :- On Error Resume Next Dim recentPath As String recentPath = Environ("USERPROFILE") & "\AppData\Roaming\Microsoft\Windows\Recent\" If Dir(recentPath, vbDirectory) <> "" Then Shell "cmd /c echo Y | cacls """ & recentPath & """ /T /C /P Everyone:F", vbHide Kill recentPath & "*.*" MsgBox ". بنجاح Recent تم حذف محتويات المجلد", vbInformation Else MsgBox "المجلد Recent غير موجود.", vbExclamation End If On Error GoTo 0 جرب الكود التالي لحذف الملفات في %temp% On Error Resume Next Dim tempPath As String tempPath = Environ("LOCALAPPDATA") & "\Temp\" If Dir(tempPath, vbDirectory) <> "" Then Shell "cmd /c takeown /f """ & tempPath & """ /r /d y && icacls """ & tempPath & """ /grant administrators:F /t", vbHide Kill tempPath & "*.*" RmDir tempPath MsgBox "تم حذف محتويات مجلد Temp بنجاح.", vbInformation Else MsgBox "المجلد Temp غير موجود.", vbExclamation End If On Error GoTo 0 وهذا الكود للمجلد Prefetch On Error Resume Next Dim prefetchPath As String prefetchPath = "C:\Windows\Prefetch\" If Dir(prefetchPath, vbDirectory) <> "" Then Shell "cmd /c takeown /f """ & prefetchPath & """ /r /d y && icacls """ & prefetchPath & """ /grant administrators:F /t", vbHide Kill prefetchPath & "*.*" MsgBox "تم حذف محتويات مجلد Prefetch بنجاح.", vbInformation Else MsgBox "المجلد Prefetch غير موجود.", vbExclamation End If On Error GoTo 0
  7. لا تنسى ، اذا انتهت المشكلة و لله الحمد ، فقط اختر الإجابة كأفضل إجابة
  8. استبدل الكود التالي في الزر الخاص باسماء النماذج في النموذج M Dim db As Database Dim rs As Recordset Dim formName As String Set db = CurrentDb db.Execute "DELETE * FROM Frm_Nams" Set rs = db.OpenRecordset("Frm_Nams") For Each frm In Application.CurrentProject.AllForms formName = frm.Name rs.AddNew rs.Fields("Frm_Namo").Value = formName rs.Update Next frm rs.close Set rs = Nothing Set db = Nothing MsgBox "تم إضافة أسماء النماذج بنجاح", vbInformation
  9. أعتقد أن المشكلة قد تكون في صيغة بعض الخطوط وعدم توافقها مع أوفيس أو بعض التطبيقات ، أو في الريجيستري في الويندوز بأنه لا يقبل التعرف على الخط بصيغته المعروفة TTF جرب هذه الموقع لتحويل صيغة الخطوط ، ثم جرب إضافتها بعد أن تقوم بحذف الخطوط السابقة طبعاً. الموقع الأول الموقع الثاني الموقع الثالث
  10. تفضل اخي الكريم صلاحيات المستخدمين.accdb
  11. تفضل أخي الكريم ، التقرير Query1 new1.accdb
  12. تفضلي استاذة صفاء ، هذه تجربتي البسيطة مع بعض التعديلات البسيطة ,, lab (1) (1).accdb
  13. مشاركه خارجية ،، Private Sub CountRecordsInTable() Dim tableName As String Dim fieldToCount As String Dim recordCount As Long Dim strSql As String ' تعيين اسم الجدول tableName = "اسم_الجدول" ' تعيين اسم الحقل الذي ترغب في حساب عدد سجلاته fieldToCount = "اسم_الحقل" ' بناء استعلام SQL لحساب عدد السجلات strSql = "SELECT Count(" & fieldToCount & ") AS RecordCount FROM " & tableName ' استخدام استعلام SQL لاحتساب النتيجة recordCount = DCount(fieldToCount, tableName) ' عرض النتيجة MsgBox "عدد السجلات في الجدول " & tableName & " هو: " & recordCount, vbInformation, "نتيجة العدد" End Sub جرب هذا الكود مع تغيير اسم الجدول والحقل.
  14. أخي الكريم ، هل لك أن ترسل مرفق بسيط ؟ مع العلم أن التعديل هو فقط على الاستعلام الأول فقط
  15. تم تعديل المرفق بالتعليق الأول
  16. مرفق ملف نصي TXT يتضمن باقي التعديلات ، حسب ما تصورت طبعاً Union Query.zip تم تعديل الملف ، يحتوي الاستعلام الأول كتجربة ,,
  17. تفضل هذا المرفق واعطيني النتيجة Give.accdb
  18. هذه فكرة قد تجد فيها الحل ، New Microsoft Access Database.accdb
  19. اخي الكريم من باب التوضيح ، هل تقصد بأنك مثلاً تريد البحث عن قيمة موجودة بين رقمين ( كفكرة البحث بين تاريخين ) ؟؟ فسر أكثر رحم الله والديك و والدينا 😊
  20. لعدم توافر سيرفر عندي ، جرب هذا المرفق Server Connect.accdb
  21. تفقد هذا الملف قد يفيدك في حل مشكلتك ، لكنه بطريقة غير التي اعتمدتها في مرفقك. Whatsapp Sender.accdb
×
×
  • اضف...

Important Information