نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/03/20 in مشاركات
-
بسم الله الرحمان الرحيم و الصلاة و السلام على أشرف المرسلين أما بعد: سوف نقوم اليوم إن شاء الله بشرح أداة WebBrowser وأهم ما يتعلق بها من أوامر و أحداث و خصائص و إدخال و إخراج. و سوف يتم تقسيم هذا العمل إلى مجموعة حلقات نبدأ من الصفر حتى آخر نقطة نستطيع الوصول إليها إن شاء الله مع وضع مثال تطبيقي لكل حلقة. مقدمة: WebBrowser هي أداة تعمل عمل أي متصفح و هي مقترنة المتصفح الشهير Internet Explorer فهي تساعدك في تصفح المواقع من ناحية و التحكم في أكواد HTML وكل ما يرتبط بها من إدخال و استخراج بيانات من ناحية أخرى. ملاحظة: لتشغيل هذه الأداة بشكل جيد يجب تحديث المتصفح الشهير Internet Explorer إلى الإصدار 10 أو 11. مع العلم أن ونداوز 10 به الإصدار 11 الحلقة الأولى: أكواد التصفح سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من التصفح و التنقل داخل الأداة. 1- كود فتح صفحة موقع: WebBrowser3 هو اسم الأداة داخل النموذج Me.WebBrowser3.Navigate ("رابط الصفحة كامل") 2- كود فتح صفحة فارغة: Me.WebBrowser3.Navigate ("about:blank") 3- كود الرجوع للصفحة السابقة: Me.WebBrowser3.GoBack 4- كود الإنتقال للصفحة التالية: Me.WebBrowser3.GoForward 5- كود إعادة تحميل الصفحة: Me.WebBrowser3.Refresh 6- كود إيقاف تحميل الصفحة: Me.WebBrowser3.Stop 7- كود إستخراج رابط الصفحة الحالية: MsgBox Me.WebBrowser3.Document.url و هذا مثال لما تم ذكره في هذه الحلقة webbroser.rar6 points
-
الحل الاسهل نقوم بنسخ الجدول الموجود به السجلات المكررة نقوم بلصقة في نفس القاعدة ومن الاختيارات التي سوف تظهر لنا نختار البنية فقط نقوم بالدخول على خصائص الجدول الجديد في خانة الاسم في حالتناونجعلة مفتاح اساس لايقبل التكرار نقوم بعمل استعلام الحاق لكافة البيانات نقوم بتشغيل الاستعلام ونتجاهل ايرسالة خطأ بعد انتهاء تنفيذ الاستعلام سوف نجد انالاسماء المكرر حذفت من الجدول الجديد نقوم بحذف البيانات من الجدول القديم ونستبدلها بالبيانات الغير مكررة ويمكن تنفيذ ذلك يدويا او باستعلام دائما وابدا نحتفظ بنسخة احتياطية قبل تنفيذ ماسبق رتبت لك الخطوات للتسهيل مع الشكر لاخي احمد على جهوده3 points
-
جرب المرفق Database751.accdb هههههه اخي احمد نفس الفكرة بعد التحديث للحقل [نص0] = Format([نص0], "00/00/0000")3 points
-
انتظرت ردك اخي الكريم فان كنت تقصد تحديد الاسم الاول في القائمة عن الضغط على الزر فاليك الامر التالي Me.txtliste3.Selected(0) = True تحياتي3 points
-
جرب هذا الكود Option Explicit Sub give_data() Dim ARR_P, P As Worksheet, D As Worksheet Dim MY_RG As Range, MY_NAME$, R%, i% ARR_P = Array(4, 6, 9, 2, 16, 15, 17, 13, 14, 7, 8, 3, 18, 19) Set P = Sheets("Principal"): Set D = Sheets("DATA") P.Cells(7, "C").Resize(14) = vbNullString MY_NAME = P.Range("A3") Set MY_RG = D.Range("B3").CurrentRegion If MY_RG.Columns("E").Find(MY_NAME, lookat:=1) Is Nothing Then Exit Sub R = MY_RG.Columns("E").Find(MY_NAME, lookat:=1).Row For i = 0 To UBound(ARR_P) P.Cells(7, "C").Offset(i).Value = D.Cells(R, ARR_P(i)) Next Erase ARR_P End Sub الملف مرفق Data_base.xlsm3 points
-
تفضل اخي الكريم تم انشاء استعلام من داخل الفورم وبناءا على الاستعلام يتم خروج التقرير المطلوب بناءا على طلبك برنامج غيابات وحضور الطلاب الالكتروني بواسطة الباركود.rar3 points
-
الشكر لله ثم لاخواننا واساتذتنا وبلاش كلمه سيدى خليها اخى افضل فكلنا اخوان فالله ممكن تحوله ل 2003 وتشتغل عليه ثم تستورد الجدول بعد ما تخلص شغلك وان شاء الله احد اساتذتنا يوفرلك حلول اخرى تقبل تحياتى وتمنياتى لك بالتوفيق وممكن تجرب الحل اللذى فالرابط الذى اشار لك به اخى خالد بالاعلى وهو من استاذنا الجليل ابو خليل2 points
-
2 points
-
الشكر لله اولا ثم لاخواننا واساتذتنا جزاهم الله خيرا عنا بالاضافه الى ما ذكره اخى ابو البشر - يجب عليك مراعاه وضع عنوان مناسب للموضوع مثلا كيفيه حذف اسماء مكرره سؤال هل لهذه الاسماء كود مميز ام لا ؟ حتى يسهل عليك الفرز والحذف لان وجود مسافات زائده او تشابك لن يعتبر تشابه فالاسماء تقبل تحياتى درس حذف السجلات المكررة من الجدول اسهل طريقة - بدون استعلامات.rar2 points
-
اخي @rey360 اذا كان فهمي لطلبك صحيح فان الاستاذ محمد اعطاك حل صحيح جرب الملف المرفق test(5).accdb2 points
-
وعليكم السلام ورحمه الله وبركاته مجرد فكره اجعله حقل نصى عادى ثم عند الخروج من الحقل او حدث بعد التحديث استخدم الخاصيه format فى محرر الاكواد لجلعه بتنسيق التاريخ تقبل تحياتى2 points
-
السلام عليكم اخي صالح 🙂 شو اللي جاب هذا الموضوع على بالك بعد حوالي سنتين جعفر2 points
-
2 points
-
السلام عليكم أستاذ أحمد الفلاحجى ما اسم الكتاب؟ أما بنسبة للاستاذ عبد الفتاح كيرة فهذا الموقع يعطيك الكثير من الكتب بالانجليزية أرجو أن ينفعك https://b-ok.cc/s/sql2 points
-
2 points
-
السلام عليكم جرب المرفق لعل فيه ما تريد بعد تعديل طفيف على كود الأخ حسين مامون... TEST_2.xls2 points
-
الاخوة اعضاء المنتدى العظيم بمناسبة تجديد المنتدى بثوبه الجديد نتعرف على موضوع الدوال بطريقة بسيطة تكملة لموضوع كيفية تصميم شيت بالاكسل الذى تم تنفيذه سابقا ارجو ان ينال رضاكم الدوال الدوال هى أوامر تقوم بتنفيذ مهام معينة وتتم كتابتها داخل الخلايا المختلفة لورقة العمل ويمكن تقسيم الدوال الى ست مجموعات كما يلى 1 الدوال العامة 2 الدوال المالية 3 الدوال الرياضية 4 الدوال الحرفية 5 الدوال الخاصة بالتاريخ والوقت 6 دوال قاعدة البيانات تعال معا نتعرف على كيفية البحث عن الدوال المختلفة الموجودة بالاكسل كيفية استخراج الدالة.rar2 points
-
الحل استبدل الماكروات الى هذه Option Explicit Sub Edit_data() Dim Source_rg As Range Dim Find_rg As Range Dim r# Union(Range("b8:l8"), Range("c9:l9")).ClearContents Dim lra#: lra = Me.Cells(Rows.Count, 1).End(3).Row Set Source_rg = Me.Range("a12:M" & lra) Set Find_rg = Source_rg.Find(Me.Range("D6"), Lookat:=1) If Find_rg Is Nothing Then MsgBox "'This Number Does't Exists" Exit Sub End If r = Source_rg.Find(Me.Range("d6")).Row With Me.Range("b8") .Value = Cells(r, 2): .Offset(, 1) = Cells(r, 3): .Offset(, 2) = Cells(r, 4) .Offset(, 3) = Cells(r, 5): .Offset(, 4) = Cells(r, 6): .Offset(, 5) = Cells(r, 7) .Offset(, 6) = Cells(r, 8): .Offset(, 7) = Cells(r, 9): .Offset(, 8) = Cells(r, 10) .Offset(, 9) = Cells(r, 11): .Offset(, 10) = Cells(r, 12) .Offset(1, 1) = Cells(r, 13) End With End Sub '+++++++++++++++++++++++++++++++++++++++++++ Sub ADD_data() Dim Source_rg As Range Dim Find_rg As Range Dim r# Dim lra#: lra = Me.Cells(Rows.Count, 1).End(3).Row Set Source_rg = Me.Range("a12:M" & lra) Set Find_rg = Source_rg.Find(Me.Range("d2"), Lookat:=1) If Find_rg Is Nothing Then MsgBox "'This Number Does't Exists" Exit Sub End If r = Find_rg.Row '======================================== With Me.Range("b4") Cells(r, 2) = .Value: Cells(r, 3) = .Offset(, 1): Cells(r, 4) = .Offset(, 2) Cells(r, 5) = .Offset(, 3): Cells(r, 6) = .Offset(, 4): Cells(r, 7) = .Offset(, 5) Cells(r, 8) = .Offset(, 6): Cells(r, 9) = .Offset(, 7): Cells(r, 10) = .Offset(, 8) Cells(r, 11) = .Offset(, 9): Cells(r, 12) = .Offset(, 10): Cells(r, 13) = .Offset(1, 1) End With End Sub '++++++++++++++++++++++++++++++++++++++++++++++++ Sub Ta3dil() Dim Source_rg As Range Dim Find_rg As Range Dim r# Union(Range("B4:L4"), Range("C5:L5")).ClearContents Dim lra#: lra = Me.Cells(Rows.Count, 1).End(3).Row Set Source_rg = Me.Range("a12:M" & lra) Set Find_rg = Source_rg.Find(Me.Range("D2"), Lookat:=1) If Find_rg Is Nothing Then MsgBox "'This Number Does't Exists" Exit Sub End If r = Source_rg.Find(Me.Range("D2")).Row With Me.Range("b4") .Value = Cells(r, 2): .Offset(, 1) = Cells(r, 3): .Offset(, 2) = Cells(r, 4) .Offset(, 3) = Cells(r, 5): .Offset(, 4) = Cells(r, 6): .Offset(, 5) = Cells(r, 7) .Offset(, 6) = Cells(r, 8): .Offset(, 7) = Cells(r, 9): .Offset(, 8) = Cells(r, 10) .Offset(, 9) = Cells(r, 11): .Offset(, 10) = Cells(r, 12) .Offset(1, 1) = Cells(r, 13) End With End Sub اضافة عبارة LookAt:=1 الى كل العبارات التي تحتوي على Set Find_rg الملف من جديد T-2019_Salim_new.xlsm2 points
-
السلام عليكم و رحمة الله تعالى وبركاته إخوتي الكرام حياكم الله. بعد نزع خاصية انشاء شريط القوائم بالأكسس في النسخ بعد 2003 أصبح هناك عائق كبير في إضافة هذه الأشرطة و لأنه يتوجب عليك العمل على ملف 2003 أو استعمال Ribbon بلغة Html و هي أصعب من الفكرة الأولى. مما جعلني أفكر في طريقة تجعلنا نستغني عن هذه الطرق المرهقة بعض الشيء. و قمت بتصميم برنامج يستطيع أن يضيف شريط قوائم للنموذج الرئيسي لقاعدة البيانات مهما كانت نسختها 2003 أو النسخ التي تأتي بعدها. نبدأ على بركة الله في شرح البرنامج: بعد فتح البرنامج نتبع الخطوات التالية: 1 - أكتب اسم القوائم التي تريد أن تضيفها مع وضع رقم كل قائمة بالترتيب (1,2,3,....و هكذا) 2- أضف العناصر أو الأوامر التي تندرج تحت كل قائمة في النموذج الفرعي رقم العنصر , تسمية العنصر ثم الكود الذي تريد أن ينفذه هذا العنصر 3- أختر قاعدة البيانات سواءا كانت 2003 أو ما بعدها ثم اختر اسم النموذج الذي تريد أن تضيف له الشريط 4- قم بالضغط على زر "إنشاء الشريط" 5- افتح قاعدة بياناتك و أنظر للشريط المضاف حتى لو كان النموذج منبثق و شاشة الأكسس مخفية سوف ترى الشريط شروط استخدام البرنامج: 1- قبل البدئ أحفظ نسخة إحتياطية من قاعدة بيانات 2- يجب أن لا يكون لديك في قاعدة بيانات نماذج بهذه الأسماء : list1,list2,list3..... و هكذا 3- يجب أن يكون حدث عن النقر للنموذج الرئيسي خال من أي كود 4-بعد الإنتهاء أدعولي و لوالدي و لعائلة بالخير و الصلاح. هذا هو البرنامج انشاء شريط قوائم.rar1 point
-
السلام عليكم 🙂 هناك الكثير من الميزات/الاوامر التي يعطينا برنامج الاكسس ، والتي يمكن ان نعمل لها بديل ، ولكن يكون هناك فرق في سرعة تنفيذ كودنا مقارنة مع الكود الاصل من الاكسس !! مثل القائمة المختصرة التي تظهر لنا بالنقر على زر الفأرة الايمن ، والتي بها يمكننا ان نستغني عن الكثير الاوامر ، مثل الفرز والتصفية بأنواعه ، ولكن وللأسف الشديد ، فأنا ارى ان 99.99% من البرامج ، يتم حذف هذه القائمة وعدم تفعيلها ، والسبب ان المستخدم يستطيع ان يدخل في تصميم النموذج من خلال هذه الاوامر(في الدائرة الحمراء) : و . ويضطر المبرمج ان يعوض بقية الاوامر في القائمة ، بمجموعة من الازرار ، او بطرق مختلفة !! ----------------------------------------------------------------------------------------------- الاكسس يسمح لنا ان نعمل قوائم مختصرة Shortcut Menu والتابعة لمجموعة CommandBars ، حسب احتياجنا ، ونختار ما نضعه فيها 🙂 هناك 3 انواع من هذه القوائم : الثابته ، والمؤقته ، والمؤقته التي تحتاج الى كود. الثابته: وهي التي عندما نعملها ، تصبح مستقله عن الكود ، وتُحفظ وتبقى في قاعدة البيانات بعد إغلاقها ، ويمكننا ان نستوردها في قاعدة بيانات اخرى عندما نستورد احد/جميع كائنات قاعدة البيانات الآخرى ، بإستخدام : . ونختارها في النموذج : . او التقرير : . هذا مثال لعمل الكود الاساس لعمل قائمة قطع/نسخ/لصق : Option Compare Database Option Explicit Dim cmb As Object Dim cmbCtrl As Object Dim cmbName As String ' ' ' to use: ' Dim cbr As Commandbar ' Dim cbrButton as CommandbarControl ' ' we have to select in the References: ' Microsoft Office xx.x Object Library ' Public Function SCM_Copy(Optional DeleteMe As Boolean = False) On Error Resume Next 'If menu with same name exists delete cmbName = "cmb_Copy" CommandBars(cmbName).Delete If DeleteMe = True Then Exit Function If Err.Number <> 0 Then Err.Clear Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, False) With cmb .Controls.Add msoControlButton, 21, , , False ' Cut .Controls.Add msoControlButton, 19, , , False ' Copy .Controls.Add msoControlButton, 22, , , False ' Paste End With Set cmb = Nothing End Function . وشرح الكود : 1. اسم القائمة المختصرة ، والتي سوف نختارها في النموذج او التقرير ، 2. هذه المجموعة الاساس منبثقة Popup ، 3. بينما هذه المجموعات عبارة عن ازرار Buttons ، وقد تكون قائمة منسدلة Combobox ، او نص Edit نُدخل فيه قيمة معينة للتصفية مثلا ، 4. هل هذه القائمة مؤقته ؟ False معناها ثابته وتُحفظ في قاعدة البيانات ، بينما True معناها انها مؤقته وتعمل لما ننادي الوحدة النمطية/الكود ، 5. هذه ارقام كل امر ، وملف الاكسل المرفق من مايكروسوفت فيه جدول يضم جميع ارقام الاوامر للاكسس 2010 () ، 6. اذا اردنا ان نحذف هذه القائمة ، فننادي الوحدة النمطية بضم True في امر المناداة المؤقته: ونستعمل True في مكان الرقم 4 اعلاه. وهي التي عندما نعملها ، لا تصبح مستقله عن الكود ، ولا تبقى في قاعدة البيانات بعد إغلاقها ، ولا يمكننا ان نستوردها في قاعدة بيانات اخرى عندما نستورد احد/جميع كائنات قاعدة البيانات الآخرى (كما هو الحال مع القائمة الثابته) ، ويجب ان نستخدم "حدث فتح" النموذج/التقرير لعملها واستخدامها في النموذج/التقرير ، و "حدث اغلاق" النموذج/التقرير لحذفها ، طيب ، خلونا نعمل هذه القائمة : Public Function SCM_Copy_Sort(Optional DeleteMe As Boolean = False) On Error Resume Next 'If menu with same name exists delete cmbName = "cmb_Copy_Sort" CommandBars(cmbName).Delete If Err.Number <> 0 Then Err.Clear Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, False) With cmb Set cmbCtrl = .Controls.Add(msoControlButton, 21, , , False) ' Cut cmbCtrl.Caption = "Cut..." cmbCtrl.FaceId = 21 Set cmbCtrl = .Controls.Add(msoControlButton, 19, , , False) ' Copy cmbCtrl.Caption = "Copy..." cmbCtrl.FaceId = 19 Set cmbCtrl = .Controls.Add(msoControlButton, 22, , , False) ' Paste cmbCtrl.Caption = "Paste..." cmbCtrl.FaceId = 22 Set cmbCtrl = .Controls.Add(msoControlButton, 210, , , False) 'Sort Ascending cmbCtrl.BeginGroup = True cmbCtrl.Caption = "فرز تصاعدي..." cmbCtrl.FaceId = 210 Set cmbCtrl = .Controls.Add(msoControlButton, 211, , , False) 'Sort Decending cmbCtrl.Caption = "فرز تنازلي..." cmbCtrl.FaceId = 211 End With Set cmb = Nothing End Function . وشرح الكود: احنا توسعنا في الكود الاساسي ، واضفنا له : 1. تسمية اختيارية غير الافتراضية ، لاحظ في الصورة اعلاه اني استعملت الانجليزي والعربي ، 3. وهو لعمل خط فاصل في الصورة بين مجموعة قطع/نسخ/لصق ومجموعة فرز تصاعدي/تنازلي ، . 2. ممكن ان نبدل الصورة الافتراضية التي تيجي مع الرقم ، بتبديل هذا الرقم (لاحظ صورة الاسهم للتصاعدي/التنازلي) : . ومرفق ارقام جميع الصور الموجودة في الاكسس : . . . . . . . . . . . في قاعدة البيانات المرفقة myRight_Click.mdb ، بالاضافة الى القوائم الثابته اعلاه ، تم اضافة هذه القائمة ايضا : . والتقرير يحتوي على القائمة المؤقته التالية : . - ملف الاكسل myList.xlsx ، اخترت فيه اهم القوائم في وجهة نظري ، - ملف الاكسل AccessControls_2010.xlsx ، من مايكروسوفت ، يحتوي على جميع الاوامر 🙂 جعفر المصادر: http://dev-soln.com/access-shortcut-right-click-tool/ https://www.experts-exchange.com/articles/12904/Understanding-and-using-CommandBars-Part-II-Creating-your-own.html https://filedb.experts-exchange.com/incoming/2014/02_w06/833359/CommandBars-II.mdb https://www.experts-exchange.com/articles/18341/CommandBars-Part-III-Using-Built-in-Shortcut-Menus.html http://www.skrol29.com/us/vtools.php AccessControls_2010.xlsx myList.xlsx myRight_Click.zip1 point
-
جرب المرفق DoCmd.RunSQL "DELETE * FROM table1 WHERE key NOT IN ( SELECT min(key) FROM table1 GROUP BY FirstName, Address2)" حذف السجلات المكررة.mdb1 point
-
جرب الان STOCK.accdb باقي التقارير اجعلها منبثق نعم مشروط نعم ثم في امر فتح التقرير اضف امر تكبير1 point
-
وده مثال اخر لحذف مش اخفاء انتبه تحدد فيه الجدول والحقل المراد وتنفذ وبه ملف شرح فيديو + رابط تقبل تحياتى وبالتوفيق برنامج لحذف الحقول المكرره ببرنامجك مفتوح المصدر.rar1 point
-
1 point
-
1 point
-
عند اخفاء نوافذ اكسس حول جميع النماذج والتقارير الى منبثق ومشروط وسوف تعمل ان شاء الله1 point
-
1 point
-
استاذنا الفاضل يبدو انك نسيت ارفاق الملف في انتظارة للتعلم والاستفاذة شكرا على ارفاق الملف1 point
-
جرب هذا الكود تم تغيير اسماء الشيتات الى اللغة الاجنبية لسهولة التعامل مع الكود من حيث النسخ واللصق Option Explicit Private Sub Worksheet_Activate() FIL_CDATA_VAL End Sub '++++++++++++++++++++++++++++++++++++++++++++++++ Sub FIL_CDATA_VAL() Dim i As Long: i = 8 Dim DIC As Object Set DIC = CreateObject("Scripting.Dictionary") Do Until Sheets("DATA").Range("C" & i) = vbNullString DIC(Sheets("DATA").Range("C" & i).Value) = "" i = i + 1 Loop With Sheets("RESULT").Range("k5").Validation .Delete .Add 3, Formula1:=Join(DIC.KEYS, ",") End With Set DIC = Nothing End Sub '++++++++++++++++++++++++++++++++++++++++ Sub GET_CERTIFICAT() Dim dat As Worksheet, RES As Worksheet Dim Num%, k%, R, i%, Found_Ro%, Ro%: Ro = 8 Dim FOUND_RG As Range Dim n: n = 3 Dim arr Set dat = Sheets("DATA"): Set RES = Sheets("RESULT") Union(RES.Range("c5"), RES.Range("c19"), RES.Range("c33")) = vbNullString Union(RES.Range("c8:k9"), RES.Range("c22:k23"), RES.Range("c36:k37")) = vbNullString Num = RES.Range("K5") arr = Array(2, 5, 7, 9, 11, 13, 15, 17, 19, 21) For k = 1 To n Set FOUND_RG = dat.Range("a8").CurrentRegion.Columns(3). _ Find(Num, LOOKAT:=1) If FOUND_RG Is Nothing Then Exit Sub R = FOUND_RG.Row RES.Cells(Ro - 3, 3) = dat.Cells(R, arr(0)) For i = 1 To UBound(arr) With RES.Cells(Ro, 3).Offset(, i - 1) .Value = dat.Cells(R, arr(i)) .Offset(1) = dat.Cells(R, arr(i) + 1) End With Next RES.Cells(Ro + 2, 3) = dat.Cells(R, 23) Num = Num + 1: Ro = Ro + 14 Next End Sub الملف مرفق RESULT.xlsm1 point
-
شرح كيفية عمل صورة شفافة لادخالها فى فورم الاكسل الفيديو1 point
-
بارك الله فيكم استاذنا / @kha9009lid واستاذنا / @خالد سيسكو وجزاكم الله كل خير دائما تقدمون يد العون للاخرين الاستاذ / @سامر1972 المثالين يعملون جيدا حاول ان تحملهم مرة تانية يمكن يكون السبب من عند حضرتك .1 point
-
السلام عليكم تحية طيبة النظام جاهز فقط باقي تعديلات بسيطة يجب اضافة تقري خاص بطباعة هويات الطلاب حسب المحدد مثلا طالب واحد او مجموعة من الطلاب . المشكلة الثانية الموجدة هي عند ادخال الطلاب الحضور حسب الشعبة مثلا شعبة ج يكون عددهم مثلا 3 اما فعليا هم عدهم 2 يجب عند اكمال ادخال الطلاب يخرج تقرير يوضح ان عد الطلاب الكلي للشعبة هم 3 اما الحضور هم 2 اما الغياب هو 1 ويخرج تقري باسماء الطلاب الحضور والغياب . شكرا لكم جميعا انتضر اجابتكم الفارس برنامج غيابات وحضور الطلاب الالكتروني بواسطة الباركود.rar1 point
-
وعليكم السلام ورحمة الله وبركاته اخي الكريم للبحقث بالاسم استخدم الكود التالي mySQL = "Select * From Clients" 'بحث nomComplet mySQL = mySQL & " WHERE nomComplet = '" & Me.Texte2.Value & "'" Me.txtliste3.RowSource = mySQL Me.txtliste3.Requery للبحث بالرقم استخدم الكود التالي mySQL = "Select * From Clients" 'بحث idClient mySQL = mySQL & " WHERE idClient = " & Me.Texte2.Value Me.txtliste3.RowSource = mySQL Me.txtliste3.Requery test(5).rar تحياتي1 point
-
1 point
-
لو لاحظت الصفحة الاولى لرأيت انها تحتوي على 20 اسم فقط (قمت بحذف كمية كبيرة من الاسماء لمتابعة عمل الكود والتحقق انه يقوم بالمطلوب ) و لكن اذا نسخت الكود الى ملفك فسوف يعمل على كل الاسماء1 point
-
كنت قد قلت لك سابقاً ارفع تموذج عما تريد ( 10 - 20 سطراً لا أكثر من 2000 صف) ولا تهدر الوقت بامور لا تجدي نفعاً و الان قد اتضحت الصورة اليك الماكرو المناسب (النتيجة في شيت Salim لانه ربما اردت التعديل بعض الشيء على الماكرو) الماكرو يعمل على كل البيانات مهما زاد عدد الصفوف في العامود الاول Option Explicit Sub Merge_cells() Dim Sh As Worksheet, Sa As Worksheet Dim lr_ShA%, i% Dim my_rg As Range Set Sh = Sheets("sheet1"): Set Sa = Sheets("Salim") Sa.Range("A:A").Clear lr_ShA = Sh.Cells(Rows.Count, 1).End(3).Row Sh.Cells(1, 1).Resize(lr_ShA + 1).Copy Sa.Cells(1, 1).PasteSpecial Application.CutCopyMode = False Sa.Cells(1, 3).Select For i = 1 To lr_ShA Step 2 Sa.Cells(i, 1).Resize(2).Merge Next With Sa.Cells(1, 1).Resize(lr_ShA) .VerticalAlignment = 2 .InsertIndent 1 End With End Sub المثال مرفق tajriba.xlsm1 point
-
1 point
-
السلام عليكم حل من الحلين التاليين: الحل1: إلغاء التصفية ثم إضافة ما تريد والمحافظة على الترتيب الأبجدي ثم إعادة التصفية... الحل2: مع التصفية، القيام بإدراج صف فارغ في المكان الصحيح بعد تحديد الصف الذي يأتي بعده بالترتيب الأبجدي (مثلا إضافة الاسم "عادل" القيام بتحديد الصف الذي فيه الاسم "علي") ثم القيام بحجز الاسم المضاف بمعلوماته... غير أن هذه الطريقة لا تضمن أن تترتب القائمة الكلية (ذكور وإناث) أبجديا بعد إلغاء التصفية... ولا أرى حلا آخر للمسألة... بن علية حاجي1 point
-
جرب الملف المرفق والذي عملته سابقا للرد على احد الاعضاء الكرام عند تسجيل المندوب تظهر رسالة ان الاسم مسجل مسبقا مع اختيار اعادة تسجيلة برقم جديد بامكانك التعديل عليه ليحقق طلبك بحث وتصفية.accdb1 point
-
مساهمة مع استاذنا واخي @خالد سيسكو في المرفق نموذج بسيط كنت قدم عملتة ردا على الدكتور الفاضل @حلبي لحساب العمر بالسنوات ادخل سنة الميلاد يحسب سنوات العمر او ادخل العمر يتم تحديد سنة الميلاد حساب العمر بالسنة(1).accdb1 point
-
الموضوع قديم اكثر من سنتين وكان الافضل وضع موضوع جديد مع ذلك اليك الخطوات مرتبة بالصورة في ملف بي دي اف Doc1.pdf1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
الاستاذ القدير خالد سيسكو قدم الاجابة الصحيحة ومن باب اثراء الموضوع لقيمة خطأ في الحقل احيانا يكون لدينا حقل في النموذج الرئيسي يستمد قيمتة من خلال قيمة حقل غير منظم في النموذج الفرعي مثلا اجمالي المبيعات لفترة زمنية اكيد توجد اكثر من طريقة لاخذ القيمة ولكن الطريقة الاسهل [q_tax].[Form]![txt23] ولكن عندما لاتكون لدينا سجلات للفترة تكون قيمة الحقل في الرئيسي تساوى خطأ وللتغلب على ذلك يمكن استخدام دالة IsError لتكون بالشكل التالي =IIf(IsError([q_tax].[Form]![txt23]);0;[q_tax].[Form]![txt23]) والنتيجة تكون صفر1 point
-
1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله محاولة في الملف المرفق... بن علية حاجي المثال.xls1 point