PDA

View Full Version : طریقه Refresh کردن یک رکورد از Recordset



A.Farzin
جمعه 03 اسفند 1386, 23:57 عصر
با سلام

اجرای متد Requery روی یک Command از یک Connection موجب Refresh شدن تمام اطلاعات Recordset براساس اطلاعات موجود در جدول می‌شود. حالا اگر بخواهیم فقط رکورد خاصی را به تنهائی Refresh کنیم و کاری به دیگر رکوردها نداشته باشیم، آیا متدی وجود دارد یا نه؟
به عنوان مثال فرض کنید رکوردست ما از اطلاعات دو جدول Employees و Orders به شرح زیر تشکیل شده است

SELECT Orders.OrderID, Orders.EmployeeID, Employees.LastName, Employees.FirstName
FROM Employees INNER JOIN Orders
ON Employees.EmployeeID = Orders.EmployeeID
ما میخواهیم وقتی مقدار ستون EmployeeID در رکوردست تغییر کرد، مقادیر LastName و FirstName مربوطه آناً در رکوردست بنشیند.
برای اینکار اگر از Requery استفاده کنیم مطلوب حاصل می‌شود ولی این متد تمام رکودها را رفرش میکند. آیا نمی‌توان فقط همین رکورد خاص را رفرش کرد تا نامهای جدید در رکوردست قرار بگیرد؟
ممنون

Elham_gh
شنبه 04 اسفند 1386, 08:58 صبح
شما باید کلید رکورد جاری رو داشته باشیدو و اون رو به یک query که بر مبنای کلید شما روی آن WHERE خورده پاس بدین. راه دیگری از طریق query نیست

A.Farzin
شنبه 04 اسفند 1386, 18:30 عصر
شما باید کلید رکورد جاری رو داشته باشیدو و اون رو به یک query که بر مبنای کلید شما روی آن WHERE خورده پاس بدین. راه دیگری از طریق query نیست

اگر مقدار کلید رکورد جاری را به یک query پاس کنم، نام و فامیل مورد نظر در query اول Refresh نخواهد شد. دنبال اینم که در همان query اول مقادیر رکورد جاری را Refresh کنم.

اگر در MS Access اقدام به ساخت Query ترکیبی، برای نمایش داده‌ها روی بک فرم به شکل یک گرید، مانند آنچه در بالا آمده بکنید، خواهیم دید که با تغییر کد کارمند، نام و نام خانوادگی بدون رفرش کردن رکوردست تغییر می‌کند.