بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 08/17/20 in all areas
-
وعليكم السلام 🙂 سيدي الفاضل ، سؤالك مهم ، ولكن صيغة الكود غير صحيحة !! لما نقول ان Dlookup بطيء ، فمقارنته تكون مع نتائج استعلام بدون Dlookup ، اما لما نقول لا تستعملوا Dlookup ، فهو في الاستعلام ، مثل: . اما اذا كانت مقارنتك في الكود بين Dlookup و Recordset : 1. لإستخراج قيمة واحدة فقط ، فطبيعي Recordset تكون ابطأ ، لأنها تعمل نسخة من البيانات وتحتفظه في الذاكرة المؤقته RAM في الكمبيوتر ، فهذه العملية تأخذ وقت ، 2. إستخراج اكثر من قيمة/سجل ، فيكون Recordset اسرع ، لأنه بعد حفظ القيمة في ذاكرة الكمبيوتر ، يكون الحصول على البيانات منها اسرع ، ولكن بشرط ان تعمل الكود بالطريقة الصحيحة (انظر الكود) ، انا عملت نسخة من الجدول test واسميته test2 ، وعملت حقل tst مفهرس، لأنك تستخدمه كمعيار للحصول على النتائج التي تريدها ، ثم ضغط واصلاح للبرنامج حتى يستفيد البرنامج من فهرست الحقل، وعليه ، اصبح جلب النتائج من الجدول الثاني اسرع بكثير !! اليك بعض التجارب التي عملتها للجدولين : Option Compare Database Private Sub Commande0_Click() Dim t, t11, t12, t13, t14, t21, t22, t23, t24 As Single Dim r As Long 'table test '1 Dlookup t = Timer r = Nz(DLookup("id", "test", "tst='mohamed'"), 0) t11 = Timer - t t11 = Format(t11, "#0.0####") '2 qry_test t = Timer r = DCount("*", "qry_test") t12 = Timer - t t12 = Format(t12, "#0.0####") '3 Recordset_1 t = Timer r = fff_1("test", "mohamed") t13 = Timer - t t13 = Format(t13, "#0.0####") '4 Recordset_2 t = Timer r = fff_2("test", "mohamed") t14 = Timer - t t14 = Format(t14, "#0.0####") 'table test2 '1 Dlookup t = Timer r = Nz(DLookup("id", "test2", "tst='mohamed'"), 0) t21 = Timer - t t21 = Format(t21, "#0.0####") '2 qry_test t = Timer r = DCount("*", "qry_test2") t22 = Timer - t t22 = Format(t22, "#0.0####") '3 Recordset_1 t = Timer r = fff_1("test2", "mohamed") t23 = Timer - t t23 = Format(t23, "#0.0####") '4 Recordset_2 t = Timer r = fff_2("test2", "mohamed") t24 = Timer - t t24 = Format(t24, "#0.0####") Debug.Print "Dlookup:" & vbCrLf & _ "table test: " & t11 & vbTab & " test2: " & t21 & vbCrLf Debug.Print "qry_test, test2:" & vbCrLf & _ "table test: " & t12 & vbTab & " test2: " & t22 & vbCrLf Debug.Print "Recordset_1:" & vbCrLf & _ "table test: " & t13 & vbTab & " test2: " & t23 & vbCrLf Debug.Print "Recordset_2:" & vbCrLf & _ "table test: " & t14 & vbTab & " test2: " & t24 MsgBox "Done" End Sub Public Function fff_1(tbl_Name As String, tt2 As String) As Long Dim db As DAO.Database Dim rs As DAO.Recordset Dim rr As Long Set db = CurrentDb Set rs = db.OpenRecordset("Select id, tst From " & tbl_Name) rs.FindFirst "[tst]='" & tt2 & "'" If rs.NoMatch Then fff_1 = 0 Else fff_1 = rs!id End If rs.Close: Set rs = Nothing End Function Public Function fff_2(tbl_Name As String, tt2 As String) As Long Dim db As DAO.Database Dim rs As DAO.Recordset Dim rr As Long Set db = CurrentDb Set rs = db.OpenRecordset("Select id, tst From " & tbl_Name & " WHERE tst='" & tt2 & "'") rs.MoveLast: rs.MoveFirst fff_2 = rs.RecordCount rs.Close: Set rs = Nothing End Function والنتائج من "كمبيوتري القديم" بالثواني واجزاء من الثانية : Dlookup: table test: 0.1875 test2: 0.0 qry_test, test2: table test: 0.375 test2: 0.00391 Recordset_1: table test: 1.19531 test2: 0.17578 Recordset_2: table test: 0.38281 test2: 0.00391 اما اذا وضعنا الدالة Dlookup في استعلام ، وهو الخطأ ، فنتيجة الاستعلام التالي ، والوقت الذي اخذته: والوقت الذي اخذته بالثانية وجزء من الثانية 997.8555 جعفر8 points
-
4 points
-
وعليكم السلام ورحمة الله وبركاته تفضل اخي الكريم صورة الصنف.rar تحياتي4 points
-
وعليكم السلام 🙂 طريقة اخوي ابوياسين هي ، اذا كان الحقل نص : اما هذه الطريقة ، فلحقل النص والرقم كذلك : =NZ(DSum("[chemical_element]","Qlaboratory","[typeelement]='active'"),0) جعفر3 points
-
2 points
-
2 points
-
2 points
-
تفضل المرفق الجديد يتم اظهار الليست واخفائها بناءا على البيان المدخل تجارب.rar تحياتي2 points
-
استاذي الفاضل الرد لا ينحصر على شخص واحد فقط لأن الطرق متعددة فالسائل من المهم له ان تتعدد الطرق امامه ليختار الانسب منها فلا تتوقف عن المشاركة لمصلحة الجميع شكرا لك و انا من اشد المتابعين لك و لأفكارك البرمجية2 points
-
تفضل هذا التعديل اخي الكريم اضغط مزدوج على السيارة للاختيار تجارب.accdb2 points
-
وعليكم الاسلام تفضل اخي اعتقد هكذا افضل والله اعلم واعذرني ان كنت لم افهم قصدك الصنف.rar2 points
-
وعليكم السلام ورحمة الله وبركاته جرب المرفق التالي تجارب.rar تحياتي2 points
-
السلام عليكم هذا البرنامج يسهل عملية الاختبار للطالب بالحاسوب الاسئلة من نوع اختيار من متعدد و صح وخطا عندما تفتح البرنامج تظهر لك صفحة الطالب ولاظهار صفحة المعلم انقر يمين الماوس واكتب 123 سيتم فتح صفحة المعلم بجيث يستطيع وضع الاسئلة وكتابة اسماء الطلاب والتحكم في عدد الاسئلة ومدة كل سوال تفضلوا الاختبار الحاسوبي.xlsm1 point
-
كيفية اضافة معادلة البحث XLOOKUP لاوفيس 2019-2016-2013-2010-2007-2003 في الفيديو دة هاتقدر تشتغل وكأنك معاك اوفيس 365 XFunctions.7z1 point
-
السلام عليكم عندي ملف اكسس يحتوي علي بيانات مهمه مار اريده هو فتحه في وضع التصميم علما بانني اقوم بالضغط علي SHIFT اثناء الفتح دون جدوي فما الحل1 point
-
1 point
-
المنتدى تعليمى من المقام الأول .... فلا يمكن لأحد تصميم ملف جاهز لك اذا كنت تريد المساعدة فعليك برفع ملف موضح فيه المطلوب بكل دقة فلا يمكن العمل على التخمين وتجنباً لعدم اهدار وقت الأساتذة1 point
-
إذا كان هذا الملف في حسابك فيمكن تنزيله بسهولة ولكن إذا كان يخص أحدا غيرك ومنع تنزيل الملف من الإعدادات فلا حل حتى الآن1 point
-
الشكر لله استاذنا الفاضل ومعلمنا القدير @jjafferr صحيح هذه الطريقة للاستعلام الجدولي باستخدام المعلمات وتوجد طريقتين اخرى بدون الحاجة للمعلمات من خلال اضافة نموذج فرعي لنموذج البحث وتكون الفلترة عن طريق الكود يكون مصدر التقرير جدول مؤقت والفلترة تكون من خلال الكود او بمعايير استعلام مع ذلك الطريقة التي اشرتم اليها استاذي الفاضل هي الاسهل تحياتي وتقديري1 point
-
1 point
-
1 point
-
1 point
-
انظر المرفق الاخير بارك الله فيك طريقة الحساب الاسابيع كالتالي IIf([DATE2]<=#30/08/2016#;DateDiff("w";[DATE1];#30/08/2016#); IIf([DATE2]>=#01/09/2016#;DateDiff("w";[DATE1];#01/09/2016#);0)) وطريقة الحساب الشهور كالتالي IIf([DATE2]<=#01/09/2016#;0;DateDiff("m";#01/09/2016#;[DATE2])) ضريبة.rar تحياتي1 point
-
أُعيد لك ما فهمته فبرجاء تصحيح المعلومة اذا كان date2 قبل او يساوي يتم حساب الاسابيع فقط الى تاريخ 30/08/2018 ويتم حساب الاشهر ما بين 01/09/2018 الى 01/12/2018 اما اذا كان date1 اكبر من او يساوي 01/01/2019 يتم حساب الاشهر فقط حتى تاريخ date2 ولا يتم احتساب الاسابيع = 0 جرب المرفق الجديد واشرح لي مكان الخطأ بارك الله فيك ضريبة.rar تحياتي1 point
-
جرب هذا الماكرو Option Explicit Sub Count_My_Colors() Dim lr%, i%, x%, y% lr = Cells(Rows.Count, 5).End(3).Row For i = 1 To lr If Cells(i, 5).Interior.ColorIndex = _ Range("I3").Interior.ColorIndex Then x = x + 1 If Cells(i, 5).Interior.ColorIndex = _ Range("J3").Interior.ColorIndex Then y = y + 1 Next Range("I3") = Switch(x = 0, "Zero", True, x) Range("j3") = Switch(y = 0, "Zero", True, y) End Sub الملف مرفق Dragon.xlsm1 point
-
تفضل اخي الكريم تجارب.rar تحياتي ما شاء الله عليك استاذنا وعذرا لم انتبه لردك الكريم تخياتي1 point
-
1 point
-
1 point
-
جرب =NZ(DSum("[chemical_element]","Qlaboratory","[typeelement]='active'"),"0")1 point
-
1 point
-
1 point
-
محب لله ورسوله فين انت من هذه الإجابة الممتازة ؟!!!! أين الضغط على الإعــجــــاب ؟!!💙1 point
-
السلام عليكم اتمنى مساعدتى بهذه المشاركة ملف مكون من 3 صفحات منه وله وضبط الاسماء بمنه هى التى ب له احتاج موديول اتمكن به من استدعاء البيانات الى صفحة الضبط بتاريح من وتاريخ حتى هل اجد لديكم حل مع الشكر والعرفان بالجميل منه وله وتقرير بتاريخ من الى.xlsm1 point
-
معلومة مهمة لتخفيف حجم الملف طبعاً كلنا يعرف ان اوفيس 2003 يتكون من 65500 صف تقريبا ً و 256 عمود و افيس 2007 تقريباً مليون صف و 16000 عمود لاحظت عند تحديد جميع االصفوف مثلا من 1 : 65500 فى 2003 يزداد حجم الملف بطريقة غير عادية و بالتالى من المهم عند العمل تحديد النطاق المطلوب العمل عليه فقط من صفوف و اعمدة و كذلك التنسيق الشرطى يضاعف حجم الملف بشكل كبير عند التطبيق على جميع الخلايا و الافضل تطبيق التنسيق الشرطى على خلايا محددة1 point
-
السلام عليكم ورحمة الله الحقيقه انا مش عارف أقول لك ايه و ولكن فى حقيقة الأمر انت فتحت لنا باب لتعلم اشياء كثيره من خلال برامجك الجميله والمفتوحه للجميع العديد من الناس يتربحون بما تعرفه وتجيده يا حسام ولكن أنت تجود به لذا ارحو ان تكون نيتك خالصه لله وحده لكى تربح أكثر اما عن دورى فهو أشكر الله لأنه وهبنا اياك وأشكرك انت أيضا أيضا مع خالص تحياتى وإحترامى الشديد1 point