ابوخليل قام بنشر منذ 14 ساعات قام بنشر منذ 14 ساعات السلام عليكم احبتي .. احاول جلب تاريخ من جدول tbl2 بما يماثله من جدول tbl1 داخل الاستعلام ولكنه لا يستجيب ايضا حاولت جلبه من خلال رسالة في النموذج ولكنه لا يستجيب حاولت مرارا وتكرارا .. عجيب جدا .. شروط الدالة صحيحة ، وايضا المكتبات صحيحة قد تكون المشكلة عندي فقط .. لذا اعرضه عليكم d8.rar
شايب قام بنشر منذ 10 ساعات قام بنشر منذ 10 ساعات 24 دقائق مضت, AbuuAhmed said: قلة تركيز ماشاء الله يا ابا احمد فكرتي دائما عندما يكون هناك اكثر من معيار يكون سطر لكل معيار اسهل في المراجعة Dim i As Variant Dim strWhere As String strWhere = "[date2] = " & Format(Me.text1, "\#mm/dd/yyyy\#") strWhere = strWhere & " and [usr_id]='" & [text2] & "'" i = DLookup("[date2]", "[tbl2]", strWhere) MsgBox i الشايب 1
ابوخليل قام بنشر منذ 10 ساعات الكاتب قام بنشر منذ 10 ساعات منذ ساعه, AbuuAhmed said: قلة تركيز DLookup_01.accdb 432 kB · 3 downloads ههههه جبتها بالصميم أسأل الله حسن الخاتمة .. لكن سؤالي هي ان الحقول تاريخ .. وانت حولتها الى رقم .. مالسبب من امتناع جلبها كتاريخ .. مع اني كنت دوما استخدم ذاك التعبير ويعمل بشكل صحيح DLookup("[date2]", "[tbl2]", "[date2] =#" & Me.text1 & "# And [user_id] ='" & Me.text2 & "'") والحقول فعلا تاريخ وتنسيق الحقول واحد متشابه والآن اكتشفت صحة ملاحظتك بعدم التركيز .. فأزيدك من الشعر بيت .. ان اليوزر في الجدولين مختلف 49 دقائق مضت, شايب said: ماشاء الله يا ابا احمد فكرتي دائما عندما يكون هناك اكثر من معيار يكون سطر لكل معيار اسهل في المراجعة Dim i As Variant Dim strWhere As String strWhere = "[date2] = " & Format(Me.text1, "\#mm/dd/yyyy\#") strWhere = strWhere & " and [usr_id]='" & [text2] & "'" i = DLookup("[date2]", "[tbl2]", strWhere) MsgBox i الشايب اهلا باخوي الشايب هذه اين يكون مكانها في الاستعلام .. اعتقد يمكن عندما نحول هذه الاسطر الى دالة آمل كرما تشغيل الاستعلام بهذه وارفاقه .. 1
شايب قام بنشر منذ 4 ساعات قام بنشر منذ 4 ساعات 5 ساعات مضت, ابوخليل said: هذه اين يكون مكانها في الاستعلام .. انا عملتها وفقا للمثال في النموذج وبالنسبة لي لا افضل استخدام اي من دوال المجال في الاستعلام لانها تجعل الاستعلام بطيء التنفيذ اذا كان عدد السجلات كبير ويمكن الاستغناء عنها باستخدام صلة بين الجدولين في الاستعلام هذا حسب فهمي للامر اما بالنسبة لاستخدامها في الاستعلام فان الطريقة الاسهل من تحويل الامر الى دالة عن طريق جمع الحقلين مع بعضهما والمعيارين ايضا مع بعض ليكون الامر Dim i i = DLookup("[date2]", "[tbl2]", "[date2]& [user_id]=#" & Me.text1 & "# &'" & Me.text2 & "'") MsgBox i او استخدام تعديل الاستاذ ابو احمد فهو الافضل الشايب 1
Moosak قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات 8 ساعات مضت, ابوخليل said: سؤالي هي ان الحقول تاريخ .. وانت حولتها الى رقم .. بالنسبة لي شخصيا بدأت أنهج هذا الأسلوب ( تحويل حقول التاريخ إلى أرقام في دوال المجال) .. تعطيك دقة في النتائج وتكفيك شر تنسيقات التواريخ .. 🙂 ملاحظة مهمة جدا إذا أردت تطبيق هذا المنهج : لو أردت تحويل حقل تاريخ إلى رقم يمكنك استخدام الدالة cLng هكذا -----> clng(dateField) ولكن لو أردت تحويل حقل تاريخ مع وقت استخدام الدالة cDbl هكذا -----> cDbl(dateField) وذلك لأن الوقت يتم تخزينه بعد الفاصلة عندما يتم تحويل التاريخ إلى رقم بهذه الصورة >> 1
منتصر الانسي قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه 8 ساعات مضت, ابوخليل said: والحقول فعلا تاريخ وتنسيق الحقول واحد متشابه اخي الفاضل @ابوخليل حقول التاريخ أساساً هي حقول رقمية يكون الجزء الصحيح منها هو التاريخ (اليوم يساوي 1 صحيح) والكسور تمثل الوقت (الثانية تساوي 1 من 10000 تقريبا) مثلما ذكر الأخ @شايب 2 ساعات مضت, شايب said: بالنسبة لي لا افضل استخدام اي من دوال المجال في الاستعلام لانها تجعل الاستعلام بطيء التنفيذ اذا كان عدد السجلات كبير هذا صحيح ليس للأسباب المذكورة فقط وإنما لأنك ننفذ دوال VBA مع محرك البيانات ولغة SQL 2 ساعات مضت, شايب said: ويمكن الاستغناء عنها باستخدام صلة بين الجدولين في الاستعلام وهذا ايضاً صحيح ولكن النتائج عادة ستقتصر على السجلات التي يوجد مايقابلها في الجدول الأخر الحل الأفضل من وجهة نظري هو إستخدام الإستعلامات الفرعية وهي سهلة جداَ أرفق لكم مثال الأخ ابو خليل وقد قمت بعمل حل له بإستخدام استعلام فرعي وقمت بإضافة بعض الأشياء لتوضيح سبب المشكلة وكذا لمعرفة القيمة الرقمية لأي للتاريخ والوقت مع تحياتي d8.rar 2
ابوخليل قام بنشر منذ 1 ساعه الكاتب قام بنشر منذ 1 ساعه 26 دقائق مضت, منتصر الانسي said: أرفق لكم مثال الأخ ابو خليل وقد قمت بعمل حل له بإستخدام استعلام فرعي شكرا اخوي منتصر .. تم الاستبدال .. لتصبح اللغة واحدة انا اعرف ان دوال المجال لا يصلح توظيفها في الاستعلامات وكنت احذر منها ... الكثير الذين يشتكون من بطء الاستعلامات عند زيادة حجم البيانات والسبب هذه الدوال ولكن الاستعلام الذي استخدمه خاص بشخص واحد لا تتجاوز سجلاته 30 سجلا ابدا 1
شايب قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه 27 دقائق مضت, منتصر الانسي said: وهذا ايضاً صحيح ولكن النتائج عادة ستقتصر على السجلات التي يوجد مايقابلها في الجدول الأخر لان هذا الي انا فهمته 3 ساعات مضت, شايب said: هذا حسب فهمي للامر وقد اشرن الى ذلك الشايب 1
منتصر الانسي قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه 14 دقائق مضت, شايب said: لان هذا الي انا فهمته انا لم اقصد ان ماقلته غير صحيح بل قصدت في حال اذا تطلب الأمر إظهار جميع السجلات وخاصة عندما تكون العلاقات معقدة خصوصا إذا شملت أكثر من حقل واحد ولكن في 90% وأكثر من الحالات فكما تفضلت فإن استخدام صلة بين الجدولين في الاستعلام هي الحل الأفضل تحياتي
AbuuAhmed قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه 13 ساعات مضت, ابوخليل said: حاولت مرارا وتكرارا .. عجيب جدا .. شروط الدالة صحيحة ، وايضا المكتبات صحيحة مشكلتك في هذه الجملة فيه غلطتين، الأولى And خارج نص الجملة، والأخرى في اسم الحقل ناقص حرف. الخطأ "#" And "[usr_id] ='" التصحيح "# And [user_id] ='"
ابوخليل قام بنشر منذ 45 دقائق الكاتب قام بنشر منذ 45 دقائق 3 دقائق مضت, AbuuAhmed said: مشكلتك في هذه الجملة فيه غلطتين، الأولى And خارج نص الجملة، والأخرى في اسم الحقل ناقص حرف. الخطأ "#" And "[usr_id] ='" التصحيح "# And [user_id] ='" لم اترك سبيلا او طريقا الا سلكته .. ساعات .. وانا ابدل واعدل وازيد وانقص استنجدت باسعافات اخونا @Moosak كنت محتفظا به لوقت الازمات .. ولا خرجت بنتيجة .. يبقى جامد ولا يرجع شيئا .. لذا عرضته هنا .. قلت ربما الخلل في جهازي .. استفسار يابو احمد لا هنت : ذكرت في موضوعنا الذي قبل هذا انك ابتعدت عن عمليات حذف بيانات الجداول .. لتأثيرها على قاعدة البيانات بهذا النص : (( تجنبت عمليات الحذف والإضافة للسجلات حتى لا تتضخم قاعدة البيانات مع الوقت )) حذف الجداول كاملة وبناءها من جديد اتوقع له تأثير اكبر ولكنك تتكلم عن الحذف للسجلات والاضافة اذا الجدول يشتمل على ترقيم تلقائي فالتضخم هذا مفهوم هل التضخم ينطبق على الجداول التي لا تحتوي على ترقيم تلقائي ولا مفاتيح ولا حقول فريدة ؟؟؟ وهل الضغط والاصلاح بين فترة واخرى مفيد .. ؟
AbuuAhmed قام بنشر منذ 10 دقائق قام بنشر منذ 10 دقائق 32 دقائق مضت, ابوخليل said: هل التضخم ينطبق على الجداول التي لا تحتوي على ترقيم تلقائي ولا مفاتيح ولا حقول فريدة ؟؟؟ وهل الضغط والاصلاح بين فترة واخرى مفيد .. ؟ سلوك قاعدة بيانات الأكسس كل سجل يضاف سيأخذ مساحة من التخزين وهذا طبيعي ولكن غير الطبيعي أن المساحة ستبقى ولو حذفت السجل. وحل هذه المشكلة ستكون باستخدام "الضغط والإصلاح". ولكن هذه المشكلة لن تحدث مع قاعدة بيانات SQL فسلوكها مختلف بحيث تتخلص من مسحات السجلات المحذوفة أولا بأول أو تعيد استخدامها بدون عمليات الضغط. معلومات قديمة جدا وربما استجدت أمور أنا بعيد عنها.
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.