PDA

View Full Version : سوال: بعد از جستجوی یک عدد مقادیر خواسته شده مربوط به اون فیلد رو داخل ادیت نشون بده؟



ms.nazeri
پنج شنبه 17 تیر 1389, 18:06 عصر
سلام من یک مشکلی دارم اما نمیدونم شما متوجه حرفم میشین یا نه؟؟
راستش:
من می خوام وقتی کاربر شماره فاکتوری رو داخل ادیت وارد کرد ، و دکمه مشاهده رو زد، فیلدهای چهارم از همان جدول و فیلد پنجم از جدول دیگه رو که مربوط به همین شماره فاکتور هست رو داخل ادیت مورد نظرم نشون بده ؟

ولی این کد که نوشتم فقط اولین مقدار فیلد چهارم یا پنجم جدولهای مورد نظرم رو نشون میده و هر شماره فاکتوری که وارد کنم باز هم همین مقدارو نشون میده داخل ادیت ها ؟؟


begin
adotable4.Filtered:=false
adotable4.Filter:='shomarefaktor='+trim(edit1.Text ) i
adotable1.Filtered:=true
if adotable1.RecordCount <> 0 then
begin
edit3.Text:=adotable4.Fields[4].Value
edit2.Text:=adotable2.Fields[5].Value i
end
end;

MOJTABAATEFEH
پنج شنبه 17 تیر 1389, 18:32 عصر
سلام من یک مشکلی دارم اما نمیدونم شما متوجه حرفم میشین یا نه؟؟
راستش:
من می خوام وقتی کاربر شماره فاکتوری رو داخل ادیت وارد کرد ، و دکمه مشاهده رو زد، فیلدهای چهارم از همان جدول و فیلد پنجم از جدول دیگه رو که مربوط به همین شماره فاکتور هست رو داخل ادیت مورد نظرم نشون بده ؟

ولی این کد که نوشتم فقط اولین مقدار فیلد چهارم یا پنجم جدولهای مورد نظرم رو نشون میده و هر شماره فاکتوری که وارد کنم باز هم همین مقدارو نشون میده داخل ادیت ها ؟؟


begin
adotable4.Filtered:=false
adotable4.Filter:='shomarefaktor='+trim(edit1.Text ) i
adotable1.Filtered:=true
if adotable1.RecordCount <> 0 then
begin
edit3.Text:=adotable4.Fields[4].Value
edit2.Text:=adotable2.Fields[5].Value i
end
end;



دوست عزیز لطفا منظورتون رو واضح تر بیان کنید و برای اینگونه کارها بهتره از دستورات SQL استفاده کنید


موفق باشید

hossein_h62
پنج شنبه 17 تیر 1389, 23:16 عصر
سلام
براحتی میتونید با استفاده از DBEdit این کار رو انجام بدید.

pezhvakco
جمعه 18 تیر 1389, 08:45 صبح
درود :

adotable4.Filtered:=false
adotable4.Filter:='shomarefaktor='+trim(edit1.Text ) i

adotable1.Filtered:=true
if adotable1.RecordCount <> 0 then
این 1 و 4 رو یک تغییر بده ؟


edit3.Text:=adotable4.Fields[4].Value
edit2.Text:=adotable2.Fields[5].Value i
شما شماره 1 رو فیلتر کردی و داری داده ها رو از 2 و 4 می گیری !
شما کی شماره 2 رو فیلتر کردی ؟

بهتره برای گرفتن اطلاعات ستون خاصی از جدول از کد دستور زیر استفاده کنی >

Edit1.Text:=DataSet1.FieldByName('Col').AsString;

فکر خوش .

homayoun_sa
جمعه 18 تیر 1389, 17:31 عصر
اگر منظورت نمایش دو فیلد از 2 جدول است که بهترین روش اون استفاده از دستور join در SQL است که به راحتی بتونی به فیلدهای مورد نظرت دسترسی و هر طور که بخوای اونا رو نمایش و پردازش کنی
نیازی هم نیست که به صورت فیزیکی دو جدول با هم ارتباط داشته باشند (Relation)
و کل اون adoQuary را به گرید مورد نظر ارتباط بده

SELECT dbo.table1.Id,dbo.table2.Id
FROM dbo.table1.id INNER JOIN
dbo.table2 ON dbo.table1.Id = dbo.table2.id