View Full Version : سوال: بعد از جستجوی یک عدد مقادیر خواسته شده مربوط به اون فیلد رو داخل ادیت نشون بده؟
  
ms.nazeri
پنج شنبه 17 تیر 1389, 19: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, 19: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
جمعه 18 تیر 1389, 00:16 صبح
سلام
براحتی میتونید با استفاده از DBEdit این کار رو انجام بدید.
pezhvakco
جمعه 18 تیر 1389, 09: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, 18: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
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.