PDA

View Full Version : بدست آوردن مقادیر فیلد از جدول دیگری



Yanehsar
سه شنبه 09 مهر 1392, 19:04 عصر
سلام دوستان
برنامه ای با استفاده از سی شارپ دارم مینویسم که از بانک اطلاعاتی اکسس استفاده کردم برنامه شبیه فاکتور هستش که داری دو بخش هستش یکی ریزفاکتور و دیگری اصل فاکتور داخل ریز فاکتور قیمت ریز هر قلم فروخته شده ثبت میشه و داخل اصل فاکتور اطلاعات مشتری ، تاریخ ، قیمت کل و تخفیف و... که حاصل جمع چند رکورد ریزفاکتور هستش
جداول با استفاده از رابطه به هم متصل هستند . الان خودم به صورت دستی جمع را انجام میدم ولی در هنگام ویرایش با مشکل مواجعه میشم
سوالم اینجاست که آیا میشه خوده اکسس به صورت اتوماتیک کاره جمع را انجام بده ؟یعنی حاصل جمع این چند رکورد را داخل جدول دیگر ذخیره کنه /؟
اس کیو ال چطور؟اس کیو ال توانایی این کار را با استفاده از کد نویسی داره ؟

Yanehsar
چهارشنبه 10 مهر 1392, 21:23 عصر
سلام دوستان
کسی نمی تونه راهنمائیم کنه ؟
داخل اس کیو ال هم جواب نمیده ؟

fatemesoleimani
چهارشنبه 10 مهر 1392, 23:26 عصر
تو اس کیو ال میشه با تریگر ها این کار را کرد ولی خوب اینطوری یه جدول اضافی دیگه ایجاد میشه

Yanehsar
چهارشنبه 10 مهر 1392, 23:34 عصر
تو اس کیو ال میشه با تریگر ها این کار را کرد ولی خوب اینطوری یه جدول اضافی دیگه ایجاد میشه
یعنی چی جدول اضافی ایجاد میشه میشه توضیح بدیم بهم ؟یا اگر سخت نیست براتون ممنون میشم نمونه بذارید من با تریگرها کار نکردم

fatemesoleimani
چهارشنبه 10 مهر 1392, 23:42 عصر
من دقیق نمی دونم سوالت چی هست ولی توی اس کیو ال وقتی تو یه جدول که نیاز به محاسبه داره من از تریگر استفاده کردم راه حل های دیگه را نمی دونم

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[t6]
on
[dbo].[sabt_natije_nahae1]
for update
as
declare @bord int
declare @bakht int
declare @tasavi int
declare @zadeh int
declare @khordeh int
declare @name_bazicon nvarchar(50)
set @bord=(select bord from inserted)
set @bakht=(select bakht from inserted)
set @tasavi=(select tasavi from inserted)
set @zadeh=(select zadeh from inserted)
set @khordeh=(select khordeh from inserted)
set @name_bazicon=(select nam_bazicon from inserted)
update sabt_emtiaz1
set emtiaz_kol=3*@bord+@tasavi , tafazol=@zadeh-@khordeh ,khordeh=@khordeh ,bord=@bord,tasavi=@tasavi,bakht=@bakht,zadeh=@zad eh
where name_bazicon=@name_bazicon

این الان یه تریگر هست که برای محاسبه امتیاز کل و تفاضل نیاز به مقادیر برد و باخت و محاسبه روی ان ها داشتم

fatemesoleimani
چهارشنبه 10 مهر 1392, 23:49 عصر
الان من تو کد های بالا به خاطر اینکه قبلا نام و خانوادگی تمام بازیکنان را ثبت کردم و فیلد های برد و باخت و... را تهی گذاشتم تا موقع بازی که اطلاعات ویرایش میشه و برد و باخت و...وارد میشه و فیلد امتیاز کل و تفاضل که از

محاسبه برد وباخت هست که تریگر گذاشتم برای ویرایش که بیاد وقتی ویرایش انجام میشه جدول اضافی را که محاسبه امتیاز کل و تفاضل هست را ویرایش کنه

که فکر کنم شما باید یه تریگر برای عملیات ثبت بنویسید که بیاد جدول اضافی تون را ویرایش کنه