PDA

View Full Version : Update Query



smderfan
دوشنبه 19 آذر 1386, 00:46 صبح
سلام
یک جدول حاوی 10 ستون دارم (بنام های ردیف 1 تا 10) که در بعضی از رکوردها فبلدهای خالی به چشم می خوره حالا اگر بخوام کوئری Update رو تنظیم کنم که بره مقدار Null را با 0 جایگزین کنم اینجا به چه صورت عمل کنم. باید کوئری طوری تعریف بشه که همزمان هر از ستون رو چک کنه.

SYNDROME
دوشنبه 19 آذر 1386, 05:33 صبح
سلام
باید کوئری طوری تعریف بشه که همزمان هر از ستون رو چک کنه.
فکر نکنم بتوانید هر ده ستون را با هم با مقدار 0 پر کنید و باید ستونها را به تنهایی پر کنید.
برای Update کردن یک ستون هم از دستور زیر استفاده کنید.


Update Tbl_Test
Set Col1 = 0
Where Col1 is null

موفق باشید

smderfan
دوشنبه 19 آذر 1386, 10:55 صبح
سلام و با تشکر
کد بالا که خطا میده می شه
کد رو بصورت زیر تغییر دادم ولی متغییر Null رو تغییر نمی ده.

DoCmd.RunSQL "UPDATE Table1 SET [col1]=0 where [col1]=null"

مهدی قربانی
دوشنبه 19 آذر 1386, 15:31 عصر
سلام
اینو در Updte To فیلدهای کوئری Update‌ خودت بنویس :
بجای a‌نام فیلدهای خودت رو بذار و البته بجای 2* عملیات مورد نظرت رو جایگزین کن


nz([a]*2;0)

smderfan
دوشنبه 19 آذر 1386, 16:04 عصر
ببخشید اگر زحمتی نیست یه نمونه برام بذارید ....
که اولا تمام فیلدها update بشه
ثانیا اگر به کوئری از طریق کد دستور دادیم اجرا بشه پیام update اش ظاهر نشه و از دید کاربر مخفی باشه.

مهدی قربانی
دوشنبه 19 آذر 1386, 16:25 عصر
اینم نمونه بدون Warnings

smderfan
دوشنبه 19 آذر 1386, 21:28 عصر
با تشکر از مهدی عزیز
می خواستم بدونم در کد بالا 2* چه عملی انجام میده.

مهدی قربانی
دوشنبه 19 آذر 1386, 21:58 عصر
سلام
عرض کنم خدمت شما که هیچی ، مقدار فیلد رو ضرب در 2 می کنه با فرمول بالا شما تعیین می کنی که اگر رکورد مورد نظر تهی بود مقدار رو صفر کنه وگرنه مقدار رو ضرب در 2 کنه حالا شما میتونی از عملیات دیگه ای که مورد نظرت هست بجای ضرب در 2 استفاده کنی .