PDA

View Full Version : نمایش ندادن رکوردهای با تعداد فیلد تکراری



hisitech
سه شنبه 01 خرداد 1386, 12:34 عصر
سلام بر دوستان عزیز:
1-این مشکلی رو که من مطرح میکنم تو این تاپیک (http://barnamenevis.org/forum/showthread.php?t=49425&highlight=%DD%26%231740%3B%E1%CF+%CA%98%D1%C7%D1%2 6%231740%3B)گفته شده بود کسی جواب نداده.
من از یک جدول با تعداد فیلدهای زیاد می خواهم فیلدهای مثلا name,lname,haddress رو برای تهیه گزارش جدا کنم با یک سری شروط خاص که از چند تا کمبو باکس میگیرم ..مشکل اینجاست که من می خواهم فقط یک نمونه از رکوردهایی که نام و نام خانوادگی اونها یکی است نمایش داده بشند (اگر از DISTINCT استفاده کنم هر سه فیلد نام ، نام خانوادگی، آدرس رو از نظر تکراری بودن چک میکنه که من اینرو نمی خواهم) (از group by هم در صورتی میشه استفاده کرد که همه ی فیلدهای ذکر شده بعد از select رو بنویسی )


SELECT membersinf.name, membersinf.haddress, membersinf.lname
FROM membersinf
WHERE (((membersinf.haprovinceid)=IIf(IsNull(Forms!Form1 !os),[haprovinceid],Forms!Form1!os)) And ((membersinf.hacityid)=IIf(IsNull(Forms!Form1!shah r),[hacityid],Forms!Form1!shahr)) And ((membersinf.sexid)=IIf(IsNull(Forms!Form1!jens),[sexid],Forms!Form1!jens)) And ((membersinf.haareaid)=IIf(IsNull(Forms!Form1!mant ),[haareaid],Forms!Form1!mant)) And ((membersinf.MCategoryID)=IIf(IsNull(Forms!Form1!t abag),[MCategoryID],Forms!Form1!tabag)))2- کوئری رو چطور تغییر بدم که بشه چند آیتم انتخاب شده توسط کاربر از یک لیست باکس با قابلیت انتخاب چندگانه هست رو توی شرط اعمال کنه (تو کد بالا tabag اسم کمبوباکسی هست که فقط میشه یک category رو از توش انتخاب کرد من میخواهم بجای این کمبوباکس یک لیست باکس چندگانه بذارم و توی نتایج حاصل همه ی category های انتخابی نمایش داده بشن)

hisitech
چهارشنبه 02 خرداد 1386, 08:40 صبح
ممنون:عصبانی:
در مورد سوال اول راهش رو پیدا کردم البته تو یه فورم خارجی (http://www.access-programmers.co.uk/forums/showthread.php?t=96759&highlight=repeated+fields)

SELECT membersinf.name, membersinf.lname, MAX([membersinf.haddress]) AS haddress
FROM membersinf
WHERE (((membersinf.haprovinceid)=IIf(IsNull(Forms!Form1 !os),[haprovinceid],Forms!Form1!os)) And ((membersinf.hacityid)=IIf(IsNull(Forms!Form1!shah r),[hacityid],Forms!Form1!shahr)) And ((membersinf.sexid)=IIf(IsNull(Forms!Form1!jens),[sexid],Forms!Form1!jens)) And ((membersinf.haareaid)=IIf(IsNull(Forms!Form1!mant ),[haareaid],Forms!Form1!mant)) And ((membersinf.MCategoryID)=IIf(IsNull(Forms!Form1!t abag),[MCategoryID],Forms!Form1!tabag)))
GROUP BY membersinf.name, membersinf.lnameامیدوارم بقیه کسانی که سرچ می کنن اینو پیدا کنن ......سوال دوم رو لطف کنین جواب بدین

hisitech
پنج شنبه 03 خرداد 1386, 09:04 صبح
من که مشکلم حل شد از تو همون فورم خارجی که گفتم .....ولی خدا وکیلی حداقل یک چیزی می گفتید ما دلمون خوش بشه .ما که اکسس کار نیستیم ولی......:اشتباه: (تا این لحظه 31 نفر این تاپیک رو دیدن و لی هیچی ...)

اما راه حل رو اینجا میذارم تا بعدا اگر کسی سرچ کرد به دردش بخوره
برای لیست باکس باید کوئری رو ساخت ..دوتا مثال زیر رو حتما ببینید .

موفق باشید

انگوران
پنج شنبه 03 خرداد 1386, 10:33 صبح
جالب بود دست شما درد نکنه .