نجوم المشاركات
Popular Content
Showing content with the highest reputation on 04/21/20 in مشاركات
-
طيب .... شوف الطريقة دي يمكن تناسبك New Microsoft Access قاعدة بيانات (3)(1).accdb5 points
-
الاصدقاء الاكارم تحية طيبة في التطبيق التالي سنقوم بحماية ملف الاكسل عت طريق رقم الفلاش الميموري الحقيقي ( الرقم الذي لا يتغير ) خطوات التنفيذ : 1 - نقوم باستخراج رقم الفلاش ميموري الحقيقي 2 - نضيف الوحدة النمطية الى المصنف المطلوب حمايته 3- نفعل الحماية نبدأ على بركة الله 1 - في الملف المرفق يوجد زر امر يقوم باستخراج رقم الفلاش ميموري و تسجيله في الخلية a1 2 - نضيف الوحدة النمطية module2 الى الملف الذي نرغب بحمايته مع مراعات استبدال رقم الفلاش ميموري برقم الفلاش الموجودة لدينا حيث نقوم بوضع الرقم هنا If objItem.PNPDeviceID = "USBSTOR\DISK&VEN_TAKEMS&PROD_USB_RETRO&REV_5.00\011114007BC74103&0" Then 3 - نستدعي كود الحماية عند فتح المصنف Private Sub Workbook_Open() Call Pro End Sub حماية برقم الفلاشة الحقيقي.xlsm4 points
-
الاصدقاء الاكارم تحية طيبة في هذا الموضوع سنتحدث عن حماية اكود vba داخل مصنف الاكسل في البداية اود التنبيه الى ان الموضوع منقول عن الاخ ياسر خليل الحماية تتم عن طريق برنامج evilclipy نقوم باخد نسخة احتياطية عن المصنف المرغوب تطبيق الحماية عليه نستخرج المجلد من الملف المضغوط و ننقل المصنف الى داخل المجلد نضفط زر shift و ننقر بالزر الايمن للفارة و نختار فتح نافذة الاوامر هنا ستظهر شاشة dos نكتب الكود التالي داخل محرر الاوامر dos مع مراعات اسم مصنف الاكسل وفي المثال هنا اسم المصنف هو test evilclippy.exe -u test.xlsm بعد تطبيق الحماية سيظهر ملف جديد بنفس اسم الملف الاصلي مضافا اليه evilclippy الاكواد ضمن هذا الملف محمية ولا يمكن الوصول اليها 😄 EvilClippy-master.zip3 points
-
الاروع ردك ... كل عام وانت بخير ... حياك الله2 points
-
اخي الفاضل طبعا الفورم به صفحتان الاولي للشريط المتحرك والاخرى لكلمة الباس الاستاذ ضاحي متعه الله بالصحة عمل الكلمات بالشريط عن طريق ادراج صورة بمعني تكتب العبارة التي تريدها في الرسام او الباوربوينت وتحفظها كصورة ثم تفتح الفورم وتنقر على الشريط فقط ثم من خصائص الفورم تختار picture وتقوم بادراجها الطريقة الثانية والتي قمت بعملها على الفورم ادراج ليبل وكتابة ما تشاء به ولك الخيار تحياتي شاشة صلاحيات باس ورد111.xls2 points
-
لأساتذة الكرام....لكم مني كل الثناء والتقدير ، بعدد قطرات المطر ، وألوان الزهر ، وشذى العطر ، على جهودكم الثمينة والقيمة ، من أجل الرقي بمسيرة منتدى أوفيسنا . للنجاحات أناس يقدرون معناه ، وللإبداع أناس يحصدونه ، لذا نقدّر جهودكم المضنية ، فأنتم أهل للشكر والتقدير ..فوجب علينا تقديركم ...فلكم منا كل الثناء والتقدير . ..لخيرة الأساتذة .............لكم منا كل معاني الحب والتقدير ، والذي يساوي حجم عطاؤكم اللامحدود . • جميل أن يضع الإنسان هدفا في حياته ...والأجمل أن يثمر هذا الهدف طموحا يساوي طموحكم .. لذا تستحقون منا كل عبارات الشكر، بعدد ألوان الزهر ، وقطرات المطر .2 points
-
اما الطريقة التي تعملون عليها ، فهنا طريقة العمل : جعفر2 points
-
2 points
-
وعليكم السلام-فقط يمكنك استخدام هذه المعادلة لذلك =IFERROR(INDEX(Sheet1!$A:$A,MATCH($A3,Sheet1!$D:$D,0)),"") test2.xlsx2 points
-
ع ما اعتقد طلبك هذا صعب الحصول عليه فالنموذج لان احنا بنصمم النموذج بناء على شىء محدد فطلبك ده متغير يعنى كما قلت انك رائيت مثل طلبك فى مثال سابق ولكن مختلف بعض الشىء ولكن المثال كان محدد بخمس اعمده كحد اقصى والعدد كان يتم حسابه بناء على الخمس اعمده والله اعلى واعلم لعل احد الاخوه والاساتذه يجد حل لطلبك بالتوفيق ان شاء الله2 points
-
هذه محاولة تفضل لعله ما تريد ملاحظة : لا تضغط الملف مرة اخرى الملف صغير لا يستحق ذلك كما ان التيكست بوكس ارقامه غير منظمة نسقه تجنب لاي خطا بالكود Private Sub listbox1_Click() CheckThis = False If ListBox1.ListIndex = -1 Then MsgBox "Nothing Selected!" Exit Sub End If For i = 1 To 18 Me("TextBox" & i).Text = ListBox1.Column(i - 1) Next CheckThis = True End Sub wdad mtn(tora(v1).xlsm2 points
-
بعد اذن أستاذ احمد تفضل اخي هذا بالكود بعد كتابة الارقام اضغط على ايقونة العدسة وسيتم جلب البيانات Sub EtaEng() Dim idnum As Variant, b As Object, i As Double Sheet2.Activate idnum = Left(Range("D7").Value, 4) Set b = Sheet1.Columns("b").Find(idnum, lookat:=xlPart, LookIn:=xlValues) If Not b Is Nothing Then 'exists i = b.Row Range("D10").Value = Sheet1.Cells(i, 3) Range("D12").Value = Sheet1.Cells(i, 2) Range("D14").Value = Sheet1.Cells(i, 4) Range("D16").Value = Sheet1.Cells(i, 5) Range("H10").Value = Sheet1.Cells(i, 6) Range("H12").Value = Sheet1.Cells(i, 7) Range("H14").Value = Sheet1.Cells(i, 8) Range("H16").Value = Sheet1.Cells(i, 9) Else MsgBox "هذا الرقم غير موجود", vbExclamation End If End Sub ملاحظة : يمكنك تغيير عدد الارقام كما تشاء من خلال هذا السطر وهو مصمم لاربعة ارقام ويجب ان تكتب الارقام من اليسار الى اليمين كما ترى idnum = Left(Range("D7").Value, 4) كشف_المحتاجين_2.xlsm2 points
-
مشاركه مع اخى واستاذى @kanory جزاه الله خيرا انظر للاستعلام q ان كان ما تريد ابنى نموذجك عليه تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق New Microsoft Access قاعدة بيانات (3)(1).accdb2 points
-
ما مهمت عليك كيف يبقى حقل التاريخ مستقل أمام الشخص ( هل تقصد كل تاريخ في حقل خاص مثلا ) ؟؟؟؟2 points
-
هل هذا هو طلبك ؟؟؟؟ New Microsoft Access قاعدة بيانات (3) (1).accdb2 points
-
السلام عليكم اتفضل اخى @husseinharby مشاركه لاخى العزيز @Khalid Jnb جزاه الله خيرا وجزاه الله خيرا من علمنى هذا الكود وشفاه الله وعافاه شفاء لا يغادر سقما بالتوفيق اخى حسين New Microsoft Access Database.rar2 points
-
من رخصت استاذ أحمد الفلاحجى تفضل اخي ازهر عبد العزيز ارجو ان يكون طلبك حسب فهمي Root1000.rar1 point
-
وعليكم السلام اخى @ازهر عبد العزيز اتفضل حاجه كده على قد حالى يمكن تلبى طلبك ووافنى بالنتيجه بالتوفيق اخى TEST1 -ازهر.accdb1 point
-
1 point
-
استبدل كود التصدير بهذا الكود .... DoCmd.OutputTo acOutputTable, "data", acFormatXLS, CurrentProject.Path & "\data.xls", True1 point
-
استاذى ومعلمى الفاضل / @jjafferr الله الله الله عليك يا احد اهرمات الاكسس شرح وافى وممتاز نعم هو المطلوب فى كل شئ حتى انك قرأت تفكيرى وعملت لى التكة الجميلة لتفريغ البيانات والله ياأستاذ جعفر بماذا ادعو لك غير انى اقول لك ربنا يبارك فى علمك ويزيدك ويرحم والديك ويبارك فى اسرتك واولادك ويطيل عمرك كل الاحترام والتقدير لشخصكم الكريم استاذى ومعلمى الفاضل / @أحمد الفلاحجى ماذا تفعل بنا فى الاكسس ماذا انت ياعم انت عبقرى والله يامعلم الاكسس (بضم الميم) ربنا يحفظ ويعطيك على قدر مساعداتك للناس ـ بارك الله فى اولادك ان كان عندك اولاد ويعطيك البركة والصحة بصراحة طريقتين فى الحل احلى من بعض واصبحت محتار ايهما اختار وان اخترت يصعب على ان اترك الآخر ربنا يبارك لكم ويزيدكم من علمه اساتذه بمعنى الكلمة علم وخلق واحترام ومهارة ربنا يحفظكم كل الاحترام والتقدير لكما وكل عام وانتم بخير وجميع الاخوان والامة العربية كلها1 point
-
1 point
-
1 point
-
طريقة ولا اروع من ذلك جعله الله فى ميزان حسناتك تسلم على هذا المجهود هو المطلوب بالفعل وفكره SUB FORM جميله الف الف شكر ياغالى وكل سنه وحضرتك طيب واسرة المنتدى الغالى بالخير ورمضان كريم عليكم جميعا1 point
-
1 point
-
اساتذي الافاضل 🙂 ومن هذا الرابط : تم التوصل الى المرفق 🙂 كود النموذج : Private Sub cmd_Dates_Search_Click() Me.Requery End Sub Private Sub Command24_Click() Me.x = Null Me.STR = Null Me.ind = Null Me.Requery End Sub Private Sub ind_DblClick(Cancel As Integer) Me.ind = Null Me.Requery End Sub Private Sub STR_DblClick(Cancel As Integer) Me.STR = Null Me.Requery End Sub Private Sub x_AfterUpdate() Me.Requery End Sub Private Sub x_DblClick(Cancel As Integer) Me.x = Null Me.Requery End Sub . وهذا الاستعلام الذي اصبح مصدر بيانات النموذج : . SELECT t1.id, t1.nume, t1.vactiondate, t1.manger FROM t1 WHERE (((t1.vactiondate) Between (IIf(Len([Forms]![f1]![STR] & '')=0,#1/1/1900#,[Forms]![f1]![STR])) And (IIf(Len([Forms]![f1]![ind] & '')=0,#1/1/2900#,[Forms]![f1]![ind]))) AND ((t1.manger)=IIf(Len([Forms]![f1]![x] & "")=0,[manger],[Forms]![f1]![x]))); . وفي البرنامج تكة صغيرة اضفتها ، وهي لما تريد تفرغ بيانات اي من حقول البحث ، انقر على الحقل مرتين 🙂 جعفر 1210.فلترة.accdb.zip1 point
-
استاذى وخير منقذ / @أحمد الفلاحجى ابو بسمله بارك الله فيك ورزقك اوضح لحضرتك اكثر المطلوب : عند فتح النموذج تظهر جميع الاسماء اسفل النموذج وكأنه رئيسى وفرعى عند اختيار من الكمبوكس اسم المدير يظهر فى الاسفل الموظفين التابعين لهذا المدير عند اختيار الفترة بين التاريخين يظهر بالاسفل الموظفين التابعين للمدير الذى اسمه في الكمبوبكس خلال الفترة المحددة بين التاريخين عند البحث عاما بدون اختيار اسم المدير ونحدد فترة معينة يظهر جميع الموظفين خلال هذه الفترة فقط بدون مدير محدد وايه رايك لو اضفنا الجزء السفلى في نموذج فرعى يكون الموضوع اسهل ام هكذا احسن معلش ابو بسمله انا عارف انى دائما بتعبك معايا ـ هتعمل ايه قدرك ونصييبك ـ عموما كلنا جالسين فى البيت واسف لتاخرى فى الرد جعلك الله عون لنا1 point
-
1 point
-
1 point
-
وعليكم السلام اتفضل اخى محمد @حلبي لعل هذا ما تريد فلترة.accdb1 point
-
جزاك الله خيرا اخى @عذاب الزمان ع مشاركتك ايانا الحل وجزاه الله خيرا اخى @ابو تراب بارك الله فيكم بالتوفيق اخوانى1 point
-
الاخ احمد الفلاحجي المحترم على ضوء استعلام التوحيد وبالطريقتين التي تفضل بها الاستاذ الرائع ابو تراب ... قمت برفع الشروط من الاستعلام الاصلي في برنامجي ووضعه في جملة SQL مرة شرط التاريخ على استعلام IN ومرة على استعلام OUT لان الشرط الواحد لايفي بالغرض وكما موضح بالمرافق وبالطريقتين ... طبعا واجهتني مشكلة اخرى مازلت ابحث عن حلها وهو ظهور الاسماء كارقام اي ياخذ قيمتها الرقمية على الرغم من ان مثال الاخ ابو تراب اظهر الاسماء . TEST_QUERY.accdb1 point
-
فورم اضافة البيانات بعد اختيار الشيت المطلوب احاديث نبوية كل عام وانتم بخير ورمضان كريم الفيديو الملف فورم اضافة البيانات بعد اختيار الشيت المطلوب احاديث شريفة.xlsm1 point
-
تمام عليك وتقدر تخليه ياخذ اسم المدينه من كمبو ثاني كمتغير افضل من تثبيت المدينه هذا والعفو والشكر موصول للاخوه اللي ماقصرو تحياتي1 point
-
عليكم السلام يمكنك ذلك وبكل يسر وسهولة فقط عند كل عملية ادخال او كل سجل جديد يتم تسجيله يتم ايضا ادراج معرف المستخدم في حقل خاص من حقول هذا السجل هنا يأتي دور الاستعلام في التصفية والعرض المعيار في الاستعلام سيكون دالة او وحدة نمطية عامة تأخذ قيمتها من معرف المستخدم عند الدخول للبرنامج1 point
-
1 point
-
جرب هذا الماكرو Option Explicit Sub No_merge() Dim Rg As Range, My_Cell As Range Dim My_val, n%, m% Set Rg = Range("B4:I9").CurrentRegion For Each My_Cell In Rg If My_Cell.MergeCells Then My_val = My_Cell.Value n = My_Cell.MergeArea.Rows.Count m = My_Cell.MergeArea.Columns.Count My_Cell.UnMerge With My_Cell.Resize(n, m) .Value = My_val .Borders.LineStyle = 1 End With End If Next My_Cell End Sub DEl_Merge.xlsm1 point
-
1 point
-
وعليكم السلام-اخى الكريم طالما انك لم تقم برفع ملف فكان عليك استخدام خاصية البحث بالمنتدى فبه ما تريد وتطلب... تفضل حماية ملف الاكسل من النسخ كود لمنع النسخ ومنع الحفظ بإسم منع النسخ والقص واللصق تغيير إسم المصنف وكليك يمين1 point
-
لقد قمت بعمل قائمة منسدلة ديناميكية لك بكل الأرقام القومية الموجودة فقط عليك إختيار الرقم من القائمة ... وهذا بالطبع أسهل بكثير لك كشف_المحتاجين_3.xlsm1 point
-
الحمدلله الذى بنعمته تتم الصالحات ارجو منك ذكر الحل حتى يستفاد اخوانك الذين يمرون عالموضوع فربما ياتى اخ له نفس الحاجه فيجد الاجابه وتنول الاجر والثواب ودعوه صالحه بارك الله فيك وجزاك الله كل خير تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق1 point
-
1 point
-
1 point
-
بسم الله الرحمن الرحيم احبابنا في الله ادعو الله ان تكونوا بخير وبعد : هذا ملف به اكواد جمعتها وهذبتها لتكون مرجعا لمن اراد كودا من اكواد الترحيل او الاستدعاءات *** ففيه كود استدعاء بيانات صفحه لصفحه اخرى بشرط والشرط موجود في الخليه C1 في هذه الصفحه === *** وفيه كود استدعاء اعمده معينه بدون شرط ==== وفيه كود استدعاء اعمده معينه بشرط داخل الكود === وفيه كود استدعاء اعمده معينه بشرطين من خارج الكود === وفيه كود استدعاء بيانات اعمده معينه بشرطين موجودين داخل الكود وكل كود في صفحه واسطره مشروحه حتى يسهل فهمها وتطويعها لملفاتكم جزاكم الله خيرا إدعوا لكل من كانت له بصمه في هذا العمل بالخير المرجع في الاستدعاءات والترحيل.rar1 point
-
1 point
-
السلام عليكم تم طرح عدة اسئلة عن طريقة فرز او تصفية بيانات النموذج ، وسأقوم هنا بشرح الطريقتين: 1. إما عن طريق الاستعلام ، وهذا الرابط يعطينا المثال (والرجاء قراءته بتريث وتمعن وبالتفصيل) : 2. وإما عن طريق النموذج ، فميزتها: أ- انك تستطيع عمل تصفيه/تصفيات اضافية على النموذج او التقرير ، بعد تصفية الاستعلام ، ب- الاكسس سيعطيك الكود وسأشرح هنا كيفية عمل تصفية بيانات النموذج (وبنفس الطريقة يمكن عمل اكثر من تصفية ، وعمل فرز كذلك) : سأستعين بمرفق السؤال التالي للأخ محمد ، وبعد طلبت إذنه 1. قاعدة البيانات يجب ان تسمح لها ان تكون في وضع Layout View (هذا فقط حتى نتعلم الطريقة ، ويمكن الغاءه فيما بعد) ، . 2. النموذج يجب ان يكون غير منبثق . 3. هذا النموذج الذي نريد ان نعمل له تصفية بين تاريخين للحقل Date . 4. الهدف النهائي هو استخدام هذا الحقل لإدخال تاريخ معين ، ثم الضغط على زر "تصفية بين تاريحين" للقيام بالتصفية . 5. طريقة العمل: أ. بزر الفأرة اليمين نضغط في بيانات حقل التاريخ Date ، ب. ونختار تصفية التاريخ (السبب ان الاكسس اعطانا تصفية التاريخ هو لأن الحقل حقل تاريخ ، فلو كان الحقل نص او رقم لأعطانا الاكسس خيارات اخرى) ، ج. ونختار بين تاريخين (طبعا يمكنك اختيار اي من الاختيارات الاخرى ، وهذا يعتمد على التصفية التي تريد القيام بها) . د. تخرج لنا نافذة تطلب إدخال التاريخين (ويمكننا ادخال التاريخ بعدة طرق) ، وحسب اختيارنا ، والنتيجة المفروض ان نراها بعد التصفية هي السجلات بالاسهم الحمراء فقط . هـ. وهذه نتيجة التصفية اعلاه بين تاريخين . ح. والآن الى شرح كيفية الاستفادة مما عملناه اعلاه وتطبيقه في كود ، ننتقل بالنموذج الى وضع Layout View . ط. ونضغط بالفأرة اليسار على النموذج الفرعي الذي عملنا عليه التصفية ، ي. ثم ننظر في اعدادات النموذج ، الى ان نصل الى التصفية ، فنرى الكود الذي استعمله الاكسس للقيام بالتصفية ، فنعمل له نسخ ، ومثل ما اشرت اعلاه ، يمكننا اضافة اكثر من تصفية لأكثر من حقل ، ويمكن عمل فرز لحقل آخر ، ثم نرى الكود جاهزا هنا . ك. هذا الزر الذي سننقر عليه للقيام بالتصفية . ل. فنعمل الحدث على نقر الزر ، ثم نلصق الكود السابق ، ونقوم بتعديل التواريخ بما يناسب طلبنا ، وهو التصفية بين: تاريخ الحقل DateX و تاريخ الحقل DateX ناقصا 65 يوم ، او كما بالتواريخ في الملاحظات (باللون الاخضر في الكود) (ملاحظة مهمة للعلم: الاكسس يستخدم نظام التاريخ الامريكي في جميع عملياته ، والتاريخ الامريكي هو شهر/يوم/سنة ، كما نرى في كود التصفية) . م. وهنا نرى نتيجة النقر على زر "تصفية بين تاريخين" ، والذي يستعمل الكود اعلاه . ****************************************** اما اذا اردنا عمل استبعاد معلومة مثل "الاسكندرية" من قائمة Country . فيصبح الكود . ************************** الآن سنقوم بعمل اكثر من تصفية ، فرز بين تاريخين واستبعاد "الاسكندرية" فرزنا بين التاريخين ، وكانت نتيجته هكذا . واستبعاد معلومة مثل "الاسكندرية" من قائمة Country . فيصبح كود التصفية هكذا . والآن الى الكود الذي يضم هذه التصفيات: يجب ان نعرف اننا نتعامل مع مجموعة مختلفة من انواع الحقول ، وكل نوع له طريقة في عمل الكود ، فالسطر الاول هو تاريخ ، والسطر الثاني للنص ، ووضعت مثال في آخر سطر لحقل الرقم Dim City As String City = "اسكندرية" 'للتاريخ myCriteria = "([testQ].[datex] between #" & Me.DateX & "# and #" & Me.DateX - 65 & "#)" 'للنص myCriteria = myCriteria & " AND ([testQ].[country1]<> '" & City & "'" myCriteria = myCriteria & " or [testQ].[country1] is null)" 'للرقم 'myCriteria = myCriteria & " AND [testQ].[ID]<> " & Me.ID Me.TestF.Form.Filter = myCriteria Me.TestF.Form.FilterOn = True *********************************** كيف نعرف ان النموذج به تصفية: عند عمل التصفية في النموذج (وليس من الاستعلام) ، ستلاحظ ان النموذج يخبرك انك عملت تصفية ، هكذا بالتظليل الاصفر: . ولإزالة التصفية ، يجب عليك النقر على احد هذين المكانين المظللين بالاصفر ، او عمل زر: . والكود على نقر الزر سيكون: Me.TestF.Form.Filter = "" Me.TestF.Form.FilterOn = False جعفر 660.2.Test2006.mdb.zip1 point
-
السلام عليكم ورحمة الله أخي الكريم ابن مصر، معادلة رائعة جدا جازاك الله خيرا وتقول "لربما تفي بالغرض" بل وتفي بالغرض حتما... وأقدم تبسيطا للمعادلة (في الخلية E2 مع تأكيدها معادلة صفيف ثم سحبها إلى الأسفل)... أخوكم بن علية المعادلة المبسطة : =SUM(IF(FREQUENCY(IF($A$1:$A$1000=$D2, MATCH($B$1:$B$1000,$B$1:$B$1000,0)),ROW($1:$1000)),1))1 point
-
اخى الفاضل جرب هذه المعادلة لربما تفي بالمطلوب .. مع ملاحظة انها معادلة صفيف اى لابد من الضغط CTRL+SHIFT+ENTER =SUM(IF(FREQUENCY(IF($B$2:$B$100<>"",IF($A$2:$A$100=$D2, MATCH("~"&$B$2:$B$100,$B$2:$B$100&"",0))), ROW($B$2:$B$100)-ROW($B$2)+1),1)) مرفق الملف للتوضيح تحياتي count.rar1 point
-
اخى عبد الرحمن تفضل كود اخر يقف على اول خليه فارغه Sub H() Range("B" & [B10000].End(xlUp).Row + 1).Select End Sub كما يمكن ايضا استخدام هذا الكود Book1.rar1 point