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

ابو جودي

أوفيسنا
  • Posts

    6,503
  • تاريخ الانضمام

  • Days Won

    167

كل منشورات العضو ابو جودي

  1. وهذا رابط الموضوع الذى استخدمت فيه فكرة حمل المراجع والمكتبات واعادة ربطها اليا يمكنكم النظر الى الاكواد وتتبعها ان كنتم فى عجله من امركم الى ان انتهى من الاعداد والتأكد بالتجربة قبل الرجوع اليكم هنا وايضا هنا المهم انك بعد التجربة بأوفيس 2019 تعيد فتح نفس القاعدة التى قمت بفتحها على اوفيس 2019 لترى ان كانت ستعمل مرة أخرى عند فتحها على 2010 او 2013 ام ان المكتبات سوف تسبب تلك المشكلة
  2. سؤال رااااائع جدا جدا جدا جدا وفى محلة ولكن قبل اى شئ لا اعلم النتيجة تلك الفكرة استخدمتها بالفعل عند تصميم قاعدة بيانات الفاتورة الالكترونية لاننى اعتمدت على مكتبة جافا فى كتابة وقراءة الباركود ولكن هناك مراجع ومكتبات ضمن نظام التشغيل لم اقم بتجربة عمل ذلك عليها ولكن تم ذلك بنجاح منقطع النظير فى التعامل مع المراجع والمكتبات الخارجية دعنى اقوم بالتجربة اولا حتى اكون على تمام اليقين من المعلومة عند تقديمها ابشر ان شاء الله
  3. نعم المكتبات المرهونة بإصدار الاوفيس عند اضافتها على اصدار اوفيس ومع فتح القاعدة باصدار أعلى من اللإصدار الذى تم التصميم واضافة المكتبات يتم تحديث خذخ المكتبات تبعا للاصدار الجديد والأحدث طيب أين المشكلة عند فتح نفس القاعدة بإصدار اوفيس أقل فى الاصدار من أخر اصدار أوفيس تم فتح القاعدة به المكتبات يمكن أن يحدث لها Upgrade ولكن ابدا لن يحدث لها downgrade للتبسيط اكثر تم اصدار قاعدة بيانات اكسس 2000 عند محاولة فتح القاعدة على اكسس 2003 تعمل بنجاح ولو تم فتح نفس القاعدة على اكسس 2007 تعمل ايضا بنجاح ولكن عند محاولة فتح نفس القاعدة على اكسس 2000 أو اكسس 2003 لن تعمل وستتوقف المكتبة عن العمل وسوف تحصل على Missing References لاى نوع من المكتبات التى تعتمد على اصدار الاوفيس طبعا هذه تمثل مشكلة كبيرة جدا فى استخدام القاعدة على شبكة محلية عند اختلاف نسخ الاوفيس طبعا وللاهمية هذا كما اشرت مسبقا للمكتبات المرهونة برقم اصدار الاوفيس الربط المسبق Early Binding: 1. ان تختار مكتبة الاكسل (طبعا لهذا المثال) ، 2. ثم الكود يكون شيء من هذا القبيل: Dim oExcel As Excel.Application Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True والمشكلة هنا ، انه اذا اخترت مكتبة اكسل الاقل (مثلا اكسل 😎 ، فأي كمبيوتر يحتوي على اكسل 8 او اكبر (9 ..12..15) فالمكتبة/البرنامج سوف يشتغل بطريقة صحيحه ، بينما اذا كان عندك اكسل 6 ، فستحصل على خطأ ، ولن يعمل الكود الميزة في هذه الطريقة انها اسرع في العمل ، والاهم من هذا ، انها تساعدك في اعطائك الاوامر (مثلا تكتب امر معين ثم تكتب نقطة . فتظهر لك الاوامر التي تستطيع استعمالها). اما اذا استعملنا الربط المتأخر Late Binding فإننا لا نحتاج الى اختيار مكتبة الاكسل ، ونكتب الكود اعلاه هكذا ، والذي يشتغل على جميع اصدارات الاكسل: Dim oExcel As Object Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True المشكلة هنا ، اننا يجب ان نعتمد على انفسنا لعمل الكود ، فالاكسس لن يساعدنا ، وهو ابطأ نوعا ما ونسبيا من الطريقة الاولى
  4. طيب ايه رايك فى عمل مقارنة سريعة الكود بتاع حضرتك لازم ولابد وحتما انك تستدعى المكتبة ' Requires reference to Microsoft Office 11.0 Object Library. طبعا الرقم 11 سوف يتغير تبعا لاصدار الاوفيس يعنى يحصل مشكلة لو كان ' Requires reference to Microsoft Office 16.0 Object Library. وخيشتغل على اكسس اصدار اقل الكود المستخدم فى السؤال لا يعتمد على مكتبات
  5. طيب يا باش مهندس انا اكتشفت السبب اخيرا فى المشكلة عندى انا كنت فاتح اكثر من قاعدة اعدل على واحدة واجرب على واحدة تانى خالص منشان هيك ما كنت احصل اى نتيجة وشكيت فى نفسي ما انتبهت الا الان وعلى كل جزاكم الله خيرا ولارد بضاعتكم اليكم يا باش مهندس @Eng.Qassim سوف استخدم الكود بهذا الشكل If Nz(strOptionExtension, "") = "" Then .Filters.Add "Select File", "*.*" Else: .Filters.Add "Select File", strOptionExtension
  6. والله لى ساعتين اعمل الكود بالطريقة دى ومش عارف فى ايه سبحان الله جزاكم الله حيرا ---------------------------- انا ما بعض
  7. السلام عليكم واتتنى فكرة كتابة روتين عام متعدد الخيارات لتكون وظيفته كالاتى احضار مسار ما احضار مسار لملف محدد مع المرونة فى تغيير الامتداد تبعا للاستخدام المطلوب وتوقفت عند محاولة تمرير الامتداد من خلال استخدام المتغير strOptionExtension وتحديد فى هذا السطر المن الكود .Filters.Add "Select File", "*.jpg , *.png" اريد استبدال جزء الامتداد على ان يكون بهذا الشكل .Filters.Add "Select File", strOptionExtension وولاسف فشلت كل محاولاتى Function CustomPicker(Optional ByRef btOptionDialog As Byte = 0, Optional ByRef strOptionExtension As String = "") Dim FileDialog As Object Dim sPath As String Dim sFile As String Select Case Nz(btOptionDialog, 0) 'FilePicker Case Is = 0 Set FileDialog = Access.Application.FileDialog(3) With FileDialog .allowmultiselect = False .Filters.Clear .Filters.Add "Select File", "*.jpg , *.png" If .show = -1 Then .Title = "Please select a File" CustomPicker = .SelectedItems(1) End With 'FolderPicker Case Is = 1 Set FileDialog = Access.Application.FileDialog(4) With FileDialog .allowmultiselect = False .Filters.Clear If .show = -1 Then .Title = "Please select a Folder" CustomPicker = .SelectedItems(1) End With End Select End Function
  8. وهذ الكود ان شاء الله يفى بالغرض كما هو المطلوب Public Function MultiReplacements(Optional ByVal strInput As String = "") As String If Nz(strInput, "") = "" Then Exit Function strInput = Replace(strInput, "ي ", "ى " & "") strInput = Left(strInput, Len(strInput) - 1) + Replace(Right(strInput, 1), "ي", "ى") strInput = Replace(strInput, "ة", "ه" & "") strInput = Replace(strInput, "عبدال", "عبد ال" & "") strInput = Replace(strInput, "عبدرب", "عبد رب" & "") MultiReplacements = strInput End Function وطبعا لتجنب حدوث اى مشاكل بسبب استخدام الاحرف العربية داخل محرر الاكواد افضل استخدام الكود الاتى Public Function MultiReplacements(Optional ByVal strInput As String = "") As String If Nz(strInput, "") = "" Then Exit Function strInput = Replace(strInput, ChrW(1610) & ChrW(32), ChrW(1609) & ChrW(32) & "") strInput = Left(strInput, Len(strInput) - 1) + Replace(Right(strInput, 1), ChrW(1610), ChrW(1609)) strInput = Replace(strInput, ChrW(1577), ChrW(1607) & "") strInput = Replace(strInput, ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(1575) & ChrW(1604), ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(32) & ChrW(1575) & ChrW(1604) & "") strInput = Replace(strInput, ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(1585) & ChrW(1576), ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(32) & ChrW(1585) & ChrW(1576) & "") MultiReplacements = strInput End Function
  9. ههههههه اى خدمه علشان تعرف بس انا مصحصح باقى استبدال احرف ال ة الى ه والياء ي فى اخر الكلمة الى ى
  10. طيب اولا اهلا استاذى الجليل و معلمى القدير و والدى الحبيب الاستاذ @ابوخليل ادامكم الله فوق رؤسنا انت وكل اساتذتنا الكرام لازلت المشكلة قائمة لو كتبنا مثلا احمد العبدان عبد الله نحصل على احمد العبد ان عبد الله يمكننا اضافة بعد التعديلات للحصول على الاسم بدون عدد 2 مسافة لكن عائلة العبدان إن حضرت الينا ماذا نفعل معهم ؟ وحتى لاتزعل منا عائلة العبدان نستخدم هذا الكود Dim i As String Me.txt1.SetFocus i = Me.txt1.Value i = Replace(i, "عبدال", "عبد ال" & "") i = Replace(i, "عبدرب", "عبد رب" & "") Me.txt1 = i
  11. وأخيرا ً بحمد الله الذى تتم بنعمته الصالحات ضع للكود الاتى فى وحدة نمطيه Public Function MultiReplacements(ByVal varInput As String, ParamArray varReplacements() As Variant) On Error GoTo ErrorHandler Dim n As Integer Dim varOutput As Variant Dim intParamsCount As Integer If Nz(varInput, "") = "" Then Exit Function ' varInput = Nz(varInput, 0) 'If Not IsNull(varInput) Then If Len(varInput & "") > 0 Then intParamsCount = UBound(varReplacements) + 1 If intParamsCount Mod 2 = 0 Then varOutput = varInput For n = 0 To UBound(varReplacements) Step 2 varOutput = Replace(varOutput, varReplacements(n), varReplacements(n + 1)) Next n Else Exit Function End If End If MultiReplacements = varOutput ExitHandler: Exit Function ErrorHandler: Select Case Err.Number Case Is = 94: Resume ExitHandler Case Else MsgBox "Error Number : " & Err.Number & vbNewLine & "Error Description : " & Err.Description Resume ExitHandler End Select End Function Public Function ReplaceResult(ByVal strInput As String) If Nz(strInput, "") = "" Then Exit Function ReplaceResult = MultiReplacements(strInput, ChrW(1577), ChrW(1607), _ ChrW(32), ChrW(32), _ ChrW(1610) & ChrW(32), ChrW(1609) & ChrW(32), _ ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(1575) & ChrW(1604), ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(32) & ChrW(1575) & ChrW(1604), _ ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(32) & ChrW(1575) & ChrW(1604) & ChrW(32), ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(1575) & ChrW(1604) & ChrW(32), _ ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(1585) & ChrW(1576) & ChrW(32), ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(32) & ChrW(1585) & ChrW(1576) & ChrW(32), _ ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(1605) & ChrW(1575) & ChrW(1604) & ChrW(1603), ChrW(1593) & ChrW(1576) & ChrW(1583) & ChrW(32) & ChrW(1605) & ChrW(1575) & ChrW(1604) & ChrW(1603) _ ) End Function ويتم استدعاءه كالتالى ReplaceResult([txt]) واخيرا المرفق الاسماء المركبة.accdb
  12. يا استاذ @رولي اتفضل راجع الموضوع الاتى قمت بالتطوير على الاكواد لاضافاء مرونى فى التعامل مع الاصوات ذوات الامداد MP3 , WAV ودائما احاول قدر المستطاع عند كتابة الأكواد مراعاة التعامل مع كلتا النواتان 32x , 64x
  13. شوف يا سيدى اولا الية العمل لو لاحظت الكود دوال ال API هى دوال تتعامل مع نظام التشغيل لذلك فى تسلسل الاكواد تجد اننى اولا احتفظ بكود الثيم الخاص بنظام التشغيل قبل العمل لباقى الكود وبعد ذلك يتم تغيير الوان الثيم لتظهر كما نريد ثم نعيد الوضع الافتراضى مرة اخرى وطبعا المثال ده كانت الفكرة الاولى لى ممكن تطويرها للاحتفاظ بها فى جدول لانه لو تم تفريغ المتغير من القيمة التى اسندت اليه سوف يظل الوضع باللون الذى تم التغيير اليه انا الان اشارك من الموبايل فقط انتظر وابشر ان شاء الله ساقوم بالتعديلات اللازمة وارسلها اليكم
  14. ايون لازم ده شرط علشان تشتغل بالعربي
  15. اذن ايه انت تتقدمنا يا اهلا ومرحبا أنا كمثل رجل ضاعت ناقته في الصحراء ،فهو يريد الناقة فلا فرق عنده : هل هو سيجدها .. أم أحد آخر سيجدها ؟ فقط اقدم العون لمن يريد سائلا الله عزوجل القبول وان يكتبه علم ينتفع به فى موازين حسنات والدى رحمه الله تعالى وكل المسلمين فلقد علمنى رحمه الله تعالى ان اعين الضعيف واغيث الملهوف واكون فى قضاء حوائج الناس ما استطعت اخى الحبيب المهم هو الغاية فلن يشكل الوصول اليها منى او من غيرى من اخوانى واحبائى او اساتذتى الذين اتعلم منهم وعلى أيديهم أي فارق
  16. مش فاهم على فكرة ممكن توضيح ياريت لو ترفق صورة للمكشلة يكون افضل
  17. تغيير التسمية لازرار صندوق الرسائل و افكار التحكم فى صندوق الرسائل full control arabic Message Box 32x,64x .mdbFull Arabic Message Box V3 32X, 64x.accdb
  18. والله أعلى وأعلم على قدر معلوماتى للاسف PlaySound API الخاصة بتشغيل ملفات صوت ذات الامتداد WAV لا تدعم الإيقاف المؤقت/الاستئناف وننتظر من اساتذتنا أهل الخبرة مراجعتنا فى هذه النقطة إن أمكن وهذا تعديل بسيط علشان خاطر عيونك تدلل PlayAudio V0.2.zip
  19. وهذا مثال اخر باستخدام تغيير لون خط الرسائل ولكن لضيق وقتى لم اتدارك الاخطاء فى استخدام اللغة العربية داخل محرر الأكود هذا المثال فقط لعرض الافكار رابط الموضوع الاصلى Full Arabic Message Box V3 32X, 64x.accdb
  20. الق نظرة على هذه القاعدة رابط الموضوع الصلى full control arabic Message Box 32x,64x .mdb
×
×
  • اضف...

Important Information