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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      14

    • Posts

      9931


  2. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      9

    • Posts

      1748


  3. خالد الرشيدى

    خالد الرشيدى

    الخبراء


    • نقاط

      7

    • Posts

      889


  4. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      5

    • Posts

      13165


Popular Content

Showing content with the highest reputation on 02/14/17 in مشاركات

  1. وهنا النسخة 1.2 من البرنامج ، للأخ خضر الرجبي http://arabteam2000-forum.com/index.php?/topic/64952-محرك-بحث-الأكسيسالأصدار-12/&do=findComment&comment=323189 ولكي يعمل ، استخدم الاستعلامات وتغيير الكود كما شرحته في مشاركتي السابقة جعفر
    2 points
  2. علة المطلوب احد الملفات به الكود -- والاخر قمت بتنفيذ الكود ثم حذفته edit.rar
    2 points
  3. السلام عليكم اخي محمد رجاء عمل نسخة من البرنامج قبل العمل عليه البرنامج مافيه مشكلة ، ماعدا: 1. طريقة عنوان موقع اوفسينا تغيّر عن السابق ، فاستعمل استعلام التحديث التالي لضبط جميع حقوله: UPDATE Links SET Links.link = Replace(Replace(Replace([link],"http:","https:"),".com",".net"),Chr(34),"") WHERE (((Links.club)="أوفيسنا")); 2. اما موقع الفريق العربي للبرمجة ، فيجب تعديل المسمى " الفريق العربي" الى "الفريق العربي" (لاحظ المسافة قبل الاسم) ، بالاستعلام التالي: UPDATE Links SET Links.club = "الفريق العربي" WHERE (((Links.club)=" الفريق العربي")); وتغيّر عنوانه عن السابق ، فاستعمل استعلام التحديث التالي لضبط جميع حقوله: UPDATE Links SET Links.link = Replace(Replace(Replace([link],"www.",""),Chr(32),""),Chr(34),"") WHERE (((Links.club)="الفريق العربي")); 3. موقع المحيط العربي غيّر عنوان صفحاته ، ولم استطيع معرفة طريقة تغيير العنوان القديم بالجديد !! 4. اما موقع خضر الرجبي فلا وجود له على الانترنت الآن. والتغيير الاخير الذي عملته هو كود فتح الروابط ، فاصبح: Application.FollowHyperlink Me.link يبدو لي انه هناك جزء من البرنامج غير مرفق ، وهذا الجزء الذي يبحث في هذه المواقع عن هذه المعلومات ، ثم يحفظها في قاعدة البيانات ، فاذا عندك هذه الجزئية ، رجاء ضمها للبرنامج المرفق جعفر 579.1.AccessSearchEngine.mdb.zip
    2 points
  4. السلام عليكم ورحمة الله تعالى وبركاته بعد طلب من الأخ الغالي حسام عيسى في موضوع هدية لأساتذتي في المنتدي فورم ترحيل بشرط إكمال باقي البيانات اقدم لكم هذا الفورم البسيط جدا وكل هذا بفضل أساتذتي الافاضل في هذا الصرح العظيم حفظكم الله وزادكم من علمه فورم بحث وتعديل وحذف وترحيل شرح امكانيات الفورم وكيفية الاستخدام إدراج الأسماء في الليبل ( إختياري) يحتوي الفورم على واجهتين: شاشة البحث والتعديل والحذف 1- البحث 2- تعديل 3- حذف وترقيم تلقائي شاشة إدخال البيانات 1- ترقيم تلقائي عند الإضافة 2- تنسيق تلقائي عند الترحيل أرجو ان ينال أعجابكم مع تحيات محبكم/الجموعي لم أستطع رفع الملف على سيرفر المنتدى تم الرفع على مركز الخليج من هنـــــــــــــــــــا
    1 point
  5. حذف الارتباطات التشعبية من ملف وورد مرة واحدة
    1 point
  6. 1. ماذا كانت المشكلة ؟ 2. هذا غير صحيح ، ولكن انصب اوفيس 32 بت ، بغض النظر عن نوع الوندوز سواء 32 او 64 بت. انا عندي الاوفيس 2010 ، ولا احدثه إلا اذا تم تصليح عيوب الاصدارات الجديدة جعفر
    1 point
  7. السلام عليكم جرب الكود اتمنى ان يكون المطلوب Data base2.rar
    1 point
  8. السلام عليكم ورحمة الله لم تجرب المرفق في ردي ففيه ما تريد... بن علية
    1 point
  9. انا اعمل على اكسس 2010 وما عندي مشكلة واعتقد تستطيع الاستفادة من هذا الرابط جعفر
    1 point
  10. أخي العزيز هناك بعض الأخطاء الأمر الأول المعادلة وجدتها بهذا الشكل والمفروض أن تبدأ من السطر الثاني ويكون العمود مجمد لعلامة الدولار والصف مطلق حتى تتغير البيانات بتغير بيانات الصف كما في المعادلة السابقة =SUMPRODUCT(--(تاريخ=$D1048572)*(رقم_السيارة=$E1048572)*(سائق=$F1048572))>0 الأمر الثاني أنك غيرت في تسمية النطاقات ولم يتم تغيرها في المعادلة الأمر الثالث أن النطاقات مفروض تكون متطابقة من حيث بداية الصف ونهايته أنت قمت بزيادة صفوف النطاقات ولكن لم تكن متساوية المهم تم التعديل وزيادة نطاق ( الطابقة 1) من أجل ألا يتم تظليل الخلايا الفارغة =SUMPRODUCT(--(تاريخ_التحميل=$D2)*(رقم_السيارة=$E2)*(اسم_السائق=$F2)*(المطابقة1="مصروف"))>0 المطابقة - المصروف + الموقف - تطبيق.rar
    1 point
  11. السلام عليكم جرب المرفق لعل فيه ما تريد بعد بعض التعديل على الكود... بن علية XYZ sample.rar
    1 point
  12. اخي الكريم جزاك الله خيرا على هذا الدعاء الطيب جزاك الله بمثله ان شاء الله --- التعديل لم يتناول غير هذا الجزء من الكود --- تقبل خالص تحياتي
    1 point
  13. اللهم اني اسألك بحق إسمك الاعظم الذي اذا دعيت به اجبت ان تبارك للاستاذ المحترم خالد الرشيدي وتمده بالصحه والعافيه .. يارب هل تم التغيير في هذه الجزئيه ام يوجد تغييرات اخرى ؟ If (MyDate - .Cells(irow, 7)) <= expd And (MyDate - .Cells(irow, 7)) > 0 Then ================= مامعنى هذه الجمله بارك الله لك ؟ =CHAR(156)
    1 point
  14. وعليكم السلام هذه الرسالة معناها انك لم تقم بنسخ هذا السطر الى برنامجك: err_coodkindexchange_AfterUpdate: والذي يأتي بعد Exit Sub (كما هو في الكود الذي وضعته انا اعلاه) جعفر
    1 point
  15. وعليكم السلام افتح الرابط التالي ، للحصول على ارقام اللغات: https://msdn.microsoft.com/en-us/library/cc195085.aspx مثلا رقم اللغة الانجليزية: 0x09 بينما رقم اللغة العربية: 0x01 ثم اضف 2 الى رقم اللغة ، يعني للغة الانجليزية: 9 + 2 = 11 واللغة العربية: 1 + 2 = 3 ولنفترض ان اسم الحقل هو url_address ، لذا ، عند حدث تحميل النموذج ، ولجعل اللغة العربية هي الافتراضية فيه ، اكتب هذا الكود: Me.url_address.KeyboardLanguage = 3 ولكن من تجاربي السابقة (ولا اعرف اذا عملت مايكروسوفت الى حل هذه المشكلة) ، فإن التنقل من هذا الحقل الى الحقل الآخر سيكون بطيئا جدا ، لذا فقد الغيته من بعض برامجي جعفر
    1 point
  16. السلام عليكم زكرت حضرتك ان إسلام وجب ان يظهر لانه اقل من تاريخ اليوم ب 4 ايام وهو الرقم المدخل -- هناك عقود في تواريخ اقل من تاريخ اليوم ايضا ب 3 ايام او اقل او اكثر غير اسلام لم تذكر حضرتك هل كان من المفترض ادراجها ام لا ؟؟ عموما اليك التعديل التالي عله المطلوب -- لن يظهر سوي التاريخ الاقل من تاريخ اليوم ب -- العدد المدخل -- ايام If (MyDate - .Cells(irow, 7)) = expd And (MyDate - .Cells(irow, 7)) > -1 Then تنبيـــــهات_3.rar تقبل تحياتي وشكري علي هذه الكلمات الرائعه من حضرتك -- شكرا جزيلا
    1 point
  17. استازي الحبيب / ابو البراء والله لشرف كبير لي ان اسمع تلك الكلمات من حضرتك بارك الله لنا في حضرتك وزادك علماً ورفعه خالص حبى وتقديرى وامتنانى لشخصكم الكريم
    1 point
  18. منور المنتدى أخي وحبيبي في الله خالد الرشيدي لكم أعشق رؤية ردودك في المنتدى .. تقبل وافر تقديري واحترامي
    1 point
  19. السلام عليكم تفضل ياسيدي ، الارقام الموجودة في النموذج الفرعي على اليمين ، لن تظهر في مربع التحرير والسرد في النموذج الفرعي على اليسار كلما تقوم بتحديث الحقل coodkindexchange في النموذج Frm_Monthexchange ، فيقوم بعمل مصدر بيانات لمربع التحرير والسرد coodkind في النموذج الفرعي الآخر tbl_kind : Private Sub coodkindexchange_AfterUpdate() On Error GoTo err_coodkindexchange_AfterUpdate DoCmd.RunCommand acCmdSaveRecord Dim rst As DAO.Recordset mySQL = "SELECT id, coodkind, Namekind" mySQL = mySQL & " FROM tbl_kind " Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC If i = 1 Then mySQL = mySQL & "WHERE coodkind <> " & rst!coodkindexchange Else mySQL = mySQL & " And coodkind <> " & rst!coodkindexchange End If rst.MoveNext Next i 'Debug.Print mySQL Forms!tabl!tbl_kind.Form!coodkind.RowSource = mySQL Forms!tabl!tbl_kind.Form!coodkind.Requery rst.Close: Set rst = Nothing Exit Sub err_coodkindexchange_AfterUpdate: If Err.Number = 2455 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub Private Sub Form_Current() Call coodkindexchange_AfterUpdate 'Me.N00 = [Forms]![tabl]![Totail] - Me.Total3 End Sub جعفر 581.tbl.accdb.zip
    1 point
  20. جرب هذه المعادلة قي الخلية I2 وسحب نزولاً =IF(H2="","",VLOOKUP(H2,{1,0.04;46,0.025;76,0.01;91,0},2))
    1 point
  21. السلام عليكم حقيقة لم افهم المطلوب تماما -- عموما الجزء الخاص من الكود والخاص بتحديد موعد التنبيه هو If (.Cells(irow, 7) - MyDate) <= expd And (.Cells(irow, 7) - MyDate) > -1 Then وفقا لما فهمت من الطلب استبدله بــ If (.Cells(irow, 7) - MyDate) >= expd Then وان لم يكن كذلك ارجو مزيد من التوضيح مع بعض النتائج المتوقعة تقبلوا تحياتي
    1 point
  22. لك فائق الشكر والاحترام
    1 point
  23. السلام عليكم لم يتم ادراج نموزج لمعرفة نطاق البيانات ولم يتم زكرة ايضا عموما -- احد الطرق هي ادراج هذا الكود في موديول وربطه بزر تنفيذ --- ثم يتم تحديد تلك الخلايا ال 1000 والضغط علي الزر لمرة واحدة Sub cells() Dim c As Range For Each c In Selection If c.Value <> "" Then c.Value = "صدلية" & " " & c.Value Next End Sub
    1 point
  24. مشكور اخي خالد ... هذا هو المطلوب يعطيك العافية
    1 point
  25. الموضوع فيه لبس في المنطق ... في المثال المرفق من قبل الأخ سامي يوجد في الصف الثاني 3443043 والناتج المطلوب XYYX0XY أليس حسب المنطق المشروح في المشاركة الأولى أن يكون بهذا الشكل XYYX0YX ؟؟ في ملف الأخ سليم خرجت النتيجة بهذا الشكل XYZA0CD يرجى تأكيد المنطق الصحيح لكيفية إجراء العملية ، والرد على تساؤلي ما الهدف من إجراء تلك العملية؟
    1 point
  26. جرب هذا الكود Sub replace_for_me1() Dim my_arr() Dim my_st, my_text As String Dim my_aar2() Dim k, x, lr As Integer lr = Sheets("sheet1").Cells(Rows.Count, 1).End(3).Row For k = 2 To lr ReDim my_arr2(1 To 7) my_arr = Array("X", "Y", "Z", "A", "B", "C", "D") my_st = Range("a" & k) For i = 1 To 7 s = Mid(my_st, i, 1) If s = "0" Then my_arr(i - 1) = s: GoTo 1 my_arr2(i) = my_arr(i - 1) 1: Next my_text = "" For x = LBound(my_arr) To UBound(my_arr) my_text = my_text & my_arr(x) Next Range("a" & k).Offset(0, 2) = my_text Next End Sub
    1 point
  27. أختنا الكريمة تم عمل كشف الأوائل بالأكواد من خلال القوائم المنسدلة تمكنك القوائم المنسدلة من إختيارات متعدده ( الأوائل حسب المجموع الكلي أو المواد والصف و الفصل الدراسي ) وأسأل الله عز وجل أن يكرم أساتذتى بهذا المنتدى والذين لهم فضل بعد الله سبحانه وتعالى في كل ما تعلمته بخير الخير أخى الحبيب الأستاذ الكبير // الشهابي بوركتم وجزيتم عنى خير الخير THE FIRST ST.rar
    1 point
  28. شكرا استاذ مجدى يونس شكرا اخى مجدى منتظر سيادتك استاذ مجدى
    1 point
  29. يمكنك انزال المرفقات بطريقتين: 1. النقر على المرفق مباشرة بزر الفأرة اليسار ، 2. النقر على المرفق بزر الفأرة اليمين ، ومن القائمة تختارين "Save Link As". ويمكنك كذلك ان تنسخي رابط المرفق: https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=124252 وتلصقيه في متصفحك ، وان شاء الله سينزل المرفق جربي الطرق لوسمحتي ، واذا لم تفلحي ، اخبريني وسأرسل لك المرفق على بريدك ، وسأخبر المسؤولين في المنتدى عن هذا الخلل الفني لإصلاحه جعفر
    1 point
  30. الحمد لله الذي بنعمته تتم الصالحات مشكور على كلماتك الطيبة تقبل تحياتي
    1 point
  31. السلام عليكم أخي أمير هذا الكود سوف يقوم بإعطاء نتيجة عدد الصفحات 0 و سوف يعمل الكود بشكل جيد إذا أضفنا للتقرير مربع نص و نكتب به [Pages] مع العلم أن تسمية مربع النص غير مهمة سمه كما تشاء
    1 point
  32. اذا كنت تقصد اظهار عدد الصفحات داخل التقرير: فاستخدم معالج انشاء التقرير وسوف يظهر تلقائيا رقم الصفحة واجمالي الصفحات واذا كنت تقصد اظهار عدد الصفحات داخل نموذج : Private Sub Command0_Click() strReportName = "table1" DoCmd.OpenReport strReportName, acViewPreview, , , acHidden MsgBox (Reports(strReportName).Pages) DoCmd.Close acReport, strReportName, acSaveNo End Sub
    1 point
  33. السلام عليكم في تذييل الصفحة " اجمالي صفحة " & [Page] = و الله الموفق
    1 point
  34. الفكرة الجديدة هي: خلينا نستعرض كل صفحة ونشوف نتيجة الجمع اسفل الصفحة ، ولما نشوف نتائج كل صفحة ، خلينا نحفظ هذه المعلومة في مكان ما (انا استعملت Array ، ولكن يمكن استعمال جدول مؤقت كذلك) ، وعلشان نستعرض كل صفحة ، فيجب استعراضها يدويا ، او طباعة التقرير ، انا طبعت التقرير بصيغة rtf (فحصلت على مجموع كل صفحة في Array ، ثم حذفت ملف rtf المؤقت ، ثم اعرض التقرير بطريقة عادية ، وتكون النتائج في رأس الصفحة ولكن يجب عليك فتح التقرير عن طريق النموذج علشان هذا العمل ، لازم تكون عندنا وحدة نمطية للإحتفاظ بالقيم ، الرقم 100 معناه 100 صفحة تقرير (يعني انا كتبت رقم كبير ، واذا تقريرك فيه صفحات اكثر ، فرجاء تكبير الرقم): Option Compare Database Public A1(100), B1(100), C1(100) وكود جمع البيانات كما عملناه سابقا ، بالاضافة الى إضافة النتائج الى Array : Option Compare Database Private A, B, C As Integer Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) If Me.Sec = "الاستقبال" Then A = A + 1 ElseIf Me.Sec = "الصيانه" Then B = B + 1 ElseIf Me.Sec = "المطبعه" Then C = C + 1 End If End Sub Private Sub PageFooterSection_Print(Cancel As Integer, PrintCount As Integer) Me.txt_A = A A1(Me.Page) = A Me.txt_B = B B1(Me.Page) = B Me.txt_C = C C1(Me.Page) = C A = 0 B = 0 C = 0 End Sub Private Sub PageHeaderSection_Print(Cancel As Integer, PrintCount As Integer) On Error GoTo err_PageHeaderSection_Print Me.txt_A1 = A1(Me.Page) Me.txt_B1 = B1(Me.Page) Me.txt_C1 = C1(Me.Page) Exit Sub err_PageHeaderSection_Print: If Err.Number = 9 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 576.الجمع بشرط فى تقرير.accdb.zip
    1 point
  35. اتفضل استخدمت هذا الكود Private Sub Text13_AfterUpdate() Dim X As Integer X = DCount("cheq_no", "MASTER1", "[cheq_no]='" & Me.Text13 & "'") If X > 0 Then MsgBox " åÐÇ ÇáÑÞã ãæÌæÏ ãÓÈÞÇ" Me.Text13 = "" Me.Text13.SetFocus End If End Sub اليك ملفك بعد اضافة الكود salr.rar salr.rar
    1 point
  36. الدرس السادس: الدوال النصية هنالك الكثير من الدوال المستعملة في VBA و سوف نحاول ذكر الدوال المشهورة منها حسب عملها: Asc: إرجاع عدد صحيح يمثل رمز الحرف الأول في السلسلة النصية. مثال: Me.y = Asc("أوفيسنا") النتيجة=195 Chr: تحويل عدد صحيح إلى حرف أو رمز. مثال: Me.y = Chr("210") النتيجة=ز InStr: استخراج موضع بداية سلسلة ضمن سلسلة أخرى. مثال: Instr(المقارنة,السلسلةالمبحوث عنها,السلسلة التي يتم فيها البحث,مكان بداية البحث) Me.y = InStr(1,"homsalah", "a")=5 InStrRev: إرجاع موضع تواجد سلسلة ضمن سلسلة أخرى بدءا من نهاية السلسلة. InStrRev(المقارنة,بداية البحث,السلسلة المبحوث عنها,السلسلة) Me.y = InStrRev("homsalah", "a", -1)=7 LCase: تحويل حروف سلسلة إلى حروف صغيرة. مثال: Me.y = LCase("ABC")=abc UCase: تحويل الأحرف إلى أحرف كبيرة. مثال: UCase(السلسلة النصية) Me.y = UCase("abcd")="ABCD" Left: ارجاع جزء من سلسلة حرفية حسب عدد الحروف المطلوبة من جهة اليسار. مثال: Left(عدد الأحرف المطلوبة,السلسلة ) Me.y = Left("1999", 2)=19 Len: حساب عدد الأحرف في السلسلة. مثال: len(السلسلة) Me.y = Len("1999")=4 LTrim: حذف الفراغات الموجودة في الجهة اليسرى. مثال: Trim(السلسلة) Me.y = Trim(" 1999")="1999" Mid: ارجاع جزء من سلسلة بحيث تحدد بداية الجزء و طوله (عدد الأحرف). مثال: Mid(عدد الأحرف,نقطة البداية(رقم),السلسلة) Me.y = Mid("SALAH", 3, 2)="LA" Replace: تعويض جزء من سلسلة بجزء آخر. مثال: Replace(الجزء المعوض,الجزء الذي نريد استبداله,السلسلة) Me.y = Replace("SALAH", "H", "T")="SALAT" Right: ارجاع جزء من سلسلة حرفية حسب عدد الحروف المطلوبة من جهة اليمين. مثال: Right(عدد الحروف,السلسلة) Me.y = Right("SALAH", 2)="AH" RTrim: حذف الفراغات الموجودة في الجهة اليمنى لسلسلة. مثال: RTrim(السلسلة) Me.y = RTrim("15 ")="15" Trim: حذف المسافات البادئة و الزائدة من سلسلة. مثال: Trim(السلسلة) Me.y = Trim(" 15 ")="15" Space: ارجاع سلسلة تتألف من عدد من المسافات المحددة. مثال: Space(عدد الفراغات) Me.y = Space(3)=" " Str: ارجاع متغير من نوع string يمثل رقم.(تحويل متغير من نوع رقم إلى متغير من نوع سلسلة نصية) مثال: Str(العدد) Me.y = Str(3)=" 3" Me.y = Str(-3)="-3" تقوم بإرجاع مسافة قبل الأعداد الموجبة StrComp: ارجاع عدد صحيح يشير إلى نتيجة مقارنة سلسلتين.إذا كانت متساوية يرجع 0 و إذا كانت مختلفة يرجع 1 أو 1- مثال: StrComp(السلسلة2,السلسلة1,المقارنة) Me.y = StrComp("ass", "ass")=0 Me.y = StrComp("as", "ass")=-1 StrConv: ارجاع سلسلة تم تحويلها كما هو محدد. مثال: StrConv(رقم يمثل رمز التحويل,السلسلة,LCID) Me.y = StrConv("ass", 1)="ASS" رموز التحويل: 1: يحول السلسلة إلى أحرف كبيرة 2: يحول السلسلة إلى أحرف صغيرة 3: يحول الحرف الأول من كل كلمة في السلسلة إلى حرف كبير 64: تحول السلسلة إلى Unicode باستخدام مخطط الشفرة الافتراضي للنظام. 128: تحول السلسلة إلى Unicode باستخدام مخطط الشفرة الافتراضي للنظام. و هذا الرابط به مختلف الرموز: https://support.office.com/ar-SA/article/الدالة-StrConv-19c3816f-dbc9-4adf-891c-fd32734c92e0 String: تكرار أحرف بعدد معين. مثال: String(الحرف, عدد التكرارات) Me.y = String(3, "S")="SSS" StrReverse: قلب ترتيب أحرف سلسلة نصية. مثال: StrReverse(السلسلة) Me.y = StrReverse("ABCD")="DCBA"
    1 point
  37. الدرس الخامس: استعمال الرموز إن استعمال الرموز و الأحرف لها دور كبير و لا يمكن الإستغناء عليه في جميع لغات البرمجة. و يختلف دور الرموز حسب موقعها في الكود و سنحاول ذكر ما نستطيع ذكره في هذا الدرس و أتمنى من الإخوة أن يكملوا ما عجزت عن ذكره. الفاصلة , تستخدم الفاصلة بشكل واسع في اكواد VBA فمثلا نورد هنا بعض استخدماتها على سبيل المثال لا للحصر: تستخدم للفصل بين قيم دالة تتطلب ادراج عدة قيم مثال: exm=DFirst(Expr, Domain, Criteria) للفصل بين المتغييرات عند تعريفها مثال: Dim a,b,c As Integer الاقواس الهلالية ( ) تستخدم الاقواس الهلالية في فيجول بيسك في الاماكن التالية : -عند كتابة الاكواد. -عند بداية كتابة اجراء معين او دالة ما. -في العمليات الحسابية. مثال: Function Example (exm As Boolean) D=(e-f)*g moy=(2+3+4)/3 الفاصلة المنقوطة ; تستخدم الفارزة المنقوطة في بعض من دوال اكسس و بالتحديد في منشأ التعابير علامتي الاقتباس " " تستخدم علامتي الاقتباس بشكل رئيسي لحصر النصوص بداخلها و بالتالي سوف يفهم البرنامج ان ما هو موجود بين علامتي الاقتباس هو نص و يتعامل معه عل هذا الاساس. مثال: Text0="منتدى أوفيسنا" علامة الاقتباس المفردة ' تستخدم علامة الاقتباس المفردة ' لتوضيح ما بعدها هو شرح و ليس عبارة برمجية مثال: ' A = Text0.BackColor الاقواس المربعة [] الاقواس المربعة ايضاً حالها حال الرموز السابقة لها استخداماتها المحددة و تتمثل استخدماتها في توضيح ان المتغييرات المحصورة بين قوسين مربعين انما هي اسماء لجدول او نموذج او استعلام او عناصر داخل تلك النماذج او حقل ضمن الجداول و الاستعلامات و تستخدم في منشأ التعابير و كودات ال(VBA) على حدٍ سواء و في بعض الاحيان يمكن الاستغناء عنها اي ان نذكر العناصر السابقة بدون حصرها بين قوسين مثال: Forms![form1].[Text0] = "ممكلة الاكسس و الوورد" علامة التعجب ! تستخدم علامة التعجب على حد علمي استخدام وحيد و هو موضح في مثال: Forms![form1].[Text0] = "ممكلة الاكسس و الوورد" و المثال السابق يوضح ان علامة التعجب توضح ان العنصر الذي بعدها هو احد النماذج الموجود في قاعدة البيانات كما انها تكون مسبوقة بالكملة Forms للتدليل على ان ما بعد علامة التعجب هو عنصر من نوع نموذج و هي تستخدم كما اسلفنا في منشأ التعابير و كودات ال(VBA) الرمز & و هي اختصار لكلمة AND باللغة الانكليزية و هنا تستخدم لربط سلسلتين نصيتين او اكثر مثال: Text0 = "مملكة " & "الاكسس " & "و " & "الوورد" علامة = و هي تقوم بإسناد قيمة ما بعدها للمتغيير الموجود قبلها سواءاً كانت تلك القيمة رقم او معادلة رياضية او قيمة منطقية او سلسلة نصية .. الخ مثال: A=b+c علامة النقطة . و هي مهمة جدا في البرمجة. فعند ذكر اسم اي عنصر من عناصر قاعدة البيانات و الحاق اسم العنصر بعلامة النقطة (.) فسوف تظهر قائمة بخصائص ذلك العنصر و الاوامر التي يتعامل معها ذلك العنصر . مثال: Text0.Text = "احمد الحربي" علامة الشارحة السفلية _ تستخدم هذه العلامة للفصل بين اسم العنصر و الحدث المرتبط به مثال: Private Sub Command2_Click() علامة # تستعمل هذه العلامة لتحول سلسلة رقمية الى تاريخ مثال : Text0 = #30/1/2017# + عملية الجمع - تستعمل لعمية الطرح * تستعمل لعملية الضرب / تستعمل لعملية القسمة ^ تستعمل لعملية الأس مثال: text1=2+3 text2=10-6 text3=70/5 text4=4*23 text5=6^4
    1 point
  38. الدرس الرابع: الحلقات التكرارية أو الدورانية Looping في كثير الأحيان يحتاج المبرمج أو المستخدم إلى تكرار تعليمة عدد من المرات حسب الحاجة. و هناك نوعان من الحلقات التكرارية , الأولى في حالة كان عدد مرات التكرار معروف و الثانية في حالة كان عدد التكرار مرتبط بشرط معين. أولا: الحلقة (For … Next) تستخدم الحلقة (For … Next) لتكرار عدد من المرات بحيث يكون عدد التكرارات معلوم. For counter = start To end [step increment] Statement Next counter Counter: متغير يمثل عداد الحلقة Start: القيمة الابتدائية للدوران End: القيمة النهائية للدوران Increment: مقدار الزيادة في كل حلقة من حلقات الدوران و إذا لم يوضع يأخذ القيمة 1 افتراضيا مثال1: For i = 1 To 10 Me.y = Me.y + i Next i هذا البرنامج يقوم بحساب مجموع الأعداد من 1 إلى 10 . بحيث i هو العداد و y مربع نص تظهر به النتيجة و القيمة الابتدائية له يجب أن تكون 0 مثال2: For i = 0 To 10 Step 2 Me.y = Me.y + i Next i في هذا البرنامج وضعنا قيمة الانتقال 2 يعني أن البرنامج سوف يحسب مجموع الأعداد الزوجية فقط (من 0 إلى 10) ثانيا: الحلقة (For Each … Next) تستخدم الحلقة (For Each… Next) عندما نريد تنفيذ تعليمة أو مجموعة من التعليمات لكل عنصر في مصفوفة أو مجموعة. و رغم أنها تشبه (For … Next) كثير إلا أنها تقوم بتنفيذ حلقة لكل عنصر مما يعني أنه لا يوجد عداد في هذا النوع من الحلقات. و يمكن استخدامها في المصفوفات أو مع الكائنات. صيغتها: For Each element In Group [statement 1] [statement 2] .... [statement n] Next مثال1: Dim Array_n() as string Array_n = Array(1, 2, 3, 5) Dim sum As Integer sum=0 For Each Item In Array_n sum = sum + Item Next Me.y = sum Array_n هي مصفوفة بها 4 عناصر. هذا البرنامج يقوم بحساب مجموع هذه العناصر و يضعها في مربع النص y Item : هي العنصر i: هو العداد مثال2: Dim frm As Form Dim fc As Control Set frm = Me For Each fc In frm.Controls Me.listbox.AddItem (fc.Name) Next هذا البرنامج يقوم بإضافة جميع أسماء عناصر النموذج الحالي إلى مربع قائمة listbox. السطر الأول هو تعريف المتغير frm من Form (نموذج) السطر الثاني تعريف المتغير fc من Control (عنصر تحكم) السطر الثالث إسناد النموذج الحالي (Me) للمتغير frm و ذلك باستعمال عبارة set لأن النموذج عبارة عن كائن (Object) . السطر الرابع هو القيام بالدوران لكل عنصر من عناصر النموذج(frm.Controls) السطر الخامس إضافة اسم العنصر(fc.Name) Listbox إلى مربع القائمة و ذلك بإستعمال التعليمة AddItem ثالثا: الحلقة (Do Until condition ... Loop) تقوم هذه الحلقة بتفحص الشرط قبل الدخول للحلقة إذا كان الشرط محقق (True) فإن البرنامج يقفز إلى ما بعد حلقة التكرارية أي أنه لن يتم الدخول للحلقة. و إذا كان الشرط غير محقق (False) فسيتم تنفيذ التعليمات Statments, ثم يرجع للسطر Do until لاختبار الشرط ثانية. و هكذا. يعني أنه سوف يتم تكرار الحلقة عدد من المرات حتى يتحقق الشرط. و لن ينفذه و لو مرة واحدة إذا كان الشرط صحيح من البداية. صيغتها: Do Until condition Statments Loop مثال: Dim i As Integer Dim sum As Integer i = 1 sum = 0 Do Until i > 10 sum = sum + i i = i + 1 Loop Me.y = sum يقوم هذا البرنامج بحساب مجموع الأعداد من 1 إلى 10 . i متغير من نوع integer يمثل العداد بالنسبة للحلقة في كل حلقة يزداد 1 و فيمته الابتدائية هي 1. sum متغير من نوع integer يمثل مجموع الأعداد قيمته الابتدائية هي 0. مادام i<10 فإن البرنامج يبقى يكرر العملية حتى يصبح i>10 و بعد نهاية الدوران يضع القيمة النهائية في مربع النص y رابعا: الحلقة (Do ... Loop Until condition ) هذا النوع من الحلقات يقوم بتنفيذ الدوران على الأقل مرة واحدة لأنه يختبر الشرط في نهاية الحلقة و بالتالي فإنه يتم الدخول للحلقة أولا ثم في نهاية الحلقة يتم تفحص الشرط. صيغتها: Do Statements Loop Until condition مثال: Dim i As Integer Dim sum As Integer i = 1 sum = 0 Do sum = sum + i i = i +2 Loop Until i > 10 Me.y = sum هذا البرنامج يقوم بحساب مجموع الأعداد الفردية من 0 إلى 10 لأن القيمة الابتدائية للعداد هي 1 و مقدار الزيادة في كل حلقة (الخطوة) هو 2 خامسا: الحلقة (Do While condition ... Loop) هذا النوع من الحلقات يقوم بتنفيذ الدوران مادام الشرط Condition محقق وإلا يتم التوقف عن الدوران في الحلقة و تقوم هذه الدالة بتفحص الشرط في بداية الحلقة. صيغتها: Do While Condition Statements Loop مثال: Dim i As Integer Dim sum As Integer i = 0 sum = 0 Do While i <= 10 sum = sum + i i = i + 2 Loop Me.y = sum يقوم هذا البرنامج بحساب مجموع الأعداد الزوجية من 0 إلى 10 مادام i<=10 فإن البرنامج يعيد الدوران. في كل دورة يقوم بإضافة 2 للعداد حتى يصبح i>10 سادسا: الحلقة (Do ... Loop While condition) هذا النوع من الحلقات الدورانية المشروطة يتم فيه تنفيذ التعليمات مرة واحدة على الأقل لأنها تختبر الشرط في نهاية الحلقة و هي تشبه النوع الرابع كثيرا, إلا أنها تستمر في الدوران مادام الشرط محقق و تتوقف عندما يصبح الشرط غير محقق. صيغتها: Do Statements Loop While Condition مثال: Dim i As Integer Dim mult As Long i = 10 mult = 1 Do mult = mult * i i = i - 1 Loop While i > 0 Me.y = mult هذا البرنامج يقوم بحساب جداء الأعداد من 10 إلى 1 و يضع النتيجة في me.y هنا وضعنا العداد i تنازليا (i=i-1) في كل دورة ينقص 1 من العداد حتى يصل إلى 0 نلاحظ هنا بالنسبة للمتغير mult و الذي يمثل الناتج أنني وضعت نوعه Long Integer بدلا من و السبب يرجع لأن النوع integer أقصى قيمة له هي 32767 و في هذه الحالة الناتج يفوق هذا العدد و بالتالي سوف يظهر لنا الخطأ رقم 6 (Overflow)
    1 point
  39. الــدرس الرابع: الجملة الشرطية ( IIF ) ( لقد قام أستاذي و أخي جعفر حفضه الله بتقديم هذا الدرس كله و أنا لم أفعل شيء سوى التنسيق و النشر فاللهم جازيه عنا خير الجزاء يا رب العالمين) طريقة استعمال ((iif: iif(expr, truepart, falsepart) iif(القيمة المطلوب تقييمها, اذا كان التقييم صح فستأخذ هذه القيمة, اذا كان التقييم خطأ فستأخذ هذه القيمة) مثال: Age=50 Age_Now = iif(Age=50 , "Yes it is", "No it is not") ميزاتها: نستطيع استعمالها في الكود ، والاستعلام نستطيع ان نضع اكثر من شرط واحد فيها مثال: Price=10 Qty=5 Sale_is= iif(Price* Qty = 50 , "Low sale", iif(Price * Qty = 100 , "Middle sale" , "Big sale")) عيوبها: الدالة تختبر جميع الحالات ، ولا تختبر القيمة الاولى وتخرج (مثل الـ IF): 1. المثال السابق ، مع ان اول تقييم هو الجواب الصحيح 10*5=50 ، إلا ان الدالة ستقوم بتقييم جميع الاختيارات ، مما يجعلها تأخذ وقت اطول للتقييم ، 2. بسبب اختبارها لجميع الحالات ، فيجب ان نكون دقيقين في وضع التقييم ، مثلا اذا اردنا اختبار قيمة مثال: Divide = iif(n2 = 0, MsgBox("القيمة صفر"), MsgBox(n1 / n2)) فاننا سنحصل على خطأ ، لأن الدالة تحققت من القيمتين ، والقيمة الثانية هي تقسيم رقم على صفر ، 3. بطيئه نوعا ما ، لأنها تحول الارقام الى Variant (رجاء مراجعة الدرس الاول للأخ صالح) ، ثم تقوم بالحساب ، 4. لا تستطيع ان تستخدم اكثر من 7 شروط في الاستعلام ، مثلا عندنا ارقام الاشهر ونريد نستخرج اسمائها ، 5. ببساطة مكن ان تخطأ في عدد الاقواس والفواصل ، 6. لا تستطيع قراءة ولا تغيير اي شئ بسهولة ، وخصوصا اذا كان عندنا اكثر من تقييم ، امثلة عملية: 1. اذا عندنا ارقام الاسبوع ، ونريد ان نستخرج ايامها ، فاذا عملنا الكود في الاستعلام مباشرة ، فسيكون صعب ، لذا ، فالطريقة التي اعملها انا هي: أ‌- عمل الكود في محرر VBA ، هكذا: لاحظ اني عملت اول شرط ونتيجة القيمة الصحيحة ، ثم انهيت السطر بخط سفلي _ (واللي معناه في البرمجة ان الكود سيتواصل في السطر التالي ، ثم انتقلت السطر التالي ، ونفس الشئ ، عملت الشرط التالي ونتيجة القيمة الصحيحة و.... كما سبق و... الى ان نوصل للسطر الاخير ، فوضعت الشرط الاخير ونتيجة القيمة الصحيحة والخطأ ، ثم حسبت كم قوس مفتوح ، فقفلت بنفس عددها: iDay = 2 Today_is = IIf(iDay = 1; "Sun"; _ IIf(iDay = 2; "Mon"; _ IIf(iDay = 3; "Tue"; _ IIf(iDay = 4; "Wed"; _ IIf(iDay = 5; "Thu"; _ IIf(iDay = 6; "Fri"; "Sat")))))) ب- والخطوة التالية ان نجعلها في سطر واحد ، حتى نأخذها للإستعلام ، وهي ان نحذف الاشارة _ ، لتكون النتيجة Today_is = IIf(iDay = 1; "Sun"; IIf(iDay = 2; "Mon"; IIf(iDay = 3; "Tue"; IIf(iDay = 4; "Wed"; IIf(iDay = 5; "Thu"; IIf(iDay = 6; "Fri"; "Sat")))))) . هكذا . 2. اذا عندنا سجلات الصف الاول والثاني ، واردنا معرفة عدد الطلاب لكل صف: iif([Section]= "A" ; 1;0) وهكذا تكون في الاستعلام: 3. اذا عندنا اكثر من 7 شروط (ارقام الاشهر نريد تحويلها الى اشهر) ، فهنا نضطر الى عمل وحدة نمطية: Function What_Month(M) Select Case M Case 1 What_Month = "Jan" Case 2 What_Month = "Feb" Case 3 What_Month = "Mar" Case 4 What_Month = "Apr" Case 5 What_Month = "May" Case 6 What_Month = "Jun" Case 7 What_Month = "Jul" Case 8 What_Month = "Aug" Case 9 What_Month = "Sep" Case 10 What_Month = "Oct" Case 11 What_Month = "Nov" Case 12 What_Month = "Dec" End Select End Function ونرسل لها ارقام الاشهر ، هكذا . والنتيجة
    1 point
  40. السلام عليكم أخي صالح إطراء وتعقيب: الموضوع متكامل ، والتنسيق رائع والشئ الوحيد الذي لم تشر اليه هو (مأخوذ من برنامج الاكسس) ، هو خلط المتغير Expression Case 9, 11, 13 و Case 1 To 4, 7 To 9, 11, 13 . ومع ان تشبه الدالة Select Case إلى حد كبير الدالة If ، إلا ان المبرمجين المحترفين يفضلون استخدام Select Case على If جعفر
    1 point
  41. الدرس الثالث: الدالة Select Case تشبه الدالة Select Case إلى حد كبير الدالة If و لكنها تختلف عنها بالتعدد أي أنها تكون في الشروط المتعددة. طريقة الاستعمال: الصيغة الأولى: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n End Select تقوم الدالة Select Case باختبار حالة الكائن أو المتغير Expression و مقارنتها أو مطابقتها مع الحالات الموجودة بداخلها. و عند تحقق الشرط مع إحدى الحالات يقوم البرنامج بتنفيذ التعليمة Statement التابعة لهذه الحالة. و عند عدم مطابقة الكائن أو المتغير لجميع الحالات فإن البرنامج لا يعطينا أي نتيجة. مثال1: كتابة الأرقام من 1 إلى 4 بالحروف Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" End Select أضفنا مربع نص اسمه le_nombre لإدخال الأرقام و مربع نص اسمه y من أجل ظهور النتيجة. الصيغة الثانية: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n Case Else Other_statement End Select في هذه الصيغة عند عدم تحقق الشرط مع جميع الحالات يتم إرجاع التعليمة الإستثنائية Other_statement مثال2: نفس المثال الأول Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" Case Else me.y = "هذا الرقم غير موجود" End Select هذا عندما نضيف أي رقم يختلف عن 1 أو 2 أو 3 أو 4 يطبع لنا "هذا الرقم غير موجود" مثال 3: برنامج كتابة ملاحظات التلاميذ حسب الدرجة Select Case Me.Degre Case 0 To 30 Me.y = "ضعيف" Case 30 To 49 Me.y = "دون الوسط" Case 50 To 69 Me.y = "مقبول" Case 70 To 89 Me.y = "جيد جدا" Case 90 To 100 Me.y = "ممتاز" Case Else Me.y = "هذه الدرجة خاطئة" End Select هنا إستخدمنا To معناه إلى مثلا: من 0 إلى 30
    1 point
  42. ماشاء الله عليك اخوي صالح ، كفيت ووفيت ، وما بقيت لي شئ اكتبه التنسيق: وذلك بإستخدام زر الـ Tab (لتحريك السطر Indenting) ، و زر Enter (للإنتقال الى السطر التالي) تنسيق وتجميع مجموعات اللـ IF مهم ، وكلما كان تنسيقك افضل ، كلما قلّت اخطاءك ، وكلما استطعت الوصوت للخطأ بسرع في الصور كود لبرنامج أحد الاعضاء (واعتذر مسبقا من صاحب الاكواد) ، لاحظ طريقة عرض الكود ، بدون تنسيق ، وصعوبة معرفة بداية ونهاية الشرط IF : قبل التنسيق وسهولة القراءة بعد التنسيق . اما الكود التالي ، فذكرني بالكاريكاتير "ابحث عن فضولي" ، وهنا نبحث عن بداية ونهاية الشرط IF : . وتم تعديل التنسيق (تغيير الكود هو للتوضيح) الى: . هناك شيئين في التنسيق ، الاول: لاحظ انه من السهل معرفة بداية ونهاية كل شرط ، وحتى الشروط المتداخلة في الشرط الاصلي ، اصبح من السهل معرفة بدايتها ونهايتها ، ونافذة الكود تخبرنا 1: على اي سطر نحن (Line, Ln) ، و 2: في اي عمود (Column, Col) ، مما يساعدنا في عملية التنسيق . ثانيا: لاحظ اني عندما اقفل الجملة الشرطية End If ، فاني اكتب تعليق خلفها ، وهذا التعليق مأخوذ من جزء من بداية الشرط IF ، هذا يسهل عليّ كثيرا معرفة بداية ونهاية الجملة الشرطية: . جعفر
    1 point
  43. مثال على استعمال And: If UserName="أبو خليل" And Password=2017 Then MsgBox"مرحبا أستاذ أبو خليل" End If في هذا المثال إذا كان اسم المستخدم هو أبو خليل و كلمة المرور هي 2017 سوف يقوم البرنامج بعرض رسالة ترحيبية MsgBox"مرحبا أستاذ أبو خليل" و إذا إختل أحد الشرطين فلن يتم تنفيذ التعليمة. يعني لتنفيذ التعليمة يجب تحقق الشرطين في نفس الوقت. مثال على استعمال Or: If Died_Father=true Or Died_Mother=False Then MsgBox "يتيم" End If في هذا المثال يكفي تحقق أحد الشرطين ليتم تنفيذ التعليمة (رسالة تخبرنا بأن هذا الشخص يتيم) و إذا تحقق الشرطين معا أيضا يتم تنفيذ التعليمة إذا هناك شخص أبوه متوفي فهو يتيم و إذا كانت أمه متوفية فهو يتيم و إذا كان كلا والديه متوفيين فهو أيضا يتيم. ((((((اللهم أرحم جميع موتى المسلمين يا أرحم الراحمين يا رب العالمين))))))
    1 point
  44. الــدرس الثاني : الجملة الشرطية ( IF ) تعتبر الجملة IF من أشهر الجمل الشرطية و أكثرها استعمالا في جميع لغات البرمجة ولها عدة صيغ كلها تبدأ بــIf و تنتهى بكلمة End If ما عدى صيغة واحدة. وتستخدم الجملة IF لتنفيذ عمليات معينة حسب شرط محدد, يعني إذا تحقق الشرط ينفذ و إلا فلا. طرق استعمال الجملة ((if: 1- الصيغة ( If –Then ) : - وصيغتها العامة : IF condition THEN statements - ومعنى هذه الصيغة : انه اذا تحقق الشرط (condition ) فسيتم تنفيذ الامر ( statements ) مثال : " مسن" IF age >=65 THEN category = 2- الصيغة ( If – Then – End If ) : صيغتها العامة : IF condition THEN statements1 Statements2 END IF تقوم هذه الصيغة بتنفيذ مجموعة من الاوامر اذا تحقق الشرط (Condition) بدلا من تنفيذ امر واحد. مثال : If age >= 25 Then category ="شباب" travail ="السن مقبول" End if 3- الصيغة ( If – Then – Else ) : صيغتها العامة : If condition Then statements1(التعليمات المنفذة في حال تحقق الشرط ) Else statements2(التعليمات المنفذة في حال عدم تحقق الشرط) End If - هذه الصيغة تنفذ مجموعة الأوامر (statements1 ) عندما يتحقق الشرط (condition ) و عندما لا يتحقق الشرط فإنها تنفذ مجموعة الأوامر (Statements2). مثال : If grade >= 50 Then Text1 ="ناجح" Else Text1 ="راسب" End If 4- الصيغة ( If – Then –ElseIf ) : - صيغتها العامة : If condition1 Then statements1( التعليمات المنفذة في حال تحقق الشرط الأول) ELSEIF condition2 THEN statements2(التعليمات المنفذة في حال عدم تحقق الشرط الأول و تحقق الشرط الثاني) ELSE statements2(التعليمات المنفذة في حال عدم تحقق جميع الشروط السابقة) End If مثال : If grade >= 90 Then Text1 ="ممتاز" ElseIf grade >= 80 Then Text1 ="جيد جدا" ElseIf grade >= 70 Then Text1 ="جيد" ElseIf grade >= 60 Then Text1 ="مقبول" Else Text1 ="راسب" End If ملاحظات: - في الصيغة الأخيرة ( If – Then –ElseIf ) اذا تحقق احد الشروط فان البرنامج ينفذ العملية ثم يذهب الى نهاية الجملة و لا يتحقق من الشروط الباقية. - في حالة أردنا إستعمال شرطين معا أو أكثر نستعمل العبارة And. - في حالة أردنا تحقق أحد شرطين ليتم تنفيذ العملية نستعمل Or
    1 point
  45. ملاحظاتك ممتاز و في محلها و متممة للمعنى ربما هنا من يستعمل اللغة العربية في تعريف المتغير بهذا الشكل : Dim الرقم_الأول As Integer ملاحظة: - القيمه الإفتراضية للمتغيرات النصيه هي فراغ " " - أما القيمه الإفتراضية للمتغيرات الرقميه هي صفر 0
    1 point
  46. الاخ ابو عصام الغالى وعليكم السلام ورحمة الله وبركاتة اهلا بك بالمنتدى هذا هو ملف الاكسل حاول مع شرح الفيديوهات التجربة مع الملف المرسل مع تعديل البيانات حسب طلبك وعموما انتظر فيديو لشرح كيفية التعديل على الملف والفورم ليناسب موضوعك تابع بافى الفيديوهات مع التطبيق على الملف بعد تعديلة الاخوة الزملاء اليكم الدرس الثالث كيفية عمل زر بحث مع ادخال الاكواد اكواد زر بحث Private Sub TextBox12_Change() Set sh12 = Sheets("بيانات") LR = sh12.[a2000].End(xlUp).Row For Each cl In sh12.Range("a5:a100" & LR) If (Val(Me.TextBox12)) = cl Then Me.TextBox1 = cl.Offset(0, 0) Me.TextBox2 = cl.Offset(0, 1) Me.TextBox3 = cl.Offset(0, 2) Me.TextBox4 = cl.Offset(0, 3) Me.TextBox5 = cl.Offset(0, 4) Me.TextBox6 = cl.Offset(0, 5) Me.TextBox7 = cl.Offset(0, 6) Me.TextBox8 = cl.Offset(0, 7) Me.TextBox9 = cl.Offset(0, 8) Me.TextBox10 = cl.Offset(0, 9) Me.TextBox11 = cl.Offset(0, 10) End If Next End Sub كود زر اغلاق الفورم Private Sub CommandButton4_Click() End End Sub الفيديو ادخال بيانات واستعلام وتعديل وبحث.rar
    1 point
  47. أخي الحبيب إبراهيم وجب تصحيح نقط معينة وهو أنه لا يجوز الإعلان عن متغير وتعيين قيمة له في نفس السطر Dim H As Integer=10 يجوز ذلك في لغة الفيجوال بيزيك دوت نت أما في VBA سيعطيك خطأ نقطة أخرى بالنسبة للسطر Dim H,m As Integer هنا لم يتم الإعلان عن المتغيرين من النوع عدد ..فقط المتغير m هو المتغير العددي أما المتغير H في هذه الحالة يعتبر من النوع Variant للتأكد من صحة مقولي قم بنسخ الكود التالي في موديول Sub Test() Dim H, m As Integer End Sub قم بوضع مؤشر الماوس في سطر End Sub اضغط F9 لوضع نقطة وقوف BreakPoint سيكون لونها باللون الأحمر الغامق روح لقايمة View وأظهر نافذة Locals ثم قم بتنفيذ الكود ستجد في النافذة تفاصيل كل متغير أرجو أن أكون قد وفقت في توصيل المعلومة
    1 point
  48. الأخ أندر تيكر لو كنت تقصد الإرتباط التشعبى عن طريق عمل لينك بين كلمة فى الملف وبين ملف آخر فالطريقة سهلة كالتالى 1. فى الوورد حدد الكلمة التى سنضغط عليها لفتح المرفق 2. كليك يمين عليها 3. إختار إرتباط تشعبى 4. تصفح البراوزر حتى تصل للمرفق المراد إرفاقه ثم إختاره فى الإيكسيل كليك يمين فى الخلية وكمل مثل الوورد كما سبق ملحوظة هامة لو كنت ستقوم بنقل الملف من جهاز لجهاز فلابد من وضع المرفق مع الملف فى نفس المجلد ونقل المجلد كاملاً بالمرفقات بعد ذلك ستختلف طريقة الفتح فى الإيكسيل عن الوورد 1. فى الإيكسيل يكفى كليك شمال على الكلمة لفتح المرفق 2. فى الوورد لابد من ضغط كنترول مع الكليك شمال لفتح المرفق وسنلاحظ تحول سهم الماوس إلى يد إشارة الملف المرفق به مثال إرفاق مرفق داخل ملف.rar
    1 point
×
×
  • اضف...

Important Information