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

Foksh

أوفيسنا
  • Posts

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

  • Days Won

    204

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

  1. فيما يتعلق بالطلب الأهم لديك ، أنصحك أولاً بضبط التنسيق للخلايا في العمود D كاملةً ، لتصبح :- ثم في الزر الذي انشأته انت في مشروعك ، استخدم الحدث التالي كمثال :- Private Sub CommandButton1_Click() Dim lastRow As Long Dim i As Long Dim diff As Double lastRow = Cells(Rows.Count, "D").End(xlUp).Row For i = 8 To lastRow diff = Cells(i, "D").Value - Cells(i, "E").Value If diff < 0 Then Cells(i, "F").Value = 0 Else Cells(i, "F").Value = diff End If Next i End Sub جرب انقر على الزر وشوف النتيجة إن كانت صحيحة في الملف المرفق .. ثم ننتقل الى الطلب الثاني .. اغلاق الصفوف ذات الرصيد 0.xlsm
  2. تم تعديل إختيار "تمت الإجابة" للمشاركة التي فيها الحل والمرفق.
  3. سؤال فضولي .. هل من الممكن معرفة إصدار الأوفيس اللي تم حفظ ملف قاعدة البيانات من خلاله ؟؟ يعني آكسيس 2010 , 2016 , 365 ... الخ ؟؟؟؟ ولو بأي طريقة كانت 🤔 . ولو محتاجة توضيح للمقصود بشكل أفضل ، لنفترض إن حد بعتلي قاعدة بيانات من جهازه ( صممها وتكتكها وعمل كل اللي نفسه من برمجة فيها .... 😉 ) ، وانا عندي اوفيس 2010 أو ما عنديش ، المهم اني اعرف إن منشأ الملف هذا هو اوفيس كذا 🤔 .
  4. هذه الجزئية مرهونة بإرفاقك الملف أخي الكريم 😉 . فالحلول كثيرة ولكنها تعتمد على بنيتك للجداول ونظامك بشكل عام ، وليس ما نفرضه عليك بمقترحاتنا 💐 .
  5. شكراً لك ، ولكني لا أثق بالذكاء الإصطناعي ومقترحاته 😇 .
  6. ليس بالضرورة إن كان الهدف الحصول على قيمة حقل محدد في آخر سجل ( شرط وجود حقل ترقيم مثلاً ) . ولكن إن كان ضمن شرط فعبارتك صحيحة 100% وهنا ممكن يستخدم حقل الترقيم كأساس على آخر قيمة . وممكن استعمال دالة بسيطة مثل :- Function GetLastValue(strField As String, strTable As String) As Variant Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset(strTable, dbOpenTable) rs.MoveLast GetLastValue = rs.Fields(strField).Value rs.Close End Function ويتم استدعائها في مربع نص غير منضم بتمرير اسم الجدول والحقل ، مثلاً :- =GetLastValue("رقم الوارد";"وارد")
  7. ⏳ باقي من الوقت : 6 أيام حتى نهاية التحدى الثاني وما زال البحث جاري عن مبتكرين وخلّاقي أفكار جديدة ، وليس أفكار نسخ ولصق ، وتعديل على أفكار موجودة
  8. وعليكم السلام ورحمة الله وبركاته .. أهلاً بك معنا أخي الكريم sgreffier_sf0315 ، ونسعد بانضمامك لأسرتنا الكبيرة هذه . متأملين منك أن تقرأ شروط المشاركات في المنتدى هنا . ومنها كأساسيات وللتذكير :- وأود لفت انتباهك إلى أن الزر "اختر تمت الإجابة" يستخدم عادة عندما تجد الحل لطلبك ، واختياره للمشاركة التي حققت لك طلبك . أهلاً بك معنا
  9. هههههههه انا قلت يمكن بعدل شي أو يضيف شي داخل الملف للتمييز بينهم 😛 إن شاء الله حال وصولي لنسبة ترضي غرور أفكاري 😁 ، لن أبخل عليكم بها
  10. بعض ما عندكم يا أستاذنا الكبير .. أتمنى أن تكون قد غيرت به شيئاً مخفياً كي نميز بين المرفق السابق ، والتالي .. Mont_ProgressBar_NoPassword.zip بلا شك 👍 طبعاً المكتبات لا تعنيني نهائياً في فكرتي .. فأنا أقوم حالياً بجلب المكونات الى ملف ACCDB إصدارات حديثة = 2019 = نسخة الأوفيس التي لدي حالياً .. وبخصوص هذه النقطة ، جاري بناء مكتبة وخوارزمية كاملة ( مبنية على ملف VBA7.Dll ) تم كسر حمايته من إصدار أوفيس 2019
  11. أستاذ @منتصر الانسي ، هذه تجربتي على استخراج النماذج بتصاميمها حرفياً ( دون أكواد VBA ) حالياً في المرحلة الأولى .. Montaser.accdb
  12. مطلوب قاعدة بيانات آكسيس 2003 مقفلة MDE . ولا يهمني الداتا التي فيها أبداً ولا حتى ان تكون لمشروع كامل إذا سمحتم 🤗
  13. 😈 للعلم أستاذ @منتصر الانسي ، انا ما زلت أبني أداتي ، وقد توصلت حالياً للإصدارات 2016 - 2019 تقريباً .. وانت قد قفزت بي لآخر لإصدار ههههههههه
  14. ومن باب السؤال أستاذ @منتصر الانسي ، ما إصدار الأوفيس الذي استخدمته ؟؟ من باب الإحاطة بمعلومة 😊
  15. 😅 اسم الملف يخوف هههههه من قال اني داخل تحدي ، أعوذ بالله من غضب الله.... قاعد أجرب فكرة بسيطة على مستوى فهمي أستاذي منتصر ..
  16. أخواني وأساتذتي ومعلمينا ( دون استثناء ) للضرورة القصوى لمن يرغب بالمساعدة ، مطلوب :- قواعد بيانات مقفلة ومحمية تكون حصراً بصيغة ACCDE - لا حاجة لي بأي معلومات أو بيانات داخل الجداول .. قواعد بيانات تالفة ( لا تفتح أساساً ) . الهدف هو تجربة لأداة جديدة قيد التجربة بعد أن تمت برمجتها من خلال آكسيس فقط . حيث وقعت في مشكلة كنت قد طرحتها في هذا الموضوع هنا . ما اضطرني لتطبيق نصيحة الحاجة أم الأختراع ، بعد البحث والتمعن لمدة 3 أيام متواصلة ..
  17. تمت التجربة على اوفيس 2010 ، وما شاء الله عليك ، أجدت الدمج والتوظيف .. ومن الجميل أن يكرّم الإنسان نفسه دائماً عند اجتهاده ، فلا تنسى اختيار "تمت الإجابة" لرسالتك التي تسبق رسالتي هذه . فأنت تستحقها بجدارتك
  18. أستاذنا الغالي أبو احمد ،، بداية أحترم رأيك بشدة ، وأنت من الأشخاص الذين لهم بصمة فعلية في تقديم المساعدة لأخوتنا في القسم متى حللتم ، رغم أننا نفتقد وجودكم بيننا والإستفادة من فيض العلم الذي علمكم الله أياه . أخونا جو طرح سؤاله النابع من مشكلة واجهها في كود جاهز حصل عليه من أداة ، لكنه لم يلبي حاجته بسبب عدم توافق الكود حرفياً وفعلياً مع طلبه عند التعامل مع رسالة MsgBox من 3 أزرار ,, وقدم له الأخوة مجموعة حلول البرمجية المنطقية ؛ إلا أنه تمسك بالحبل الذي بين يديه ولم يفضل تبديله . لذا ومن ضمن الحلول كنت قد اقترحت عليه استخدام Select Case كما تفضلتم في طرحكم - إضافة إلى ما جاد به خبرائنا الكرام - مشكورين - ، فعاد إلى أصل الموضوع الذي حصل على الكود منه للأستاذ منتصر الأنسي - مشكوراً لجهده على انتاج الأداة - ، وقد لباه بتحديث يدعم Select Case حسب رغبته .. لكم الشكر على ما تقومون به من مساعدة ومد يد العون لأخوانكم أينما حلّت أناملكم الذهبية .. وفي النهاية انت تعلم أن من يبحث عن إجابة رغم تعدد الحلول إلا أنه سيفضل الأسهل والأبسط لمشروعه وحاجته وخبرته .
  19. تفضل أخي الكريم ، التعديل الي طلبته .. Private Sub btnLocateFile_Click() On Error GoTo Err_btnLocateFile_Click Dim fd As Object Dim fileName As String Dim defaultFolder As String defaultFolder = "D:\Access_Teacher\" If Dir(defaultFolder, vbDirectory) = "" Then MkDir defaultFolder End If Set fd = Application.FileDialog(1) With fd .Title = "اختر ملف الإكسل" .Filters.Clear .Filters.Add "Excel Files", "*.xls; *.xlsx" .InitialFileName = defaultFolder If .Show = -1 Then If .SelectedItems.Count > 0 Then fileName = .SelectedItems(1) Me.txtImportFile = fileName End If End If End With Exit_btnLocateFile_Click: Exit Sub Err_btnLocateFile_Click: MsgBox Err.Description, vbCritical + vbMsgBoxRight, "خطأ" Resume Exit_btnLocateFile_Click End Sub
  20. تمام ، تم الانتهاء من الشق الأول 👍 الثاني حال وصولي الى الكمبيوتر إن شاء الله ، لأنني خرجت من العمل
  21. ليس لدي أوفيس 2003 ، ولكن جرب هذا التعديل لزر التصدير .. Private Sub cm_ToExcel_Click() On Error GoTo Err_cm_ToExcel_Click Dim stDocName As String Dim filePath As String Dim defaultFolder As String Dim Q As Integer Dim fd As Object stDocName = "tbl_Teacher" & [Year_name] defaultFolder = "D:\Access_Teacher\" Q = DCount("*", "tbl_Teacher") If Q > 0 Then If Dir(defaultFolder, vbDirectory) = "" Then MkDir defaultFolder End If Set fd = Application.FileDialog(2) With fd .Title = "اختر مكان حفظ ملف الإكسل" .InitialFileName = defaultFolder & stDocName & ".xls" If .Show = -1 Then filePath = .SelectedItems(1) If LCase(Right(filePath, 4)) <> ".xls" Then filePath = filePath & ".xls" End If DoCmd.TransferSpreadsheet acExport, 8, "tbl_Teacher", filePath, False MsgBox "تم استخراج ملف الإكسل بنجاح وحفظه في:" & vbCrLf & vbCrLf & _ filePath, vbInformation + vbMsgBoxRight, "" End If End With Else MsgBox "لا يوجد سجلات لتصديرها", vbOKOnly + vbMsgBoxRight, "" End If Exit_cm_ToExcel_Click: Exit Sub Err_cm_ToExcel_Click: MsgBox Err.Description, vbCritical + vbMsgBoxRight, "خطأ" Resume Exit_cm_ToExcel_Click End Sub قمت بتعديل الزر بحيث يعتمد اسم المسار الذي حددته لنا ، وإنشاء المجلد نفسه في المسار إذا لم يكن موجوداً ..
  22. بعد تجربة المرفق ، والتمعن فيه ، مشكلتك أخي الكريم في الجزء :- ElseIf vbNo Then السبب طبعاً أنه لا يفحص نتيجة رد الرسالة الكلي ، بل يعتبر vbNo قيمة ثابتة . وبالتالي يدخل إليه دائماً إذا لم تكن النتيجة vbYes . لذا فالأفضل من وجهة نظري ، والأصح هو استخدام Select Case في حالتك هذه . خلاف ذلك قد نضطر لاستخدام الرسالة مرتين في الجملة الشرطية ، وهذا سيكرر الرسالة مرتين داخل نفس الحدث . لذا جرب الفكرة التالية :- Private Sub أمر0_Click() Select Case MsgBox("ماذا تريد ان تفعل Yes فتح نموذج NO فتح تقرير Cancel تراجع" & vbCrLf & vbCrLf & "الحمدلله", _ vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, _ "الله المستعان") Case vbYes DoCmd.OpenForm "22" Case vbNo DoCmd.OpenReport "33", acViewPreview Case vbCancel Exit Sub End Select End Sub
  23. وعليكم السلام ورحمة الله وبركاته .. إليك أخي الفاضل مواضيع قد تم طرحها مسبقاً في المنتدى ، ممكن على سبيل المثال احدثها ..
  24. بدل كلمة Undo ، اجعلها Exit Sub فقط .
  25. دعماً لما تفضل به أستاذنا ابو البشر ، المكتبة الموضحة في الصورة التالية :- طبعاً الرقم 16.0 سيختلف حسب إصدار الأوفيس لديك . فللإصدارات التي أقل من 2016 سيكون الرقم 14.0
×
×
  • اضف...

Important Information