PDA

View Full Version : مشکل در کوئری



barname_m708
چهارشنبه 30 اردیبهشت 1388, 13:28 عصر
با سلام خدمت دوستان
من در این کوئری میخوام اطلاعات تکراری خذف بشه.همون طوری که ملاحظه میفرمایید وقتی کوئری اجرا میشه از هر رکورد چند بار تکرار وجود داره.لطفا راهنامیی بفرمایید چطوری باید این مشکل رو حل کنم

mehdimdp
چهارشنبه 30 اردیبهشت 1388, 14:13 عصر
ميشه بگيد هدف شما از ساختن اين كوئري چيه ؟
يعني چه اطلاعاتي رو ميخواين ازين كوئري بگيريد ؟

amir4_1363
چهارشنبه 30 اردیبهشت 1388, 14:42 عصر
دوست عزیز کوئری شما یه مشکل داشت که من حلش کردم البته مشکلش تکرار رکوردها نبود چون منبع رکوردها تیبلها هستند در تیبلها خودتون برای هر اسم چند رکورد تهیه کردین میتونید باتهیه یک فرم این مشکل رو حل کنید نه با یک کوئری وبرای ثبت نشدن اطلاعات تکراری هم از خاصیت کلید در تیبل میتونید استفاده کنید هم از طریق کد نویسی بازم اگه مشکلی داری واضح تر بگو تا راهنماییت کنم

barname_m708
چهارشنبه 30 اردیبهشت 1388, 14:52 عصر
ميشه بگيد هدف شما از ساختن اين كوئري چيه ؟
يعني چه اطلاعاتي رو ميخواين ازين كوئري بگيريد ؟

با سلام
مثلا وقتی در فیلد مقطع تحصیلی ،فیلد فوق دیپلم رو از این کوئری میخوام استخراج کنم هر رکورد چندین بار تکرار شده.که این برای من ایجاد مشکل میکنه

با سلام خدمت آقای قربانی لطفا منو راهنمایی بفرمایید

barname_m708
چهارشنبه 30 اردیبهشت 1388, 16:19 عصر
با سلام
مثلا وقتی در فیلد مقطع تحصیلی ،فیلد فوق دیپلم رو از این کوئری میخوام استخراج کنم هر رکورد چندین بار تکرار شده.که این برای من ایجاد مشکل میکنه

با سلام خدمت آقای قربانی لطفا منو راهنمایی بفرمایید
آقای قربانی لطفا راهنمایی بفرمایید

barname_m708
چهارشنبه 30 اردیبهشت 1388, 18:28 عصر
آقای قربانی لطفا راهنمایی بفرمایید

آقای قربانی لطفا راهنمایی بفرمایید

barname_m708
دوشنبه 04 خرداد 1388, 11:30 صبح
آقای قربانی لطفا راهنمایی بفرمایید

تو رو خدا کمکم کنید

dadsara
دوشنبه 04 خرداد 1388, 11:55 صبح
با سلام خدمت دوستان
من در این کوئری میخوام اطلاعات تکراری خذف بشه.همون طوری که ملاحظه میفرمایید وقتی کوئری اجرا میشه از هر رکورد چند بار تکرار وجود داره.لطفا راهنامیی بفرمایید چطوری باید این مشکل رو حل کنم
سلام
دوست عزیز رکوردها تکراری نیستند در اینحالت کار اکسس درست انجام شده چرا که باتوجه نوع ارتباط و جدولهای شما هر سه جدول در یکدیگر ضرب می شوند و خروجی کار بدست می آید.
اکر خواسه شما تعداد مقاطع تحصیلی می باشد در نمونه پیوست کوئری 1 این عمل انجام شده در غیراینصورت بفرمائید تا مشکل حل شود

barname_m708
دوشنبه 04 خرداد 1388, 13:45 عصر
سلام
دوست عزیز رکوردها تکراری نیستند در اینحالت کار اکسس درست انجام شده چرا که باتوجه نوع ارتباط و جدولهای شما هر سه جدول در یکدیگر ضرب می شوند و خروجی کار بدست می آید.
اکر خواسه شما تعداد مقاطع تحصیلی می باشد در نمونه پیوست کوئری 1 این عمل انجام شده در غیراینصورت بفرمائید تا مشکل حل شود
با عرض سلام و تشکر
باید بگم که من میخوام در یک کوئری لیست افرادی که مثلا لیسانس دارند رو داشته باشم.فیلدهای مرد نیاز من در این کوئری عبارتند از:نام ، مقطع تحصیلی---
لطفا منو راهنمایی بفرمایید

dadsara
دوشنبه 04 خرداد 1388, 15:59 عصر
سلام
فرم1 را اجرا کنید بعد از انتخاب مدرک تحصیلی کلید جستجو را فشار دهید
** اگر ملاحظه می کنید که بعضی از مقاطع تحصیلی بیش از یکبار تکرار شده اند بخاطر نوع تایپ شما می باشد **

barname_m708
دوشنبه 04 خرداد 1388, 16:35 عصر
سلام
فرم1 را اجرا کنید بعد از انتخاب مدرک تحصیلی کلید جستجو را فشار دهید
** اگر ملاحظه می کنید که بعضی از مقاطع تحصیلی بیش از یکبار تکرار شده اند بخاطر نوع تایپ شما می باشد **
جناب dadsara با تشکر و قدردانی از شما
من تقریبا عین کاری که شما انجام دادید رو با چند تا Combobox و یک subform (به جای listbox)انجام دادم .چون من میخوام در برنامه به صورت ترکیبی عمل جستجو انجام بشه.ممکنه نمونه من رو طوری اصلاح کنید که وقتی عمل جستجو رو انجام دادم در نتیجه جستجو ،اطلاعات تکراری نشون داده نشه(مثل کاری که شما با استفاده از یک Listbox انجام دادید.)
برای مثال وقتی در textbox فعالیت ها، مقدار "موتور" رو جستجو میکنم اکثراً رکورد های تکراری رو نمایش میده.آیا راهی وجود داره که از تکرار رکورد ها در Subform جلوگیری کنه.
اگه بتونید مشکل منو حل کنید بینهایت سپاسگذارم

dadsara
سه شنبه 05 خرداد 1388, 09:45 صبح
سلام
فرم جستجو براساس مقطع تحصیلی و نوع فعالیت تصحیح شد
** مجددا تکرار می کنم باتوجه به نوع طراحی شما خروجی درست است بلحاظ اینکه شما در جدول مقاطع تحصیلی را و در جدول دیگر فعالیتها را ذخیره می کنید اگر ترکیب این سه جدول را با یکدیگر مشاهده کنید می بینید که رکورد تکراری وجود ندارد
در طراحی شما ، فرض کنید فردی به نام حسن دارای دو مدرک تحصیلی و دارای 3 فعالیت باشد خوب طبیعی است که حاصل خروجی درصورتیکه از هر سه جدول استفاده کنید 6 رکورد خواهد بود
***** به منبع داده سابفرم توجه کنید*****

barname_m708
سه شنبه 05 خرداد 1388, 15:36 عصر
سلام
فرم جستجو براساس مقطع تحصیلی و نوع فعالیت تصحیح شد
** مجددا تکرار می کنم باتوجه به نوع طراحی شما خروجی درست است بلحاظ اینکه شما در جدول مقاطع تحصیلی را و در جدول دیگر فعالیتها را ذخیره می کنید اگر ترکیب این سه جدول را با یکدیگر مشاهده کنید می بینید که رکورد تکراری وجود ندارد
در طراحی شما ، فرض کنید فردی به نام حسن دارای دو مدرک تحصیلی و دارای 3 فعالیت باشد خوب طبیعی است که حاصل خروجی درصورتیکه از هر سه جدول استفاده کنید 6 رکورد خواهد بود
***** به منبع داده سابفرم توجه کنید*****
آقای dadsara با عرض سلام و تشکر از راهنمایی شما
من میخواستم به چند نکته اشاره کنم.اول اینکه آیا طراحی جداول من اشتباه است یا نه؟
دوم اینکه شما در نمونه ای که قبلاً اصلاح کرده بودید و از Listbox استفاده کرده بودید. که اتفاقاً توی Listbox رکورد تکراری وجود نداشت.و سوم اینکه من برای اینکه رکورد های تکراری نشون داده نشن باید نوع Sub form رو از cuontinues form به single تغییر بدم؟ اگه راهی رو پیشنهاد میکنید لطفا در نمونه برنامه ،آن رو اصلاح کنید

ضمنا من کلیت کار رو خدمت شما عرض کنم:
من میخوام با استفاده از جستجوی ترکیبی در آن فرمی که ملاحظه فرمودید بتونم عملیات جستجو رو بر اساس همه فیلدهای مورد نظر کاربر انجام بدم.برای مثال من میخوام بدونم در شرکت X چند تا فوق لیسانس وجود داره که در زمینه موتور فعالیت دارند.حالا میخوام نتیجه این جستجو در یک subform نمایش داده بشه به شرطی که فیلدهای تکراری فقط یک بار نمایش داده بشه.لطفاً هر راهنمایی که به نظرتون میرسه بفرمایید که معمولا در چنین نوع search ی چگونه باید عمل کرد.
ممنون از راهنمایی های خوب شما.

dadsara
سه شنبه 05 خرداد 1388, 16:26 عصر
سلام
1- من نمی دانم نرم افزار شما قرار چه کار کنه که در خصوص طراحی شما پیشنهاد بدهم
2- در نمونه لیست باکس اگر شما دقت می کردید جستجو فقط براساس مدرک تحصیلی بود و از جدول سوم (فعالیت) استفاده نشده بود
3- هیچ رکوردی (ترکیب فیلدها بایکدیگر ) مشاهده نمی شود ، در خصوص فرم همانگونه که خودتان می فرمائید فقط نحوه نمایش اطلاعات تغییر می کند و این ربطی به تکراری بودن و یا نبودن ندارد
4- اگر تعداد جستجوهای کاربر مشخص است که می توانید براساس آن فرم جستجو درست کنید و دراختیار کاربر قرار دهید و الا باید بدنبال راه دیگری باشید
***در ضمن اگر کاربر را نمی توانید محدود کنید می توان از تاپیکی که قبلا بنام گزارش ساز ایجاد کرده بودم استفاده کنید در این حالت هیچ محدودیتی از نظر تعداد جستجوها ندارید من خودم این فرم در چند برنامه استفاده می کنم ***
فقط نکته آخر اگر بفرمائید به چه دلیلی برای مدرک تحصیلی یک جدول دیگر درست کرده اید شاید بتوان در حدود 80% مشکلات را حل کرد

barname_m708
سه شنبه 05 خرداد 1388, 18:52 عصر
سلام
1- من نمی دانم نرم افزار شما قرار چه کار کنه که در خصوص طراحی شما پیشنهاد بدهم
2- در نمونه لیست باکس اگر شما دقت می کردید جستجو فقط براساس مدرک تحصیلی بود و از جدول سوم (فعالیت) استفاده نشده بود
3- هیچ رکوردی (ترکیب فیلدها بایکدیگر ) مشاهده نمی شود ، در خصوص فرم همانگونه که خودتان می فرمائید فقط نحوه نمایش اطلاعات تغییر می کند و این ربطی به تکراری بودن و یا نبودن ندارد
4- اگر تعداد جستجوهای کاربر مشخص است که می توانید براساس آن فرم جستجو درست کنید و دراختیار کاربر قرار دهید و الا باید بدنبال راه دیگری باشید
***در ضمن اگر کاربر را نمی توانید محدود کنید می توان از تاپیکی که قبلا بنام گزارش ساز ایجاد کرده بودم استفاده کنید در این حالت هیچ محدودیتی از نظر تعداد جستجوها ندارید من خودم این فرم در چند برنامه استفاده می کنم ***
فقط نکته آخر اگر بفرمائید به چه دلیلی برای مدرک تحصیلی یک جدول دیگر درست کرده اید شاید بتوان در حدود 80% مشکلات را حل کرد
با عرض سلام

لطفا اگه ممکنه لینکه مربوط به تایپیک گزارش ساز رو برای من قرار بدین.
دلیل اینکه برای مدرک تحصیلی از یک جدول دیگه استفاده کردم اینه که ممکنه در برنامه یک نفر چند تا مدرک داشته باشه.مثلاً لیسانس و فوق لیسانس

لطفاً راهنمایی بفرمایید

dadsara
چهارشنبه 06 خرداد 1388, 09:31 صبح
سلام
اگر فردی دارای چندین مدرک تحصیلی باشد طبیعی است در گزارشات باید آخرین مدرک تحصیلی افراد قید شود
پیشنهاد : برای این عمل کافی است ابتدا در یک کوئری به ازاء هر فرد آخرین مدرک تحصیلی استخراج شود سپس باقی کارها انجام گیرد در اینصورت شما رکورد تکراری نخواهید داشت
** درصورتیکه در جدول مقاطع تحصیلی تاریخ اخذ مدرک تحصیلی را ندارید حتما آنرا ایجاد کنید**