Elsayed Bn Gemy قام بنشر مايو 17, 2015 قام بنشر مايو 17, 2015 امثلة بسيطة ارجوا ان تنفعنا جميعا صيغة الدالة DLookup DLookup(expr, domain [, criteria] ) expr( مطلوب) اسم الحقلdomain( مطلوبة) اسم الجدول/الاستعلامcriteria( اختيارية) الشروط دا مثال بسيط:عازوين نعرف اسم الصنف الذي كوده 15 في جدول الاصنافاسم الجدول : itemsاسم الحقل الذي يحمل أرقام الاصناف : code_itemsاسم الحقل الذي يحمل أسماء الاصناف: items_Name كود: MsgBox DLookup("[items_Name]", "items", "code_items=15") ممكن ناخد كود الصنف من مربع نص موجود في نموذج بدلاً من التصريح في الدالة عن كود الصنف لنفترض مثلا أن مربع نص موجودٌ في النموذج باسم txtItemsCode كود: MsgBox DLookup("[items_Name]", "items", "code_items=" & Me.txtItemsCode) ممكن ناخد قيمة كود الصنف من نموذج آخر بس بشرط أن يكون مفتوحاً ، فلو كان txtItemsCode موجود في نموذج آخر باسمfrm1 فإن الكود سيأخذ الشكل التالي : كود: MsgBox DLookup("[items_Name]", "items", "code_items=" & Forms!frm1!txtItemsCode) ملحوظة بالنسبة للشروط يجب أن تأخذ في الاعتبار نوع بيانات الحقل الذي نعتمد عليه في الشرط ، في المثال السابق كان حقل نوع بياناته (رقم) ، فلو كان نوع بياناته (نص) سيكون الكود بالشكل التالي :code_items كود: MsgBox DLookup("[items_Name]", "items", "code_items='" & Me.txtItemsCode & "'") طب لو كان نوع بياناته (وقت/تاريخ) الكود هيبقى كدا كود: MsgBox DLookup("[items_Name]", "items", "code_items=#" & Me.txtItemsCode & "#") وشكر الله لكم جميعا 10 1
أحمد وجيه قام بنشر مايو 17, 2015 قام بنشر مايو 17, 2015 مشكور على الشرح الجميل ده علما بأن الدالة دي مدوخاني من الصبح :) قياسا على اول مثال لو محتاج اول ما اكتب الكود يبحث تلقائي في جدول الاصناف على اسمه وكمان على سعره مش زي ما حضرتك ادرجت في المثال الكود 15 فقط 2
Elsayed Bn Gemy قام بنشر مايو 17, 2015 الكاتب قام بنشر مايو 17, 2015 مشكور على الشرح الجميل ده علما بأن الدالة دي مدوخاني من الصبح :) قياسا على اول مثال لو محتاج اول ما اكتب الكود يبحث تلقائي في جدول الاصناف على اسمه وكمان على سعره مش زي ما حضرتك ادرجت في المثال الكود 15 فقط MsgBox DLookup("[items_Name]", "items", "code_items=" & Me.txtItemsCode) 3
n_j1987 قام بنشر مايو 18, 2015 قام بنشر مايو 18, 2015 اااااااااااااااااااااه هذه الدالة دوختني .............أخر شي مشي الحال صرت أكتب أسم المادة بالفورم وبنفس الفورم أوتوماتيك بتعطيني تاريخ الشراء ومكان التخزين .....بس للأسف أروح على الجدول والاستعلام لا يوجد تاريخ الشراء ومكان التخزين أرجو المساعدة ..... وشكرا جزيلا أخي على الموضوع
jjafferr قام بنشر مايو 18, 2015 قام بنشر مايو 18, 2015 السلام عليكم ايش رأيك في هذه الطريقة: سحب أكثر من حقل من سجل واحد في الجدول ، وهذا الرابط فيه المثال http://www.officena.net/ib/index.php?showtopic=61152&p=394338 جعفر 4
رمهان قام بنشر مايو 18, 2015 قام بنشر مايو 18, 2015 امثلة بسيطة ارجوا ان تنفعنا جميعا صيغة الدالة DLookup DLookup(expr, domain [, criteria] ) expr( مطلوب) اسم الحقل اضافة بسيطة هنا : expr هو تعبير اي ممكن اسم حقل او اي تعبير مقبول مثلا [qty]*[unitprice] وهنا ميزة اضافية وكل هذا ينطبق على جميع دوال المجال ! dsum,dcount,dfirst ! مشكورين 4
jjafferr قام بنشر مايو 28, 2015 قام بنشر مايو 28, 2015 (معدل) والدالة لأكثر من شرط ، وبطريقة سهلة: كل نوع من انواع الحقول له طريقة معينة للتعامل معه في الكود ، وهذا يجعل كتابة كود بأكثر من شرط ، صعب نوعا ما ، لذلك ، الطريقة التي اقترحها هي في التعامل مع كل نوع بسطر مستقل (انظر للمثال في الاسفل) ، مما لا يدع مجال للخطأ في السطر ، ثم نجمع الاسطر في سطر واحد ، وهذا السطر يكون مجموع الشروط : myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [iDate]=#29-05-2015#" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID 'myCriteria = myCriteria & " Or [ID]=12" a = DLookup("[myID]", "tbl_Employees", myCriteria) او myCriteria_1 = "[detach]='موظف'" myCriteria_2 = " Or [iDate]=#29-05-2015#" myCriteria_3 = " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria_4 = " Or [EmployeeID]=" & Me.EmployeeID myCriteria_5 = " Or [ID]=12" myCriteria = myCriteria_1 & myCriteria_2 & myCriteria_3 & myCriteria_4 & myCriteria_5 a = DLookup("[myID]", "tbl_Employees", myCriteria) والشرح 'في الاسطر، ممكن استعمال والخلط بين 'Or او And 'كما يمكن استعمال اي سطر، و عدم استعمال اسطر اخرى، اي يمكن الخلط في استعمال الاسطر 'للمتغيرات الثابته 'نص myWhere = "[detach]='موظف'" myWhere = myWhere & " Or [ID]=12" 'رقم myWhere = myWhere & " Or [iDate]=#29-05-2015#" 'تاريخ 'للمتغيرات myWhere = myWhere & " Or [Employee_Name]='" & Me.Employee_Name & "'" 'نص myWhere = myWhere & " Or [EmployeeID]=" & Me.EmployeeID 'رقم myWhere = myWhere & " Or [Payment_Month]=#" & Me.txtMonth & "#" 'تاريخ a = DLookup("[myID]", "tbl_Employees", myWhere) جعفر تم تعديل مارس 8, 2020 بواسطه jjafferr تم أضافة للشرح 11
محمدفتاح قام بنشر أغسطس 16, 2018 قام بنشر أغسطس 16, 2018 السلام عليكم كل عام وانتم بخير بمناسبة عيد الاضحى المبارك عندي مشكلة وارجو المساعدة اقوم بعمل استعلام انشاء جدول ويقوم علي هذا الجدول عمليات متتالية اريد في حالة عدم انشاء الجدول تعود لي رسالة بأن الجدول لم يتم انشاؤه بعد وشكرا
Hamdi Edlbi-khalf قام بنشر أغسطس 17, 2018 قام بنشر أغسطس 17, 2018 في ٢٨/٥/٢٠١٥ at 23:19, jjafferr said: والدالة لأكثر من شرط ، وبطريقة سهلة: myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [detach]='منتدب'" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID myCriteria = myCriteria & " Or [ID]=12" a = DLookup("[myID]", "tbl_Employees", myCriteria) جعفر تم تعديل May 28, 201 السلام عليكم كيف يمكن استخدام هذه الطريقة ضمن الاستعلام .فهي تبدو لي و كأنها خاصة بأوامر الفيجوال .
ابو ياسين المشولي قام بنشر نوفمبر 13, 2019 قام بنشر نوفمبر 13, 2019 في ٢٨/٥/٢٠١٥ at 23:19, jjafferr said: والدالة لأكثر من شرط ، وبطريقة سهلة: myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [detach]='منتدب'" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID myCriteria = myCriteria & " Or [ID]=12" a = DLookup("[myID]", "tbl_Employees", myCriteria) جعفر للافاده استاذي jjafferr كيف باتكون اذا هي في الاستعلام
jjafferr قام بنشر نوفمبر 13, 2019 قام بنشر نوفمبر 13, 2019 ما ممكن كتابة هذه الاسطر في استعلام ، لذلك ، يمكن ان تعملها وحدة نمطية ، ثم تناديها من الاستعلام 🙂 جعفر 2
أبوبسمله قام بنشر نوفمبر 13, 2019 قام بنشر نوفمبر 13, 2019 جزاك الله خيرا استاذ سيد اخى مارد تقبل تحياتى ونتمنى منك ومن جميع اساتذتنا وجميع الاعضاء شروحات اكثر واكثر وياريت vba باستفاضه اكثر فكل ما ابحث الاقى شويه فى شروحات مقطعه وخفيفه اريد المزيد حتى نتعلم منك بارك الله فيكم في ٢٨/٥/٢٠١٥ at 22:19, jjafferr said: والدالة لأكثر من شرط ، وبطريقة سهلة: myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [detach]='منتدب'" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID myCriteria = myCriteria & " Or [ID]=12" a = DLookup("[myID]", "tbl_Employees", myCriteria) جعفر جزاك الله خيرا استاذى جعفر واستفدت اكتر لما استخدمت الكود مع الداله اسبليت لما رايتها بمرفق للاستاذ عبداللطيف سلوم عن طريق تعديل ابا جودى له واشار اليك بها وقمت باستخدامها مع بقيه دوال المجاميع واستخدمتها ايضا بجمع الحقول عن طريق Sum فقد اختصرت لى طرق كثيره لا املك الا انا اقول لك بارك الله فيك وجزاك الله كل خير ورزقك الفردوس الاعلى وجميع من تحب على ما اعتقد استاذى ابو ياسين واخى خلف ممكن وضعها بموديول واستدعائه بالاستعلام لكن فى الاستعلام العادى سيتم كتابتهم فى شريط واحد كما والله اعلى واعلم كنت اكتب ولاقيت استاذى العزيز جعفر كتب رده جزاكم الله خيرا وننتظر المزيد من الشروحات اساتذتى الافاضل بارك الله فيكم طبتم واهتديتم 1
jjafferr قام بنشر نوفمبر 13, 2019 قام بنشر نوفمبر 13, 2019 في الكثير من مواضيعي في الكود ، استخدم متغير اسمه mySQL مثلا ، حتى اعمل استعلام عن طريق الكود ، هكذا مثلا ، فلاحظ آخر سطر استعمله ، السبب اللي استعمل فيه هذا المتغير بهذه الطريقة ، حتى يكون لكل جزء من الكود السطر الخاص به (سهل التعامل مع كل سطر بطريقة منفصلة) ، وفي النهاية يتم جمعهم في الكود للخروج بالمتغير بصورته النهائية : mySQL = "SELECT TOP " & A & " sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage" mySQL = mySQL & " FROM ( " mySQL = mySQL & "SELECT 0 as sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage" mySQL = mySQL & " From tblPME" mySQL = mySQL & " WHERE SelectTo604 = True" mySQL = mySQL & " union" mySQL = mySQL & " Select id, null, null, null, null, 1 AS Countr, null" mySQL = mySQL & " From tblPME" mySQL = mySQL & " ) AS X" Debug.Print mySQL آخر سطر معناه ، اكتب لي نتيجة المتغير mySQL ، والنتيجة ستكون بالبيانات ، فمثلا نتيجة هذه الاسطر اعلاه هي: SELECT TOP 33 sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage FROM ( SELECT 0 as sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage From tblPME WHERE SelectTo604 = True union Select id, null, null, null, null, 1 AS Countr, null From tblPME ) AS X نفس الشيء ممكن نعمله في الكود اعلاه ، ممكن نضيف السطر الاخير هنا ايضا : myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [detach]='منتدب'" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID myCriteria = myCriteria & " Or [ID]=12" debug.print myCriteria ولما يعطيك الطريقة الصحيحة ، تقدر تنسخها الى امر Dlookup ، في الاستعلام 🙂 آه ، وين تنكتب هذه العيارة ، هنا : 19 دقائق مضت, أحمد الفلاحجى said: ونتمنى منك ومن جميع اساتذتنا وجميع الاعضاء شروحات اكثر واكثر وياريت vba باستفاضه اكثر فكل ما ابحث الاقى شويه فى شروحات مقطعه وخفيفه اولا الجواب الاوسع ، انه ما ممكن ، وخصوصا انك لما تشوف شرح يفتقد لمثال واقعي علشان تفهمه وتطبق عليه ، لذلك ، تابع الاجابات ، ومنها تفهم اكثر ، بطرق مقطعة ، ولكن تثبت في الدماغ 🙂 اما للشروحات ، فهناك الكثير منها في المنتدى ، واخونا صالح قام بهذا العمل الجبار : جعفر 2 1
أبوبسمله قام بنشر نوفمبر 13, 2019 قام بنشر نوفمبر 13, 2019 جزاك الله خيرا ومنك نستزيد ونتعلم اخى واستاذى العزيز انا بالفعل بحاول اشترك فى اجابات السائلين لاننى انا المستفيد لانى لما بشوف السؤال وبحاول وببحث بلاقى معلومات كتير وطرق اكتر وساعات معلومات غير الموضوع بس ظهرت بنتائج البحث وعنوان الموضوع شدنى بشوفه للاستفاده حتى لو مش محتاجه حاليا انا فاتح الموضوع اللذى اشرت اليه ده وموضع اخر لاستاذنا ابو ادم ومواضيع استاذنا ابوخليل جزاه الله خيرا وضعها بالمشاركه المثبته حتى اننى بستفيد من مواضيع واكواد فى الاكسيل وبتمشى الحمدلله ونفسى الاقى شروحات اكتر للتعلم وللاستذاده والفهم والتعلم تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق استاذى العزيز طبتم واهتديتم
أبوبسمله قام بنشر نوفمبر 13, 2019 قام بنشر نوفمبر 13, 2019 في ٤/٥/٢٠١٥ at 11:54, jjafferr said: لذلك ، فانا هنا اعطيك احد البدائل (والتي لا يعرفها الكثير ، لأنها تعمل على الاكسس 2003 فما فوق) ، فالكود التالي ، يقوم بزيارة/استعلام الجدول عن طريق DLookup مرة واحدة ، ويأخذ 10 بيانات مرة واحدة ، فلذا يمكن ان يستبدل كودك اعلاه: Dim x() As String A = DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn") x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9) جعفر ده الكود الاكثر من رائع اللى استخدمته على DLookup كما فى الشرح وعلى DLookup وبداخله Sum للحقول وعلى Dlast جزاك الله خيرا على هذا الكود اخى جعفر وفعلا بالتعلم والمعرفه الصحيحه يمكن تطويع اى كود وباى شكل ليلبى الحاجه بايسر وانفع واقل جهد وعبء على البرنامج وعلى التعديلات والتحديثات اللتى تطرأ مستقبلا على فكره البرنامج جزاكم الله خيرا ودمتم سالمين واسال الله لجميع اساتذتنا ومعلمينا ولجميع من قدم معلومه حتى لو بسيطه الفردوس الاعلى وان يبارك له فى ماله واهله ويرزقه من حيث لا يحتسب طبتم واهتديتم
سالم الشيخي قام بنشر يناير 16, 2021 قام بنشر يناير 16, 2021 ممكن يكون في حقل منظم الذي توضع فيه المعادلة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.