jo_2010 قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 (معدل) الخبراء الافاضل فى الإصدارة 2.0 المطورة 🧮 الكاتب الذكي لدوال المجال |::| 📜 نسخة مطورة ومحدثة |::| 😊 الإصدار الثاني 2.0 للاخ الافاضل Moosak اليكم نموذج للتعديل علية JO_2024.accdbFetching info... تم تعديل يناير 6, 2024 بواسطه jo_2010
شايب قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 07:49, jo_2010 said: فى الإصدارة 2.0 المطورة 🧮 الكاتب الذكي لدوال المجال Expand دالة DLookup لابد للحصول على نتيجة صحيحة ان نستخدم معها معيار فريد وبالتالي عند استخدام between فسوف تعود الدالة باول سجل مطابق فقط لذا فمن الافضل التفكير باستخدام معيار اخر اما اذا كنت مصمم على هذا الاستخدام الغير صحيح DLookup("[pcode]", "lab_all", "[pcode]between 2 and 6 ") اخونا الشايب 2 1
Moosak قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 07:49, jo_2010 said: Expand في نفس المكان أكتب : 50 and 80 مع الأخذ في الإعتبار نصيحة شايبنا الكريم @شايب 🙂 1
ابو جودي قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 وبناء على قول استاذى الجليل ومعلمى القدير الاستاذ @شايب استخدم هذه الطريقة افضل من خلال استعلام SELECT * FROM TableName WHERE FieldName BETWEEN 50 AND 80; 1 1
ابو جودي قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 ولو الحقل كان نصى وانت كاتب فيه ارقام استخدم الاستعلام بالشكل التالى SELECT CLng([FieldName]) AS clngFieldName, * FROM TableName WHERE (((CLng([FieldName])) Between CLng(50) And CLng(80)));
تمت الإجابة ابو جودي قام بنشر يناير 6, 2024 تمت الإجابة قام بنشر يناير 6, 2024 وممكن SELECT VAL([ID]) AS valID, * FROM tblEmployees WHERE VAL([ID]) BETWEEN 50 AND 80; وممكن استخدام دالة CDBL لتحويل إلى رقم مزدوج (Double): SELECT CDBL([ID]) AS cdblID, * FROM tblEmployees WHERE CDBL([ID]) BETWEEN 50 AND 80; وممكن استخدام دالة CDATE للتحويل إلى تاريخ (إذا كان يمكن تفسير القيم كتواريخ) SELECT CDATE([FieldName]) AS cdateFieldName, * FROM TableName WHERE CDATE([FieldName]) Between #50# And #80#;
شايب قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 10:03, ابو جودي said: وممكن Expand ماشاء الله عليك اخي محمد كفيت ووفيت 🌹 1
ابو جودي قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 13:59, شايب said: ماشاء الله عليك اخي محمد كفيت ووفيت 🌹 Expand منكم نتعلم استاذى الجليل ومعلمى القدير هذا من فضل الله سبحانه وتعالى ثم لكلم ولكل اساتذتى العظماء تعرف يا استاذى انا تقريبا بطلت ستخدم DLookup الا فى اضيق الحالات كل ما اجى استخدمها افتكر كلمة استاذ @jjafferr سر قوة الاكسس فى الاستعلامات الان تقريبا اعيد ما اريد من خلال الاستعلامات بدلا من DLookup فعلا الاستعلامات رهيبة جدا جدا جدا جدا 1
شايب قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 14:20, ابو جودي said: لان تقريبا اعيد ما اريد من خلال الاستعلامات بدلا من DLookup فعلا الاستعلامات رهيبة جدا جدا جدا جدا Expand اتفق معك واغلب دوال التجميع يمكن الاستغناء عنها في حالات كثر باستخدام الاستعلامات
Moosak قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 14:20, ابو جودي said: منكم نتعلم استاذى الجليل ومعلمى القدير هذا من فضل الله سبحانه وتعالى ثم لكلم ولكل اساتذتى العظماء تعرف يا استاذى انا تقريبا بطلت ستخدم DLookup الا فى اضيق الحالات كل ما اجى استخدمها افتكر كلمة استاذ @jjafferr سر قوة الاكسس فى الاستعلامات الان تقريبا اعيد ما اريد من خلال الاستعلامات بدلا من DLookup فعلا الاستعلامات رهيبة جدا جدا جدا جدا Expand في 6/1/2024 at 10:03, ابو جودي said: وممكن SELECT VAL([ID]) AS valID, * FROM tblEmployees WHERE VAL([ID]) BETWEEN 50 AND 80; وممكن استخدام دالة CDBL لتحويل إلى رقم مزدوج (Double): SELECT CDBL([ID]) AS cdblID, * FROM tblEmployees WHERE CDBL([ID]) BETWEEN 50 AND 80; وممكن استخدام دالة CDATE للتحويل إلى تاريخ (إذا كان يمكن تفسير القيم كتواريخ) SELECT CDATE([FieldName]) AS cdateFieldName, * FROM TableName WHERE CDATE([FieldName]) Between #50# And #80#; Expand حبيبنا @ابو جودي شكرا لك على هذا التنبيه .. 🙂🌹 ولزيادة الإفادة : كيف تستخدم جمل SQL كمصدر لحقل غير منظم في النموذج ؟ ..... أو كحقل محسوب في الاستعلام ؟ أليست دوال DLookup وأخواتها عبارة عن جمل SQL مبسطة على شكل Function في الواقع ؟
شايب قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 15:15, Moosak said: أليست دوال DLookup وأخواتها عبارة عن جمل SQL مبسطة على شكل Function في الواقع ؟ Expand مع ان السؤال للاستاذ محمد لكن نعم هي استعلام ولها استخداماتها كما اشرتم في 6/1/2024 at 14:27, شايب said: اتفق معك واغلب دوال التجميع يمكن الاستغناء عنها في حالات كثر باستخدام الاستعلامات Expand وهنا اقصد يمكن الاستغناء عنها في الاستعلامات لما تسببه من تاخير في تنفيذ الاستعلام وبالذات عندما يكون لدينا عدد كبير من البيانات واستخدام اكثر من استعلام يمكن الاستغناء عن بعض دوال تجميع المجال المايك للاستاذ محمد للاجابة عن السؤال 1 1
jo_2010 قام بنشر يناير 6, 2024 الكاتب قام بنشر يناير 6, 2024 (معدل) خالص الشكر لكل الخبراء المبدعين على هذة المعلومات الجديدة بالنسبة لى والمفيدة ايضا شكرا لكم ولكن من باب العلم بالشى كيف اكتب الدالة من خلال البرنامج المرفق الخاص بالمعلم الجليل Moosak تم تعديل يناير 6, 2024 بواسطه jo_2010
ابو جودي قام بنشر يناير 6, 2024 قام بنشر يناير 6, 2024 في 6/1/2024 at 15:37, شايب said: المايك للاستاذ محمد للاجابة عن السؤال Expand طبعا لا يفتى ومالك فى المدينة في 6/1/2024 at 15:15, Moosak said: أليست دوال DLookup وأخواتها عبارة عن جمل SQL مبسطة على شكل Function في الواقع ؟ Expand اممم تصدق مش عارف اقول اه واللا لاء بس بعد الشرح ده انت قول الاجابة دوال المجـــــــ(Domain Functions)ـــــــــال جزءا من مجموعة من الدوال التي تستخدم للتلاعب بالبيانات في قاعدة البيانات وهى ليست استعلامات هذه الدوال تعتبر جزءا من استعلامات SQL (Structured Query Language) التي تستخدم لاسترجاع وتحديث البيانات دوال المجال تسمح لك بتنفيذ عمليات معينة على البيانات في حقل معين من جدول معين على سبيل المثال : - يمكن استخدام دالة المجال Dlookup للبحث عن قيمة في حقل محدد بناء على شرط معين او عدة شروط هذه الدوال تستخدم ضمن تعبيرات SQL داخل استعلامات يعنى خى ليست استعلامات انما هى تستخدم كجزء داخل الاستعلامات Dlookup >>----> للبحث عن قيمة في حقل معين DCount >>----> لحساب عدد السجلات التي تستوفي شرط محدد DSum >>----> لحساب مجموع قيم حقل معين بناءً على شرط يبقى الاجابة ايه 1
Moosak قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 في 6/1/2024 at 15:15, Moosak said: كيف تستخدم جمل SQL كمصدر لحقل غير منظم في النموذج ؟ ..... أو كحقل محسوب في الاستعلام ؟ Expand طيب يا عم @ابو جودي الجميل .. 🙂 .. السؤال الأهم كان هو ذا 😁☝ إجابتك على هذا السؤال أهم من السؤال السابق 😄🌼
شايب قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 في 7/1/2024 at 06:21, Moosak said: كيف تستخدم جمل SQL كمصدر لحقل غير منظم في النموذج ؟ ..... أو كحقل محسوب في الاستعلام ؟ Expand السؤال ايضا لابي جودي ولكن الاخ شايب ملقوف بعض الشيء هناك البعض للاسف يستخدم نماذج فرعية بشكل مخفي ويقوم باسناد قيمة الحقل غير المنظم الى احد حقول النموذج المخفي وكل ذلك لعدم معرفته بكتابة معايير دوال تجميع المجال وبالذات عندما يكون لدينا اكثر من معيار اقتباس اخير اضافة ثلاث نماذج فرعية في الرئيسي بشكل مخفي لغرض الحصول على قيمة بعض الحقول امر غير عملي ويمكن بدلا من ذلك استخدام دالة dsum وبالشروط التي تحقق لنا الحصول على القيمة المطلوبة لكل حقل وحينها نسنغني عن ثلاث نماذج وثلاث استعلامات Expand الخلاصة دوال D تسهل العمل وتحقق المطلوب باسهل الطرق وسواء كانت استعلام او جزء من استعلام فان الافضل استخدامها يكون وفقا لمتطلبات العمل والاخ شايب يعتقد ان البعض يفرط في استخدامها للحصول على قيمة حقول ليست ذات فائدة او ليست مطلوبة قي النموذج مرفق صورة لاستخدام ثلاث نماذج فرعية مبني كل نموذج منهم على استعلام بينما دالة DSUM تغني عنها اخيرا لا ننتقد عمل اي من الزملاء ولكن نحاول تصحيح بعض المفاهيم وتبقى وجهة نظر غير ملزمة الشايب 1
ابوخليل قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 في 7/1/2024 at 08:09, شايب said: هناك البعض للاسف يستخدم نماذج فرعية بشكل مخفي ويقوم باسناد قيمة الحقل غير المنظم الى احد حقول النموذج المخفي Expand الملاحظات الاملائية او اللغوية في هذا المنتدى لا تعني لي شيئا ولا تستحق التعقيب الا اذا تكرر استخدامها كثيرا .. اما لو حدثت من استاذك في اللغة والبيان فمؤكد انها سقطت سهوا . لذا وللفائدة العامة احببت ان ابين الفرق بين كلمة ( منظم ) وكلمة ( منضم ) عند استخدامها للتعبير عن نوع الحقل او النموذج منظم : من التنظيم والتنسيق وتنطق بضم الميم وفتح النون وتشديد الظاء مع الفتح منضم : من الانضمام والارتباط وتنطق بضم الميم وتسكين النون وفتح الضاد بدون تشديد والاخيرة هذه هي التي نعبر بها عن الحقول والنماذج ان كانت منضمة اي مرتبطة ام لا 1
شايب قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 في 7/1/2024 at 10:27, ابوخليل said: منضم : من الانضمام والارتباط وتنطق بضم الميم وتسكين النون وفتح الضاد بدون تشديد Expand نعم احسنت وغلطة الشايب بعشرة 🌹 1
ابو جودي قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 في 7/1/2024 at 06:21, Moosak said: كيف تستخدم جمل SQL كمصدر لحقل غير منظم في النموذج ؟ Expand على طريقة المعقدين امثالى اعمل مديول ضع الوظيفة الاتية Enum TypeWHERE asString asDate asNumeric End Enum Dim rsArryFieldName As Variant Function RetrieveData(ByRef tableName As String, _ ByRef fieldName As String, _ Optional varMyWHERE As Variant = "", _ Optional TypeMyWHERE As TypeWHERE = TypeWHERE.asString, _ Optional LinkCriteria As String = "") As Variant ' This function retrieves data from the specified table and field based on the provided criteria. ' Translate the criteria type to the appropriate SQL syntax Select Case TypeMyWHERE Case TypeWHERE.asDate LinkCriteria = "[" & fieldName & "] = #" & varMyWHERE & "#" '| Date Case TypeWHERE.asNumeric LinkCriteria = "[" & fieldName & "] = " & varMyWHERE '| Numeric Case TypeWHERE.asString LinkCriteria = "[" & fieldName & "] = '" & varMyWHERE & "'" '| String End Select ' Declare a DAO Recordset variable Dim rs As DAO.Recordset ' Open a recordset based on the provided table and field names Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & tableName & " WHERE " & LinkCriteria) ' Check if the recordset is not empty If Not rs.EOF Then ' Create an array to hold values of all fields in the record Dim fieldValues() As Variant ReDim fieldValues(1 To rs.fields.Count) Dim i As Integer ' Populate the array with values from all fields For i = 1 To rs.fields.Count fieldValues(i) = rs.fields(i - 1).Value Next i ' Return the array containing values of all fields RetrieveData = fieldValues Else ' Return an empty string if no matching record is found RetrieveData = "" End If ' Close the recordset rs.Close Set rs = Nothing End Function وشوف التجربة من خلال هذا الروتين Sub ExampleUsage() ' Set the table name and field name Dim tableName As String Dim fieldName As String Dim criteriaValue As Variant Dim criteriaType As TypeWHERE ' Set default values tableName = "YourTableName" ' | << Set the table name fieldName = "YourFieldName" ' | << Set the field name criteriaValue = "YourCriteriaValue" ' | << Set Your Criteria Value criteriaType = TypeWHERE.asString ' | << Set the type of criteria and You can change it based on the case type of criteria ' Call the RetrieveData procedure Dim result As Variant result = RetrieveData(tableName, fieldName, criteriaValue, criteriaType) ' Display values of all fields in the array If IsArray(result) Then Dim i As Integer For i = 1 To UBound(result) Debug.Print i & ": " & result(i) Next i ' Display the value of field number 3 (For example, EmployeeName) Debug.Print result(3) Else ' If no matching record is found, show an appropriate message MsgBox "No matching record found for the specified criteria." End If End Sub وعيش مع الكود ومع بنات افكارك
Moosak قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 في 7/1/2024 at 14:38, ابو جودي said: على طريقة المعقدين امثالى اعمل مديول Expand شكرا لك يا عمي المعقد 😅✋🏻 يعني في كل مكان أريد فيه استجلاب قيمة من الجداول ( في الحقول الغير منضمة) كبديل لدالة DSum مثلا يحتاج أعمل له دالة خاصة بيه بالشكل ذا !!!!؟؟؟ ليه كل التعقيد ده يا عم الناس 😅🌼 1
ابو جودي قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 لو لاحظت انا كتبت الدالة الاولى وحتكون ثابته على طول لاى جدول ولاى معايير الدالة التانية بس للاستدعاء كل ما عليك تكتب اسم الجدول والحقل والمعيار وتختار ان كان رقمى او نصى او تاريخ واللذيذ ان فى مصفوفة بتجيب لك كل الحقول يعنى تعرف متغير result ويكون مصدر بيانات الحقل result(i) طبعا لو فى عمليات حسابية معقدة داخل الكود تكون اسرع من الاستعلام لو استخدمت فيه دوال المجال وفى الاخير انت الان معاك اكثر من طريقة 1
Moosak قام بنشر يناير 7, 2024 قام بنشر يناير 7, 2024 في 7/1/2024 at 18:40, ابو جودي said: طبعا لو فى عمليات حسابية معقدة داخل الكود تكون اسرع من الاستعلام لو استخدمت فيه دوال المجال وفى الاخير انت الان معاك اكثر من طريقة Expand شكرا لك عمي @ابو جودي على الفكرة والطرح .. 🙂 أنا فعلا عندي معاناة في السرعة حتى لما أعمل دالة وأدخل فيها عائلة ال D .. فبجرب نفس الدوال بس بال Recordset وأشوف الفرق .. في 6/1/2024 at 08:33, Moosak said: في نفس المكان أكتب : 50 and 80 مع الأخذ في الإعتبار نصيحة شايبنا الكريم @شايب 🙂 Expand على فكرة أستاذ @jo_2010 الإجابة المباشرة على سؤالك كانت في هذا الرد 😅☝
محمد القدسي قام بنشر يناير 9, 2024 قام بنشر يناير 9, 2024 طيب استاذي ومعلمي @ابو جودي لو تتحفنا بمثال بسيط من شان نعرف نعيش مع الكود ومع بنات افكارك 🌷
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.