PDA

View Full Version : حذف ركورهاي اضافي به شرط تكراري بودن يك فيلد



فردان فردان
سه شنبه 20 بهمن 1388, 11:42 صبح
يك جدول دارم كه ركوردهاي و فيلدهاي زيادي دارد. يكي از فيلدها شماره تلفن است. مي خواهم اگر شماره تلفن تكراري وجود داشت فقط يك ركورد را نگهدارد و بقيه ركوردهاي مشابه را حذف كند.
چه راه حلي پيشنهاد مي كنيد.
با تشكر فراوان

pmoshir
سه شنبه 20 بهمن 1388, 11:58 صبح
دوست عزیز برای جلوگیری از ثبت اطلاعات تکراری، من کد نویسی در فرم رو پیشنهاد میدم.اگه نمونه برنامه رو بزارید شاید بتونم کمکتون کنم.

فردان فردان
چهارشنبه 21 بهمن 1388, 11:42 صبح
دوست عزیز برای جلوگیری از ثبت اطلاعات تکراری، من کد نویسی در فرم رو پیشنهاد میدم.اگه نمونه برنامه رو بزارید شاید بتونم کمکتون کنم.

مشكل من ورود اطلاعات تكراري نيست. ببينيد ما يك جدول داريم شامل نام و مشخصات فردي به اضافه شماره تلفن تماس هست.
حالا در اين بانك اطلاعات افراد زيادي وارد شده است و مثلا بعضي افراد يك خانواده اند و يك شماره تلفن مشترك را داده اند. حالا ما مي خواهيم پيامك براي اين افراد بفرستيم ولي براي شماره تكراري نمي خواهيم ارسال كنيم.
از طرفي مي خواهيم وقتي پيامك را مي فرستيم اسم يكي از افراد در پيامك قيد گردد. و در پيامك بگوييم كه به بقيه افرادي كه اين شماره تلفن را داده اند نيز اطلاع رساني شود.
بنابراين از شماره تلفن هاي تكراري ما يك ركورد را به صورت تصادفي مي خواهيم.
باتشكر فراوان

amirzazadeh
چهارشنبه 21 بهمن 1388, 12:01 عصر
مشکل من ورود اطلاعات تکراری نیست. ببینید ما یک جدول داریم شامل نام و مشخصات فردی به اضافه شماره تلفن تماس هست.
حالا در این بانک اطلاعات افراد زیادی وارد شده است و مثلا بعضی افراد یک خانواده اند و یک شماره تلفن مشترک را داده اند. حالا ما می خواهیم پیامک برای این افراد بفرستیم ولی برای شماره تکراری نمی خواهیم ارسال کنیم.
از طرفی می خواهیم وقتی پیامک را می فرستیم اسم یکی از افراد در پیامک قید گردد. و در پیامک بگوییم که به بقیه افرادی که این شماره تلفن را داده اند نیز اطلاع رسانی شود.
بنابراین از شماره تلفن های تکراری ما یک رکورد را به صورت تصادفی می خواهیم.
باتشکر فراوان
اكسس در قسمت كوئري ها ويزاردي با نام find duplicate record داره كه شما ميتونين از اون استفاده كنيد.
........................
موفق باشيد

فردان فردان
یک شنبه 25 بهمن 1388, 11:24 صبح
اکسس در قسمت کوئری ها ویزاردی با نام find duplicate record داره که شما میتونین از اون استفاده کنید.
........................
موفق باشید

اگر مقصود شما در properties و قسمت uniqe value و uniqe record است كه نمي تواند مقصود مرا برآورده نمايد. به توضيحات گذشته مراجعه نماييد متوجه خواهيد شد!

karmand
یک شنبه 25 بهمن 1388, 12:17 عصر
از جدولتات يك كپي بدون داده ها بگيريد يعني فقط استركچر
فيلد مورد نظرتان را كه ميخواهيد تكراري نباشد را كليد كنيد
جدول اول اولي خود را در اين جدول بريزيد يا بوسيله copy_past و يا بوسيله كواري
اگر در حالت اول انجام دهيد يك جدول از error ها را هم برايت ميسازد
ضمنا اگر جستجو ميكردي پيدا ميكردي لازم به سئوال نبود

dadsara
یک شنبه 25 بهمن 1388, 13:37 عصر
سلام
یک کوئری بگیرید و روی شماره تلفن GroupBy و روی فیلد نام مشترک یکی از توابع Min یا Max را قرار دهید در این حالت نیاز به پاک کردن رکوردها نمی باشد

rk1983xx
دوشنبه 10 اسفند 1388, 02:51 صبح
من هم همین مشکل را دارم
البته از بانکم توی دلفی استفاده میکنم و اطلاعات قبلاً تایپ شده و به برنامه من ایپورت میشه من روشون پردازش آماری انجام میدم (امکان جلوگیری از ثبت تکرار ها رو ندارم)
با اسافده از کد زیر تونستم رکوردهای تکراری رو توی پردازشام حذف کنم ولی وقتی تعداد رکوردهام بالا میره کوئری رو به موت میره و هنگ میکنه
کد :

SELECT Distinct Engine_Code, Car_Code, Car_Name, Build_Code,
Cust_Name, Cust_Fam, State, City, Cust_Tel, Cust_Mobile,
Cust_Address, Car_Color, BRNC_CODE, BRNC_Name, invoice_Date,
FROM [Raw Data] Raw_data
WHERE (((Engine_Code) In (SELECT [Engine_Code] FROM [Raw Data] As Tmp GROUP BY [Engine_Code] HAVING Count(*)=1 )))
ORDER BY Engine_Code;

ممنو میشم راهنمائی کنید چجوری بهینش کنم

rk1983xx
جمعه 14 اسفند 1388, 08:42 صبح
یعنی هیچکس اینجا نیست که به سؤالات ما جواب بده ؟