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

د.كاف يار

الخبراء
  • Posts

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

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

  • Days Won

    60

كل منشورات العضو د.كاف يار

  1. العفو اخي الكريم بالنسبة للطريقة فهي بسيطة لكن يلزمك التركيز و قراءة الكود بتعمن فجميع الدوال التي كنت تستخدمها في النموذج او الاستعلام تم اضافتها للكود لا اكثر
  2. مش كده بالضبط يابو الحسن الي يصير ان راح تكون فيه قاعدة بيانات بصيغة sql server هذه القاعدة تحل مكان الجداول في الاكسس و تستخدم نفس نفس واجهات الاكسس لكن الجداول تكون في سيرفر خارجي بعيد
  3. نعم تعمل بصورة ممتازة فأنا حاليا استخدمه و لا اواجه اي مشكلة نهائيا
  4. اشكرك على هذا الاطراء الجميل اخي تفضل التعديل من 1 الى 5 = صباحية 6 ساعات و هكذا بالإمكان تعديل ساعات العمل من خلال الكود او انشاء جدول لساعات العمل و جلبها من خلال الكود ‏‏شؤون الموظفين حساب ساعات المكرر.zip
  5. لا يوجد جدول بهذا الاسم !
  6. اتفضل استخدم التالي ضع الكود في حدث عند فتح النموذج With Me.Absentsubform.Form .DataEntry = True .Filter = "" .FilterOn = False .Requery End With استخدم نفس الكود الموجود في ازرار البحث في النموذج
  7. اتفضل اخوي راسلني على الايميل راح تجده في ملفي الخاص
  8. الأفضل انك تحول قاعدة البيانات الى SQL على سيرفر خارجي بالإمكان ان تجرب احد السيرفرات المجانية و ارشح لك سيرفر somee و بعد ذلك تقوم بربط جميع نسخ الاكسس في الفروع بقاعدة بيانات SQL ابدء بإنشاء حساب على اي مزود خدمة سواء مجانية او مدفوعة و ستجدنا في خدمتك لربط الفروع بقاعدة البيانات الخارجية
  9. تختلف الطرق حسب طريقة الارسال كيف تقوم بإرسال البريد الإلكتروني ؟ لكن في كل حال استخدم التالي للحصول على قائمة الملفات داخل المجلد Dim fso As Object Dim oFSO As Object Dim oFolder As Object Dim oFile As Object Dim i As Integer Dim FilePath As String Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder("مسار المجلد") For Each oFile In oFolder.Files FilePath = FilePath & vbNewLine & oFile.Name Next oFile MsgBox FilePath
  10. اخي الكريم في البداية قم بإنشاء Module جديد و من خلال المكتبات قم بإضافة المكتبة التالية فقد يختلف رقم الإصدار حسب اصدار الأوفيس لديك و في Module الصق الكود التالي Option Explicit Public as1 As String Public Function Translate(strInput As String, strFromSourceLanguage As String, strToTargetLanguage As String) As String Dim strURL As String Dim objHTTP As Object Dim objHTML As Object Dim objDivs As Object, objDiv As Object Dim strTranslated As String strURL = "https://translate.google.com/m?sl=" & strFromSourceLanguage & "&tl=" & strToTargetLanguage & "&q=" & strInput & "&hl=ar" Set objHTML = Nothing Set objHTTP = CreateObject("Msxml2.XMLHTTP.6.0") objHTTP.Open "GET", strURL, False objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" objHTTP.send "" Set objHTML = CreateObject("htmlfile") With objHTML .Open .Write objHTTP.responseText .Close End With Set objDivs = objHTML.getElementsByTagName("div") For Each objDiv In objDivs If objDiv.className = "result-container" Then strTranslated = objDiv.innerText Translate = strTranslated End If Next objDiv 'DoCmd.GoToRecord , , acNext End Function Function EncodeQP2(s As String) As String Dim i As Long Dim p1 As Long Dim p2 As Long Dim r As String Dim n As Long For i = 1 To Len(s) n = AscW(Mid(s, i, 1)) If n < 128 Then r = r & "%" & Hex(n) ElseIf n < 2048 Then p1 = n \ 64 r = r & "%" & Hex(p1 + 192) p2 = n Mod 64 r = r & "%" & Hex(p2 + 128) Else End If Next i EncodeQP2 = r End Function و لنأخذ مثال على ذلك لكي نترجم مربع نص من اللغة العربية الى الإنجليزية Dim FromLanguage, ToLanguage As String FromLanguage = "auto" ' الترجمة من أي لغة مختلفة ToLanguage = "en" ' الترجمة الى اللغة العربية [TextBox1] = Translate(EncodeQP2([TextBox1]), FromLanguage, ToLanguage) مرفق المثال لتطبيق اعلاه GoogleTran.accdb
  11. تفضل هذه مشاركتي مع اضافة بعض الشروط للأسباب التالية - عدم تكرار البيانات - تحديث القائمة في حال اضافة طالب جديد - اضافة رسائل تحذيرية قبل اجراء اي حدث movemanyrecords.accdb
  12. للأسف لا توجد طريقة في ملفك ! ⚠️ صفحة محرر الأكواد فارغة يابو زهرة يعني انك رافع ملف خطأ
  13. يجب عليك تحديد ارقام الخطأ و وضع التصحيح لها كأفضل طريقة للتعامل مع الخطأ تفضل استخدم و سجل الأخطاء المحتملة و ضع لها الحلول المناسبة On Error GoTo ErrH ضع الكود كامل هنا Exit Sub ErrH: Select Case Err.Number Case = 0 ' رقم الخطأ ' ضع الإجراء التصحيحي للخطأ Case = 0 ' رقم الخطأ ' ضع الإجراء التصحيحي للخطأ End Select
  14. تفضل هذا التعديل اذا وضعت المؤشر على الاسم سيتم تلوين الحقل في الأسفل - مجرد فكرة العفو لكن لا اتوقع ان البيانات تكون كبيرة الحجم لأن هذا جدول اسبوعي او شهري ( متغيير ) كمية البيانات بسيطة فالبطئ المعني لن يكون ملموس تستطيع التجربة و ستجد ان البطئ غير ملموس او غير محسوس بسبب قلة البيانات و مهما زاد حجمها تضل صغيرة فالكتاب من عنوانه من الواضح ان البرنامج مستخدم لمستشفى واحدة و لأقسام جدا محدودة عدد تكرار كل موظف.rar
  15. تفضل هذه الطريقة استخدمها مع الاستعلام و النماذج و التقارير مرفق التعديل Public Function Total_Duplicate(Eployee_ID As Integer) As Integer Dim TbName As String Dim Sheft1, Sheft2, Sheft3, Sheft4, Sheft5 As Integer TbName = "جدولدوام" Sheft1 = DCount("*", TbName, "[موظف1]=" & Eployee_ID) Sheft2 = DCount("*", TbName, "[موظف2]=" & Eployee_ID) Sheft3 = DCount("*", TbName, "[موظف3]=" & Eployee_ID) Sheft4 = DCount("*", TbName, "[موظف4]=" & Eployee_ID) Sheft5 = DCount("*", TbName, "[موظف5]=" & Eployee_ID) Total_Duplicate = Sheft1 + Sheft2 + Sheft3 + Sheft4 + Sheft5 End Function عدد تكرار كل موظف.rar
  16. استخدم الكود التالي ActiveSheet.PageSetup.CenterHeader = Format(Date, "yyyy-mm-dd") ActiveSheet.PrintPreview
  17. تفضل هذا المقترح ليسهل عليك العمل و تنتهي مشاكل جمع المبيعات و التوريد انشئ Module جديد و الصق فيه التالي '==================================== لمعرفة اجمالي المخزون لكل صنف ================================================ Public Function TotalStock(Id_product As Integer) As Integer On Error Resume Next Dim TotalImportStock, TotalSales As Integer TotalImportStock = Nz(DSum("quantity_of_product", "Tb_purchse2", "name_of_product=" & Id_product), 0) TotalSales = Nz(DSum("quantity_of_sale", "Tb_sales2", "Id_of_product=" & Id_product), 0) TotalStock = TotalImportStock - TotalSales End Function '======================================= لمعرفة اجمالي المبيعات لكل صنف ============================================= Public Function TotalSales(Id_product As Integer) As Integer On Error Resume Next TotalSales = Nz(DSum("quantity_of_sale", "Tb_sales2", "Id_of_product=" & Id_product), 0) End Function '========================================== لمعرفة اجمالي التوريد لكل صنف ========================================== Public Function TotalImportStock(Id_product As Integer) As Integer On Error Resume Next TotalImportStock = Nz(DSum("quantity_of_product", "Tb_purchse2", "name_of_product=" & Id_product), 0) End Function سوف تجدها من ضمن الدوال لكي سهل عليك استخدامها و استدعائها في اي مكان داخل البرنامج و للمثال تم انشاء استعلام بإسم ( المخزون الكلي لجميع الاصناف ) 321.accdb
  18. راح ناخذ الموضوع حبه حبه بالنسبة لهذي المشكلة اتفضل هذا الحل بعد اختيار الصنف و ادخال الكمية يكون الحدث 321.accdb هذي المشكلة انتهت و كذلك تم تغيير اسم آخر عمود لأنه عند استخدام Sum تلقائيا يتم اضافة حروف عربية و هذه تسبب مشكلة و ربكة كبيرة هل جربت الاقتراح الأخير للقائمة ؟ اعتقد بأنه يفي بالغرض
  19. ماهو اسم جدول التوريد الذي به الكميات ؟ ماهو المبيعات الذي به الكميات ؟
  20. تفضل هذا الاقتراح اخي عمر الطريقة بالأعلى غير ناجحة و هذا البديل لعله يفي بالغرض عمر.accdb
  21. اوافقك الرأي جملة و تفصيلا و ما في جعبتها من معاني شكرا لك
×
×
  • اضف...

Important Information