اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

استعلام جدولي بين تاريخين


morsy

الردود الموصى بها

الاخوة الاعزاء اصدقاء المنتدى الكرام ......... السلام عليكم ورحمة الله وبركاته

قبل البدء فى طرح سؤالى اتقدم بالشكر والعرفان للاخ العزيز الذى افتقدناه جميعا ابو هاجر والذي امثلته عامرة بها مكتبة منتدانا العزيز وكمبيوترتنا لا تخلو منها

وهذا مثال له وكل ما اتمناه هو التعديل على مثالى انا على الاستعلام daily_data_Crosstab بحيث يعمل كما يعمل تقرير الاخ ابوهاجر من خلال نموذج مماثل لـ DLG اي بشرط التاريخين ولكن على استعلامي وتقريري daily_data_Crosstab ولكم جزيل الشكر

_________________________.rar

رابط هذا التعليق
شارك

الاخ العزيز Rudwan أشكرك جزيل الشكر على المرور وعلى اهتمامك واعتزر على التأخير لأن جهازى كان محتاج فورمات ..... آسف مرة اخرى . أما بخصوص ما ذكرت فانا بالفعل كنت استخدمت معيار تاريخ ثابت ومشى الحال معى ولكن ما اريدة هو ان ختار التاريخ لذلك الاستعلام من حقلين فى نموذج بحيث كلما اختلف التاريخين اختلفت النتائج وهكذا ..... اى عن طريق معيار Between forms!formName!a and forms!formName!b حيث a , b هما اسماء حقوال النموذج الذي ادخل منه التاريخين ..... وتقبل منى خالص الشكر وفائق الاحترام

رابط هذا التعليق
شارك

هذه المشكله تعبتنى كتير ولم اجد لها حل مباشر

ولكن لكل شىء حل

اولا

اعمل استعلام تكوين جدول واختار فيه الحقول التى تريدها ، واكتب المعيار الذى تريده فى خانة التاريخ

ثانيا

اعمل استعلام جدولى على الجدول الجديد الذى تكون

ثالثا

اعمل مكرو يقوم بتفيذ الاستعلام الاول ثم الثانى بالترتيب

رابعا

اعمل زر امر يشغل هذا المكرو

فيكون فى كل مره تغير فيها التاريخ يتم تحديث الجدول الذى كون وعما استعلام جدولى على القيم الجديده

واسئلك الدعاء لى بالهداية والثبات

رابط هذا التعليق
شارك

شكرا للأخ براء على مجهوده , لكن يمكن اختصار تلك العملية باستخدام المتغيرات في الاستعلام الجدولي نفسه على الشكل التالي

قم بفتح الاستعلام الجدولي - وضع التصميم - من قائمة View , و اختر Sql View

احذف الكود الموجود فيه , و انسخ الكود التالي كما هو

PARAMETERS [StartingDate] DateTime, [Ending Date] DateTime;
TRANSFORM Count(daily_data.mobily_no) AS Countمنmobily_no
SELECT daily_data.PF, imp_data.imp_name, Count(daily_data.mobily_no) AS [إجمالي mobily_no]
FROM bandles INNER JOIN (daily_data INNER JOIN imp_data ON daily_data.PF = imp_data.PF) ON bandles.bandle_no = daily_data.bandle_kind
WHERE (((daily_data.date) Between [StartingDate] And [Ending Date]))
GROUP BY daily_data.PF, imp_data.imp_name
PIVOT bandles!bandle_kind;

قم بتشغيل الاستعلام و اختر تاريخ بداية و نهاية

رابط هذا التعليق
شارك

الاخ العزيز Rudwan لك منى جزيل الشكر على الاهتمام ..... واعرفك باننى قد نسخت الكود بالفعل وعندما شغلت الاستعلام ظهرت الرسالة التالية التى بالمرفقات

فياليت تقوم انت بالتعديل على البرنامج الاول وتشوف النتيجة وشكرا مرة اخرى

post-1141-1210521003_thumb.jpg

رابط هذا التعليق
شارك

الاخ العزيز baraa لك منى جزيل الشكر .... سوف اجرب طريقتك واخبرك بالنتيجة انشاء الله واذا كنت افضل طريقة الاخ Rudwan لانها خطوة واحدة بس ياريت تضبط ونستفيد جميعا لان هذا الاستعلام نحن نحتاجة كثيرا خاصة اننا نريده يعمل مع اكثر من معيار والى الان لم يضبط المعيار الواحد الله يسهل ان شاء الله ... ودعائى لك وللجميع بالتوفيق والثبات حسن الختام باذن الله

رابط هذا التعليق
شارك

الاخ العزيز baraa بعد التحية .... لقد جربت ما طلبت ولكن لم تفلح معى فلقد عملت استعلام تحديد ووضعت الحقول الاربعة رقم الموظف - ورقم الهاتف - ونوع الباقة - والتاريخ ووضعت معيار على السريع كالتالي between [from] and [to] وعملت عليه استعلام جدولى ولكن اعطانى كالسابق انه لم يتعرف على حقل from عموما اشكرك على مجهودك معى وياريت تجلاب على المثال المرفق بالاعلى عندك الجدول daily_data طبق مثالك عليه واخبرنى بالتيجة فى المثال وشكرا مرة اخرى

رابط هذا التعليق
شارك

الاخ العزيز Rudwan لك منى جزيل الشكر على الاهتمام ..... واعرفك باننى قد نسخت الكود بالفعل وعندما شغلت الاستعلام ظهرت الرسالة التالية التى بالمرفقات

فياليت تقوم انت بالتعديل على البرنامج الاول وتشوف النتيجة وشكرا مرة اخرى

هذا ملفك بعد التعديل

CrossTabParameter.rar

رابط هذا التعليق
شارك

الاخ العزيز Rudwan اشكرك جزيال الشكر على التعاون لقد عمل الاستعلام بالفعل حسب الكود الاخير الذى استخدمته داخل المثال حيث قارنت بين الكود الذى وضعته من قبل والكود داخل المثال الاخير هذا السطر WHERE (((daily_data.date) Between [startingDate] And [Ending Date])) الظاهر هو اللى كان عامل مشكلة.

وياريت تكمل جميلك وتوصلنى لحل ان استخدم المثال الاخير من خلال نموذج حيث اننى ساجرب واوافيك بالنتيجة باذن الله

رابط هذا التعليق
شارك

اخى rudwan بعد تجربتى للبرنامج وجدت انه لا يعمل مظبوط لانه يعطينى معيار التاريخ فقط ولكن لا تتغير النتائج حسب التاريخ المدخل جرب وقولى هل هذا مضبوط ام لا وانا سوف احاول التعديل على كودك لكى اجعله يعمل من خلال نموذج طالما انت وصلتنى للمعيار الذى ادخل فيه التاريخ يبقى هنوصل ان شاء الله انا بحاول الان وسوف اوافيك بالنتيجة

رابط هذا التعليق
شارك

الحمد لله لقد توصلت للحل الذى اريده وتريدونه معى الف شكر اخى rudwan بفضل الله ومن بعده بفضلك توصلت للحل انظر للمثال بعد التعديل على كودك اخي rudwan وشوف النموذج sales2date وغير في التاريخ كم تشاء شكرا مرة اخرى على تعاونك وعبقريتك

CrossTabParameter1.rar

رابط هذا التعليق
شارك

اخى العزيز Rudwan معلش اثقلت عليك ولكن انا عارف انك طويل البال ...... ايه رايك نجرب اضافة معيار اخر مثل رقم الموظف (pf) مع معيار التاريخ وذلك باضافة حقل فى النموذج نختار منه رقم الموظف وندخل التاريخين ونشغل الاستعلام (واردت فقط لفت نظرك لشئ وهو انك عرفت حقل التاريخ فى اول كود الاستعلام فاذا اضفت تعريف لرقم الموظف pf واضفت حقل رقم الموظف من النموذج الى جملة where اظن انها تضبط انشاء الله سوف احاول معك انت من جهه وانا من جهه وسنصل باذن الله) اثابك الله وحفظك من كل سوء

رابط هذا التعليق
شارك

اخى العزيز رضوان بفضل من الله وبفضل تعاونك معى توصلت لحل الاقتراح الاخير وهو اضافة معيار رقم الموظف pf الى معيار التاريخ وقد اصبحت الفكرة واضحة عندى واردت ان اوضحها للخوة الكرام وهو يجب تعريف الحقول التى سنعمل عليها معايير حسب نوعها رقمية ام تاريخ ام نص ..... وذلك بعد جملة PARAMETERS ثم اضافة الحقل من النموذج الى المعيار بعد جملة where وبذلك قد توصلنا سويا لحل مشكلة لطالما ارقت مضاجعنا وقصرت برامجنا فالحمد لله والله الموفق من قبل ومن بعد شكرا لك مرة اخرى اخى Rudwan وشكرى لكل الزملاء ... مرفق المثال الاخير بعد اضافة المعيار الثانى

رابط هذا التعليق
شارك

الحمد لله تم رفع الملف .... الاخوة الاعزاء ...... الاخ العزيز Rudwan بعد ان حلت مشكلة المعايير فى الاستعلام الجدولى واجهتنى مشكلة لم تكن فى الحسبان وهى اننى لم استطع انشاء تقرير ولا نموذج على هذا الاستعلام الذى تم تحويله الى جملة SQL وتظهر عندى الرسالة التالية وياريت نلاقى لها حل والا لن نستفيد من اللاستعلام اذا كان لن يطبع من خلال تقرير ولا يرى على الشاشة من خلال نموذج

رابط هذا التعليق
شارك

اخى العزيز Rudwan .... الاخوة الاعزاء المشاركين فى الموضوع ياريت احد يجرب ما انشئناه فى الاستعلام على المثال فى نموذج الاخ الحبيب الغالى ابو هاجر لعله ينفع ولقد حاولت ولكن يعطى خطأ لقد طبقت الكود التالى

Dim StrWhere As String

Dim strSQL As String

Dim R As Report

Dim A

Dim B

Dim dbs As Database

Dim qdfTRANSFORM As QueryDef

A = "#" & [Forms]![sales2date]![A] & "#"

B = "#" & [Forms]![sales2date]! & "#"

StrWhere = "" & A & " And " & B & ""

StrWhere = " Between DATE " & StrWhere & ""

strSQL = "TRANSFORM Count(daily_data.mobily_no) AS Countãämobily_no" _

& "SELECT daily_data.PF, imp_data.imp_name, Count(daily_data.mobily_no) AS [ÅÌãÇáí mobily_no]& Chr(13)" _

& "FROM bandles INNER JOIN (daily_data INNER JOIN imp_data ON daily_data.PF=imp_data.PF) ON bandles.bandle_no=daily_data.bandle_kind" & Chr(13) _

& "WHERE " & StrWhere & "" & Chr(13) _

& "GROUP BY daily_data.PF, imp_data.imp_name " & Chr(13) _

& "PIVOT bandles!bandle_kind;"

Set dbs = CurrentDb()

Set qdfTRANSFORM = dbs.CreateQueryDef _

("", strSQL)

DoCmd.OpenReport "rpt", acViewDesign

Set R = Reports("rpt")

R.RecordSource = qdfTRANSFORM.SQL

DoCmd.OpenReport "rpt", acViewPreview

End Sub

'On Error GoTo Err_qq_Click

'

' Dim stDocName As String

'

' stDocName = "aa"

' DoCmd.OpenQuery stDocName, acNormal, acEdit

'

'Exit_qq_Click:

' Exit Sub

'

'Err_qq_Click:

' MsgBox Err.Description

' Resume Exit_qq_Click

'

'End Sub

'

'

وحاولت انشاء تقرير باسم rpt ولكن الكود به خطأ ياليت احد يتوصل لحل لانشاء التقرير وللجميع الف تحية

رابط هذا التعليق
شارك

الاخ العزيز baraa بعد التحية .... لقد جربت ما طلبت ولكن لم تفلح معى فلقد عملت استعلام تحديد ووضعت الحقول الاربعة رقم الموظف - ورقم الهاتف - ونوع الباقة - والتاريخ ووضعت معيار على السريع كالتالي between [from] and [to] وعملت عليه استعلام جدولى ولكن اعطانى كالسابق انه لم يتعرف على حقل from عموما اشكرك على مجهودك معى وياريت تجلاب على المثال المرفق بالاعلى عندك الجدول daily_data طبق مثالك عليه واخبرنى بالتيجة فى المثال وشكرا مرة اخرى

الاخ الفاضل مرسى

انا قلت نعمل استعلام تكوين جدول وليس استعلام تحديد ، ثم اعمل استعلام جدولى على الجدول الجديد ، ثم مكرو يشغل الاستعلام الاول ثم الثانى

الاخ العزيز رضوان

نرجو من حضرتك التكرم بعمل تقرير ثابت لهذا الاستعلام الجدولى

وكذلك عمل استعلام جدولى يحتوى على حقلين للقيمة

وجزاك الله خيرا

رابط هذا التعليق
شارك

الاخ العزيز Rudwan تحية عاطرة لك على احتمالك لى وللمتابعة الحارة لهذا الموضوع الهام ... لقد جربت المثال كما قلت ولكنه مازال يعطة نتيجة واحدة لاى تاريخ ادخله وهى كل مبيعات الاشخاص ولا يرتبط بتاريخ محدد ولقد جربت التاريخ 21/4/2008 وقد ادخلته واعطانى نتيجة بكل المبيعات في كل التواريخ وليس التاريخ الذى ادخلته .... ولكن لو شغلت الاستعلام aa وادخلت تاريخين ورقم الموظف ستجد النتيجة مضبوطة وهذا ما اريدة فى التقرير يعنى ياريت تاخد الاستعلام aa وتحاول تنشئ تقرير عليه مع حل المشكلة التى ظهرت معى ولك كل الشكر على مجهودك المتواصل

رابط هذا التعليق
شارك

من الطبيعي أن نتيجة الاستعلام ستأتي بكل المبيعات لأنك حذفت شرط التاريخ من الاستعلام الذي عملته لك سابقا

ان تعريف المتغير لاتعني أن الاستعلام سيتحدد بناء على قيمة المتغيرات الا اذا أخذتها بنظر الاعتبار

PARAMETERS [StartingDate] DateTime, [EndingDate] DateTime;
TRANSFORM Count(daily_data.mobily_no) AS Countمنmobily_no
SELECT daily_data.PF, imp_data.imp_name, Count(daily_data.mobily_no) AS [إجمالي mobily_no]
FROM bandles INNER JOIN (daily_data INNER JOIN imp_data ON daily_data.PF=imp_data.PF) ON bandles.bandle_no=daily_data.bandle_kind
WHERE (((daily_data.date) Between [startingdate] And [endingdate]))
GROUP BY daily_data.PF, imp_data.imp_name
PIVOT bandles!bandle_kind;

تم تعديل بواسطه rudwan
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information