PDA

View Full Version : استفاده از CASE دردستور UPDATE



Salah Sanjabian
پنج شنبه 24 آذر 1390, 00:27 صبح
دوستان یه جدول به اسم Major دارم که میخوام فیلد GroupRef بر اساس فیلد Name آپدیت بشه .دوستان این کد(کوئری) مشکلش چیه؟ اصلا سپورت میشه تو Access?


UPDATE Major

SET
GroupRef =

CASE
when Name= 'حسابداري' then 1
when Name= 'الکترونيک' then 2
when Name= 'الکتروتکنيک' then 3
when Name= 'عمومي' then 4
when Name= 'کامپيوتر' then 5
when Name= 'ساختمان' then 6
when NAme= 'ساخت و تولید' then 7
when Name= 'معماري' then 8
END

amirzazadeh
پنج شنبه 24 آذر 1390, 08:34 صبح
سلام
فرم كلي اين فرمان به اين شكل هست:
Select Case testexpression
[Case expressionlist-n
[statements-n]] ...
[Case Else
[elsestatements]]
End Select

Salah Sanjabian
پنج شنبه 24 آذر 1390, 11:08 صبح
UPDATE student SET GroupRef = SWITCH
( reshtah= 'حسابداری' , 1,
reshtah='الکترونیک' , 2
);



دوستان چرارو دیتا هام کار نمیکنه؟
اول که این پیغام رو بهم داد
the action or event has been blocked
تو سایت های خارجکی واسه حلش اینو گفتن

No. Go to database tools (for 2007) and click checkmark on the Message Bar. Then, after the message bar apears, click on Options, and then Enable. Hope this helps.


On the ribbon,Go to Database Tools under "Show/Hide", make sure the Message bar is checked (turned on) Then click on the gray message bar, click database options. From there you can modify your security options. Just enable these types of content.

همه این کارارو کردم ولی نمیدونم چرا پشت سر هم پیغام میاد.
اولین پیغامش اینه: Are u sure u want to run this type of action query?
yes رو که میزنم یه پیغام دیگه میاد
You are about to update 1342 row()
Are u Sure want to update these records?
yes رو که میزنم هیچ تغییری رو رکورد هام ایجاد نمیکنه چرا اکسس اینجوریه؟ دوستان یکی کمک کنه

Abbas Amiri
پنج شنبه 24 آذر 1390, 15:09 عصر
بعضی از دستورات وعملگرهای SQL در اکسس ساپورت نمی شوند برای این منظور می توانید از کد زیر استفاده کنید:


Dim rs As DAO.Recordset
Dim k As Integer
Set rs = CurrentDb.OpenRecordset("Major")
Do While Not rs.EOF

Select Case rs.Fields("Name")
Case "حسابداري"
k = 1
Case "الکترونيک'"
k = 2
Case "الکتروتکنيک"
k = 3
Case "عمومي"
k = 4
Case "کامپيوتر"
k = 5
Case "ساختمان"
k = 6
Case "ساخت و تولید"
k = 7
Case Else
GoTo Continue
End Select
rs.Edit
rs.Fields("GroupRef") = k
rs.Update
Continue:
rs.MoveNext
Loop