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

نجوم المشاركات

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      7

    • Posts

      9,814


  2. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      6

    • Posts

      4,431


  3. محمد طاهر عرفه

    محمد طاهر عرفه

    إدارة الموقع


    • نقاط

      4

    • Posts

      8,707


  4. د.كاف يار

    د.كاف يار

    الخبراء


    • نقاط

      3

    • Posts

      1,681


Popular Content

Showing content with the highest reputation on 04 يول, 2021 in all areas

  1. وعليكم السلام 🙂 اسمح لي اشرح لك الموضوع بطريقة سهلة : اذا فتحت ملف اكسل ، وبه عدة سجلات ، ونفترض انه تم حفظ المؤشر على اول سجل ، او تفتح جدول في الاكسس : 1. اذا اردت ان تعرف عدد السجلات ، فتضطر الى سحب "شريط التمرير" العمودي (Vertical Scroll bar) الى الاسفل ، الى آخر سجل ، وبهذه الطريقة تعرف كم عدد السجلات ، بالنسبة لعملية Recordset ، فتكتب rst.MoveLast لذهاب المؤشر الى آخر سجل ، وطبعا لما السجلات تكون كثيرة ، فالوصول الى آخر سجل يأخذ بعض الوقت ، 2. بعد ان عرفت عدد السجلات ، ولتبدأ تقرأ السجلات ، تضطر الى سحب "شريط التمرير" الى الاعلى الى اول سجل ، بالنسبة لعملية Recordset ، فتكتب rst.MoveFirst لذهاب المؤشر الى اول سجل ، 3. اذا بدأت البحث يدويا عن معلومة معينه ، فإنك تقرأ السجل ، ثم تنقل للسجل الذي اسفل منه ، بالنسبة لعملية Recordset ، فتكتب rst.MoveNext ، 4. ولما توصل للنهاية ، واردت البحث عن شيء آخر ، فتضطر الى سحب "شريط التمرير" الى اعلى الى اول سجل مرة اخرى ، بالنسبة لعملية Recordset ، فتكتب rst.MoveFirst لذهاب المؤشر الى اول سجل. يعني هكذا: dim rst as dao.recordset dim RC as long dim i as long set rst = currentdb.openrecordset ("Select * From tbl2") rst.moveLast rst.moveFirst RC= rst.recordcount for i = 1 to RC ... ... rst.moveNext next i rst.close set rst= nothing في حالات ، انت لا تريد ان تعرف عدد السجلات ، وانما تريد ان تبدأ تقرأ السجلات سجل سجل الى نهاية السجلات/الملف EOF فيصبح الكود: dim rst as dao.recordset set rst = currentdb.openrecordset ("Select * From tbl2") rst.moveFirst do until rst.EOF ... ... rst.moveNext Loop rst.close set rst= nothing . مع العلم اننا لا نحتاج الى الذهاب الى اول سجل لما نفتح الملف ، ولكن اذا قرأنا الملف وبقينا على آخر سجل ، فالكود لن ينتقل تلقائيا الى اول سجل لقراءة معلومات اخرى ، خصوصا اذا كان هذا الكود في وحدة نمطية ، ويتم استدعائها من استعلام لمجموعة سجلات ، فيجب ان نجعل الكود ينتقل لأول سجل في كل مرة يتم استدعاء الكود 🙂 جملة الحذف هي لحذف بيانات الجدول 🙂 جعفر
    3 points
  2. احتجت لدمج محتويات عدد من الخلايا مع دمج محتوياتها فى كمية كبيرة من الجدوال ، مع اضافة فاصلة بين محتوياتها فاعددت هذا الكود اختر الخلايا المراد دمجها و دمج محتوياتها قبل تشغيل الكود Sub mergitwithcomma() Selection.Cells.merge With Selection.Find .Text = "^p" .Replacement.Text = "، " .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub لتنزل الملف
    2 points
  3. مثل هذه الاسئلة يجب افرادها في موضوع جديد مستقل وانصحك بالاطلاع على هذا الموضوع ... هذا شرح لبداية الكود الخاص بهذا الموضوع 'اعلان عن متغير يمثل قاعدة البيانات Dim db As DAO.Database 'اعلان عن متغير يمثل مجموعة سجلات داخل جدول Dim rs1 As DAO.Recordset 'تعيين المتغير لقاعدة البيانات الحالية Set db = CurrentDb 'تعيين المتغير لسجلات الجدول Set rs1 = db.OpenRecordset("TBL1") 'اذهب الى آخر سجل في الجدول rs1.MoveLast 'اذهب الى اول سجل في الجدول rs1.MoveFirst الجملة تقول احذف جميع البيانات في TBL2
    2 points
  4. هاي الله يسلمك لها علاقة باللغة اللي انت مختارها لعرض صفحات للمنتدى : في اسقل اي صفحة في المنتدى ، في اختيار لغة صفحات المنتدى : . 1. اذا تختار رقم 1 ، English USA ، وهو تنسيق المنتديات الاجنبية ، فتصبح الصفحة من اليسار الى اليمين ، وكما تفضلت ، فخلط الكلمات العربية والانجليزية لا تأخذ مكانها الصحيح : . 2. بينما اذا اخترت رقم 2 ، Officena default ، وهو تنسيق المنتديات العربية ، فتصبح الصفحة من اليمين الى اليسار ، ولا ترى فيها خلط بين الكلمات العربية والانجليزية ، وانا استعمل هذه الطريقة : جعفر
    2 points
  5. السلام عليكم و رحمة الله وبركاته بالاضافة الى حل اخي الفاضل عبدالله جزاه الله خيرا هذا حل آخر بطريقة اخرى مع التحية test01.xlsx
    1 point
  6. في تطابق الاسماء اي المواد كما قلت تحديدا ..... جزاك الله خيرا
    1 point
  7. بعد تحميل الملف لم أجد أي توقيت ورغم ذلك إذا أردت إخفاء النموذج الحالي يمكنك استعمال الكود التالي: me.hide وطبعا يمكنك استعمال if للتحكم في شرط إخفاء النموذج
    1 point
  8. مادامت المعادلات اشتغلت مع المادة1 فهي صحيحة والخطأ في عمود المادة2 لديكم ولو لم أكن متأكدا ما نشرت المعادلات اخي الكريم لكن يبدو أنك لم تنتبه لملاحظاتي في نهاية المشاركة السابقة لتحصل على نتائج صحيحة يجب اختيار الأسماء من قائمة في صفحة الغياب مثل قائمة المواد حتى لا تختلف عن الأسماء المكتوبة في شيت البيانات data
    1 point
  9. لنفرض أن لديك جدولان اللأول به بيانات الموظف ، و منها كود البلد و الثاني به الكود و الاسم للبلاد المختلفة كيف تجعل تسجيل البيانات فى الجدول الاول تم بالاختيار من بيانات الجدول الثاني؟ من وضع تصميم الجدول فى حقل كود البلد في جدول الموظف نختار ال tab المسماة Lookup و في خانة ال row source نختار من خلال المعالج ( الزر ذو الثلاث نقاط الذي يظهر عند الوقوف فى الخانة ) نختار تشغيل المعالج ثم show table و نختار الجدول الثاني و منه نختار حقلي الكود و اسم البلد فيتم بذلك تسجيل القيمة التالية فى خانة ال row source SELECT Table2.ContID, Table2.Contry FROM Table2; و بذلك فى وضع فتح الجدول العادي يمكن تسجيل و تعديل حقل كود البلد فى جدول الموظفين عن طريق الاختيار بين أسماء الدول و أيضا تستمر هذه الخاصية فى حالة ادراج الحقل فى نموذج أو تقرير المثال TableLook.zip
    1 point
  10. السلام عليكم اخي العزيز نوع البيانات غير موحد ..في جداول الكتب نوع البيانات MNO (نص).. بينما في السجل الرئيسي والفرعي عبارة عن (رقم) فلا يجوز الربط بينهما
    1 point
  11. جزاك الله كل خير تم تعديل الكود وتم الأمر
    1 point
  12. يمكنك استعمال هذه المعادلات في شيت الغياب حسب المادة في الخلية B10 =IF(OFFSET(الغياب!$A$1,ROW()-5,MATCH($D$8,الغياب!$5:$5,0)-1)=0,"",OFFSET(الغياب!$A$1,ROW()-5,MATCH($D$8,الغياب!$5:$5,0)-1)) في الخلية C10 =IFERROR(INDEX(Data!C:C,MATCH($B10,Data!$B:$B,0)),"") في الخلية D10 =IFERROR(INDEX(Data!E:E,MATCH($B10,Data!$B:$B,0)),"") مع العلم أني لا أفضل الصفوف والأعمدة الفارغة الكثيرة قبل البيانات في كل سيت ولا أفضل كتابة الأسماء في شيت الغياب يدويا حيث من الممكن أن تختلف في المسافات عن الموجودة في شيت data فلا تحصل على النتيجة المرجوة في البحث بالتوفيق
    1 point
  13. السلام عليكم 🙂 المشكلة عندك انك لم تكن تشير الى اسم الحقل في النموذج ، وانما كنت تشير الى اسم حقل مصدر بياناته :
    1 point
  14. وعليكم السلام ورحمة الله وبركاته لم تظهر الرسالة معي الا عند الضغط على زر الاضافة او عند اغلاق النموذج على كل حال النموذج كان يحتاج ترتيب التنقل بين العناصر test_2.rar تحياتي
    1 point
  15. اتفضل هذا التعديل يابو الحسن التعديل في اضافة قيد جديد ابوالحسن.zip
    1 point
  16. الفيجوال استديوه فيه مرونه كبيرة من ناحية التصميم و استخدام المكتبات الأكسس ضعيف و مخصص للاستخدام البسيط لكن اعطيني طلبك ايش الهدف الي تحتاج توصله ؟؟
    1 point
  17. وهذه طريقة اخرى مع قهوة الصباح .... انت وعدتني بابريق قهوة .... ههه طبعا استعملنا هذا الكود في حدث عند النقر في الزر DoCmd.OpenReport "Filters", acViewNormal ووضعنا في حدث عند الفتح في التقرير هذا الكود الخاص بالفلتر Reports!Filters.Report.FilterOn = False Reports!Filters.Report.Filter = Forms!frm_Form!Table1.Form.Filter Reports!Filters.Report.FilterOn = True الان بهذه الطريقة يتم طباعة التقرير بدون فتحه عبر الطابعة الافتراضية اليك المرفق ..... Kan_233.accdb
    1 point
  18. 1 point
  19. اتفضل هذا ملف المشروع WindowsApplication1.zip
    1 point
  20. يمكن الاستغناء عنها في حالة عدم حدوث أخطاء محتملة وفي حالة وجود أخطاء محتملة يمكن استعمال شرط إذا كان رقم الخطأ كذا ينفذ كذا if err.number = 0 then 'your message end if مع استبدال رقم 0 برقم الخطأ
    1 point
  21. ربما تحتاج بعض الأكواد لتعديل لتناسب نسخة 46 بت بإضافة كلمة ptrsafe قبل كلمة function يفضل إرفاق مثال للتوضيح
    1 point
  22. هذه طريقة تصدير استعلام إلى شيت اكسل ويمكن التعديل عليه وتسمية الاعمدة كما تحب ولا انسب الكود لنفسي وانما مذكور اسم المؤلف وتاريخ الوفاة أو الزواج أيهما أسوأ ملحوظة: لا تسألنى عن شرح الكود Query_to_excel.mdb
    1 point
  23. اتفضل تابع الدورة معنا وان شاء الله تجد مبتغاك https://wayprograms.blogspot.com/2021/06/blog-post_30.html
    1 point
  24. أخي الكريم بعض الملاحظات على الكود المعروض من حضرتك: * هذا السطر يقوم بكتابة ok في العمود 14 في كل صف سواء تحقق الشرط أو لم يتحقق لأن هذا السطر بعد نهاية if Sheets("po_rec").Cells(a, 14).Value = "ok" وأعتقد أنه من المفترض أن يتم تنفيذه إذا تحقق الشرط يعني قبل نهاية end if * ثانيا في جملة with يفترض أنك في العمود A وفي آخر صف مكتوب فكيف تنقل القيم في الصفوف السابقة (يفترض أنها مكتوب فيها) لأن ناتج الرقم الأول في offset بالسالب 4 - 21 = -17 ؟؟؟؟ ************ ورغم كل شيء: للخروج من الحلقة التكرارية for يمكنك كتابة exit for قبل سطر نهاية end if ولكن بعد معالجة الملاحظتين السابقتين
    1 point
  25. 1 point
  26. السلام عليكم هدف ميزة التصحيح التلقائي في الأصل: تصحيح كلمة خطأ بكلمة صح، لكن هذا ليس إلا جزءاً صغيراً جداً مما يمكنك أن تفعله باستخدام هذه الميزة. هذا الفيديو يشرح الكثير عن التصحيح التلقائي، وهو بالفعل يقدم نصائح ستغير طريقة عملك على برنامج وورد نحو الأفضل إن شاء الله.
    1 point
  27. السلام عليكم أستاذ الأجيال عبدالله باقشير - والله نحن الذين سقط ماء وجهنا حياءا من كرمك الفياض وعلمك الجم وعطاءك السخي وفوق كل ذلك خلقك النبيل مع عجزنا الواضح عن مجازاتك بما أنت أهله ولم تبقى لنا سوى ثقتنا العمياء في العزيز القدير القائل ان الله لا يضيع أجر من أحسن عملا فهو وحده الذي يستطيع ان يجزيك عنا خير الجزاء
    1 point
  28. السلام عليكم جزاكم الله خيرا هذا طلبك ولكن عدد الاعمدة 21 وليس 20 ' عدد الاعمدة Const Cont As Integer = 21 Private Sub ButtonFind_Click() Dim Ary() Dim r As Long, rr As Long, Lr As Long Dim c As Integer, cc As Integer Dim txt As String txt = Me.TextFind Me.ListBox1.Clear With Sheets("البيانات") Lr = .Cells(.Rows.Count, "A").End(xlUp).Row For r = 2 To Lr If InStr(CStr(.Cells(r, "A")), txt) Then rr = rr + 1 ReDim Preserve Ary(1 To Cont, 1 To rr) For c = 1 To Cont cc = Choose(c, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25) Ary(c, rr) = .Cells(r, cc).Value Next End If Next End With If rr Then Me.ListBox1.Column = Ary Erase Ary End Sub تقبلوا تحياتي وشكري
    1 point
  29. بسم الله الرحمن الرحيم المثال ببساطة يقوم بإستيراد أوراق أو مصنفات أكسيل إلى أكسيس وتحويلها إلى جداول بنسق الأخير ،،، بدون أن يختل توزيع الأعمدة ،،، كما أنه يقوم بتسمية الجداول باسمها السابق مع إضافة تاريخ الإستيراد. أرجو أن يفيدكم بشىء والله الموفق. ImportExcelFile.rar
    1 point
  30. السلام عليكم ورحمة الله وبركاته أريد كود يبحث عن ملف معين في جهاز الكمبيوتر دون تحديد أي من الأقراص " C أو D" أكتب اسم الملف في الكود وعند الضغط على زر أمر ينفذ الكود عملية البحث ويظهر رسالة في النهاية بالعثور على الملف من عدمه0 للأسف لم أتوصل لذلك الكود ولكن توصلت لكود يبحث في القرص المحدد وهو التالي: Dim dmar As Variant Set fs = Application.FileSearch With fs .NewSearch .LookIn = "C:\" .FileName = "Eidd*.*" .SearchSubFolders = True If .Execute > 0 Then MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." For I = 1 To .FoundFiles.Count List2.AddItem .FoundFiles(I) Next I Else MsgBox "There were no files found." End If End With وعند استبدال المحرك C بأسم " جهاز الكمبيوتر أو MyComputer" لم يتم العثور على الملف. أريد استبدال المحرك C بجهاز الكمبيوتر ويقوم الكود بالبحث في جهاز الكمبيوتر عن أي مجلد أو ملف أو برنامج يذكر في الكود بأي أمتداد. الرجاء ممن لديه الحل أن يسعفني به فقد تعبت في البحث دون نتيجة. شكراً للجميع سلفاً.
    1 point
  31. هل بالإمكان استيراد النماذج من نسخة أوفيس 2000 إلى نسخة أوفيس 97
    1 point
  32. السلام عليكم ورحمة الله وبركاتة انا صديق جديد للمنتدا وعندى مشكلة هى عند ضرب رقم مثل (101.05 * 1.1 ) يكون الناتج (111.16 ) ولكن اصل الرقم هو (111.155 ) والمشكلة انه عند ضرب الناتج فى رقم اخر وليكن( 12) فانه: 111.155*12 =1333.86 اما 111.16 *12 = 1333.92 اختلفة النتيجة مع العلم انى احتاج التقريب الى رقمين وهذا يخرج الناتج النهائى به فروق وهذه الفروق غير مطلوبة اطلاقاً فهل من حل ؟؟؟؟؟ جزاكم الله عنى كل خير ...
    1 point
  33. السلام عليكم كيف أقوم بوضع كلمة مرور لحماية الكود من الأطلاع والتعديل ؟؟‍
    1 point
  34. السلام عليكم هل يمكن تسجيل عنصر تحكم اكتف اكس بالكود مع تحديد المجلد الذى يوجد بة هذا العنصر مع ملاحطة انى استخدمت الكود التالى: DoCmd.RunCommand acCmdRegisterActiveXControls ففتح قائمة التسجيل وانا اريد ان اشير الى موقع المجلد الذى يحتوى على عنصر التحكم مباشرة ولكم الشكر
    1 point
  35. ذا كنت تريد بيع برنامج وتريد انهاء البرنامج عند العميل بعد فترة معينة ولا تريد الذهاب الى العميل بل تريد الإكتفاء بالإتصال من طرفه يخبرك أن البرنامج يطلب رقم سري جديد ، اليك الآن الطريقه: انشء نموذجا وليكن اسمه شاشة الدخول اجعل به مربع نص وليكن اسمه s ضع زر امر ok وآخر cancel ضع lable او تسميه واجعل التسمية التوضيحية لها الرقم 1401 وهو الرقم السري الاول وسم الليبل D حرر الخاصية مرئي الى لا اعمل الآن نموذج آخر وسمه وليكن الشاشة الرئسية اجعل بدء تشغيل البرنامج على شاشة الدخول الآن في حدث عند الفتح لشاشة الدخول اكتب الكود التالي:- If Date > #2/15/2004# Then D.Caption = 510 Else If Date < #2/15/2004# Then D.Caption = 1401 End If End If في حدث عند النقر لزر ok اكتب الكود If [s] = D.Caption Then DoCmd.OpenForm "الشاشة الرئسية " If [s] <> 1401 And [s] <> 510 Then MsgBox "الرقم المدخل غير صحيح" End If وفي حدث بعد التحديث لمربع النص S If Date > #2/15/2004# And [s] = 1401 Then MsgBox "لم يعد بإمكانك استخدام هذا الرقم السري فضلا اتصل بمصمم البرنامج لتحصل على رقم سري جديد" Else If Date < #2/15/2004# And [s] = 510 Then MsgBox "الرقم المدخل غير صحيح" End If End If
    1 point
  36. أبحث عن مثال اسمه Store_org تم عرضه في مشاركة قديمة لي وهذه المشاركة قد حذفت فهل يمكن لأحد من أعضاء المنتدى مساعدتي وذلك للأهمية وأظن أن الأخ أشرف خليل قد قدم هذا المثال ولكم مني جزيل الشكر لولوة
    1 point
  37. لقد جربت عمل قوائم في يتم اختيار امر طباعة او امر فتح كقائمة ملف وقائمة تحرير’’’’ ولكن هذه القوائم لا تظهر في حال تم نسخ ملف الاكسس الى جهاز آخر فهل هناك طريقة اخرى كما في الفيجوال بيسك يتم اضافة القوائم عن طريق الكود او هل يمكن عمل زر امر طباعة في التقرير نفسه
    1 point
  38. عملت برنامج لبيانات العاملين وتم إدخال تاريخ الإقامة وتاريخ التجديد وتاريخ الانتهاء وأريد أن استعلم عن الأقامة المنتهية قبل تاريخ انتهائها بـ 30 يوماً مثلاً كيف يكون الاستعلام لو سمحتموا وشكرا
    1 point
×
×
  • اضف...

Important Information