بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/03/20 in all areas
-
بسم الله الرحمان الرحيم و الصلاة و السلام على أشرف المرسلين أما بعد: سوف نقوم اليوم إن شاء الله بشرح أداة 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
-
السلام عليكم 🙂 هناك الكثير من الميزات/الاوامر التي يعطينا برنامج الاكسس ، والتي يمكن ان نعمل لها بديل ، ولكن يكون هناك فرق في سرعة تنفيذ كودنا مقارنة مع الكود الاصل من الاكسس !! مثل القائمة المختصرة التي تظهر لنا بالنقر على زر الفأرة الايمن ، والتي بها يمكننا ان نستغني عن الكثير الاوامر ، مثل الفرز والتصفية بأنواعه ، ولكن وللأسف الشديد ، فأنا ارى ان 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
-
جزاك الله خيرا اخى واستاذى جعفر جزاك الله خيرا اخى ابو البشر تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق1 point
-
جربي المرفق Test1.accdb DoCmd.SetWarnings False If [خيار12] = True Then DoCmd.RunSQL "UPDATE table1 SET table1.yesno = yes " Me.Requery Else DoCmd.RunSQL "UPDATE table1 SET table1.yesno = no " Me.Requery End If DoCmd.SetWarnings True1 point
-
1 point
-
أرجو من أساتذة الكرام أن يساعدونا أريد استبدال التحديد اليدوي في قائمة الاسماء txtliste3 بتحديد أوتوتيكي بشرط أن يكون الاسم الذي في أعلى القائمة كما أنا زر valider به هذا الكود On Error Resume Next Dim db As DAO.Database Dim rs As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("SELECT * FROM Clients WHERE idClient=" & Me.txtliste3, dbOpenDynaset) If Not rs.EOF Then rs.MoveFirst Form_f_historiquefacture.Texte23 = rs!idClient rs.Close Set rs = Nothing db.Close Set db = Nothing DoCmd.Close acForm, Me.Name DoCmd.Requery الذي يمكن من الاخذ الاسم المحدد من القائمة txtliste3 الى Texte23 في الفورم f_historiquefacture كل ما أريدوه هو أن يتم تحديد الاسم أعلى القائمة أوتماتيكيا بدون الحاجة الى تحديده يدويا وشكرا1 point
-
استاذنا الفاضل يبدو انك نسيت ارفاق الملف في انتظارة للتعلم والاستفاذة شكرا على ارفاق الملف1 point
-
1 point
-
شرح كيفية عمل صورة شفافة لادخالها فى فورم الاكسل الفيديو1 point
-
تمام ان شاء الله يكفيك ان تضع هذا الامر فقط Texte2 = Me.txtliste3.Column(1) تحياتي1 point
-
وعليكم السلام اخى اسم الكتاب John Wiley & Sons - SQL for Dummies, 5th Edition قد تم حذفه لحقوق الملكيه ولم اعلم بها وقدنبهنى بها اخى واستاذى جعفر وجزاك الله خيرا على مشاركتك ايانا الموقع ولو فى حاجه بالعربى يبقى افضل تقبل تحياتى1 point
-
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
-
شكر اخي بن عليه ليس المطلوب لكن تعديلك ساعدني اضفت هذا السطر Range("E5").Value = Range("E5").Value + 1 حتى يخزن في كل مرة رقم جديد1 point
-
السلام عليكم حل من الحلين التاليين: الحل1: إلغاء التصفية ثم إضافة ما تريد والمحافظة على الترتيب الأبجدي ثم إعادة التصفية... الحل2: مع التصفية، القيام بإدراج صف فارغ في المكان الصحيح بعد تحديد الصف الذي يأتي بعده بالترتيب الأبجدي (مثلا إضافة الاسم "عادل" القيام بتحديد الصف الذي فيه الاسم "علي") ثم القيام بحجز الاسم المضاف بمعلوماته... غير أن هذه الطريقة لا تضمن أن تترتب القائمة الكلية (ذكور وإناث) أبجديا بعد إلغاء التصفية... ولا أرى حلا آخر للمسألة... بن علية حاجي1 point
-
في حدث بعد التحديث للحقل المطلوب الكتابة بحروف كبيرة ضع الكود التالي [txt] = UCase([txt]) txt هو اسم الحقل اكتب بشكل عادي وسوف تتحول الحروف الى كبيرة1 point
-
جرب الملف المرفق والذي عملته سابقا للرد على احد الاعضاء الكرام عند تسجيل المندوب تظهر رسالة ان الاسم مسجل مسبقا مع اختيار اعادة تسجيلة برقم جديد بامكانك التعديل عليه ليحقق طلبك بحث وتصفية.accdb1 point
-
اخي الكريم يجب اعادة ظبط البيانات في قاعدة البيانات لان رقم هوية العميل مكرر والاسم كذالك انت تريد كشف عميل بناء على رقم الهوية ، ادا لابد من ادخال عدة عملاء مختلة اساؤهم و ارقام الهوية ايضا تحياتي1 point
-
تقضل اخي الكريم عند إدخال تاريح الميلاد يحولها الي عمر (باليوم والشهر والسنة) في النموزج Database1.rar1 point
-
الموضوع قديم اكثر من سنتين وكان الافضل وضع موضوع جديد مع ذلك اليك الخطوات مرتبة بالصورة في ملف بي دي اف Doc1.pdf1 point
-
1 point
-
جرب المرفق اختار تاريخ البداية وعدد الايام Database74.accdb1 point
-
لا لزوم للحلقات التكراري في هذه الجالة يكفي هذا الكود البسيط Sub Fill_Empty() Range("B2:F6").SpecialCells(4) = "/" End Sub1 point
-
الاستاذ القدير خالد سيسكو قدم الاجابة الصحيحة ومن باب اثراء الموضوع لقيمة خطأ في الحقل احيانا يكون لدينا حقل في النموذج الرئيسي يستمد قيمتة من خلال قيمة حقل غير منظم في النموذج الفرعي مثلا اجمالي المبيعات لفترة زمنية اكيد توجد اكثر من طريقة لاخذ القيمة ولكن الطريقة الاسهل [q_tax].[Form]![txt23] ولكن عندما لاتكون لدينا سجلات للفترة تكون قيمة الحقل في الرئيسي تساوى خطأ وللتغلب على ذلك يمكن استخدام دالة IsError لتكون بالشكل التالي =IIf(IsError([q_tax].[Form]![txt23]);0;[q_tax].[Form]![txt23]) والنتيجة تكون صفر1 point
-
السلام عليكم اولا : لماذا لاتجعل القيمة الافتراضية للحقل = صفر ولا تحتاج الى استعلام تحديث ثانيا : تفضل اخي الكريم عملت لك استعلام تحديث بالملف يجعل القيم الفارغة بالجدول = صفر اعلمنا النتائج aceess55.rar1 point
-
1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله محاولة في الملف المرفق... بن علية حاجي المثال.xls1 point
-
وعليكم السلام اولا وقبل كل شيء ، يجب عليك تغيير تصميم جدول "المتقدمين" (حاليا تصميمه يناسب الاكسل) ، حتى يكون بطريقة قواعد البيانات الصحيحة ، والذي سيوفر عليك الكثير من الوقت لاحقا ، لذا عملت لك التعديل في الجدول tbl_Training . انت محتاج تعمل استعلام لكل جهة (يعني 3 استعلامات) ، ثم تستعمل الامر Union لتجمع الاستعلامات الثلاث في استعلام واحد ، ولكن المشكلة هي العدد المطلوب ، فلا يمكننا ان نجعل العدد رقم متغير في الاستعلام ، وهو ما يشار الى بـ TOP n (اذا العدد معروف مسبقا ، فالاستعلامات الثلاث سهله ، ثم نعمل استعلام Union يجمعها) ، لذا وجب علينا ان نعمل الاستعلامات في الكود Private Sub cmd_Training_Records_Click() mySQL1 = "SELECT TOP " & Forms!Q1!iSchool & " الوقت, الاسم, الجهة, الدورة" mySQL1 = mySQL1 & " FROM tbl_Training" mySQL1 = mySQL1 & " WHERE الجهة = 'مدرسة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL1 = mySQL1 & " ORDER BY الوقت" 'Debug.Print mySQL1 mySQL2 = "SELECT TOP " & Forms!Q1!iAdmin & " الوقت, الاسم, الجهة, الدورة" mySQL2 = mySQL2 & " FROM tbl_Training" mySQL2 = mySQL2 & " WHERE الجهة = 'إدارة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL2 = mySQL2 & " ORDER BY الوقت" 'Debug.Print mySQL2 mySQL3 = "SELECT TOP " & Forms!Q1!iOffice & " الوقت, الاسم, الجهة, الدورة" mySQL3 = mySQL3 & " FROM tbl_Training" mySQL3 = mySQL3 & " WHERE الجهة = 'مكتب' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL3 = mySQL3 & " ORDER BY الوقت" 'Debug.Print mySQL3 mySQL_union = mySQL1 & " union all " & mySQL2 & " union all " & mySQL3 'Debug.Print mySQL_union Me.f1.Form.RecordSource = mySQL_union Me.f1.Form.OrderBy = "الجهة, الوقت" Me.f1.Form.OrderByOn = True End Sub . ويكون الاستعلام الاخير هو مصدر بيانات النموذج الفرعي . جعفر 837.الدورات.accdb.zip1 point
-
أستاذى العزيز ذو الموضوعات المتميزة ( مجدى يونس ) بارك الله فيك وفى موضوعاتك وخدماتك الجليلة لصالح الأعضاء وجعلها اللهم فى ميزان حسناتاتك إن شاء الله ويسعدن ويشرفنى أن تكون أول مشاركة لى فى هذا الموضوع لى بارك الله فيك أستاذى الجليل1 point