PDA

View Full Version : سوال: انتخاب اطلاعات یک جدول و اعمال آن در جدول دیگر



ninja506
یک شنبه 12 آذر 1391, 21:20 عصر
سلام بر دوستان گرامی
من چند وقتی است که به یک مشکل برخورد کرده ام . من در یک جدول چندین رکورد با یک فیلد خاص دارم که این رکوردها حاوی فیلد شماره پرسنلی است که با یک جدول دیگر مشترک است . حالا می خواهم دستوری بنویسم که رکوردهایی که این فیلد خاصشان پر است را تک به تک انتخاب کرده و در جدول دیگر آخرین رکورد را بر اساس کد پرسنلی انتخاب کرده و تغییرات را اعمال کند سپس به سراغ رکورد بعدی از جدول اول رفته و بر اساس آن آخرین رکورد جدول دوم را انتخاب نموده و تغییرات را اعمال تا الی آخر...
از حلقه فور هم استفاده کردم فقط یک رکورد رو انجام می ده .
خواهشمندم دوستانی که اطلاعاتی دارند بنده رو راهنمایی بفرمایند .

Valadi
یک شنبه 12 آذر 1391, 21:30 عصر
مشكل از كد شماست كدتون قرار دهيد تا اصلاح كنم

ninja506
دوشنبه 13 آذر 1391, 18:53 عصر
procedure TForm1.Button1Click(Sender: TObject);
var d,z,x,c,v,b :string;
var i,b:integer;
begin
ListBox1.Items.Clear;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from perseneli where kod6 > null');

ADOQuery1.Open;

b:= ADOQuery1.RecordCount;

ADOQuery1.First;
for i := 1 to b do
begin
d:=ADOQuery1.FieldByName('kodper').AsString;
z:=ADOQuery2.FieldByName('shomarebarg').AsString;
x:=ADOQuery2.FieldByName('kodper').AsString;
c:=ADOQuery2.FieldByName('kodper').AsString;
v:=ADOQuery2.FieldByName('kodper').AsString;
b:=ADOQuery2.FieldByName('kodper').AsString;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT TOP 1 * FROM kod6 WHERE (kodper LIKE ''%'d'%'') order by id desc');
ADOQuery2.Open;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('insert into kod6 ( kodper ,shomarebarg,tarikh,radif, bes , mojoodi ) values ( kodper ,shomarebarg,tarikh,radif, bes , mojoodi )');
ADOQuery2.Parameters.ParamByName('bes').Value:= StrToInt(medt1.Text);
ADOQuery2.Parameters.ParamByName('kodper').Value:= StrToInt(medt6.Text);
ADOQuery2.Parameters.ParamByName('mojoodi').Value: = sum;
ADOQuery2.Parameters.ParamByName('tarikh').Value:= medt4.Text;
ADOQuery2.Parameters.ParamByName('radif').Value:= StrToInt(medt3.Text);
ADOQuery2.Parameters.ParamByName('shomarebarg').Va lue:= StrToInt(medt5.Text);
ADOQuery2.ExecSQL;
ADOQuery1.Next;

end;







end;

ninja506
دوشنبه 18 دی 1391, 19:57 عصر
سلام
من یک ماه پیش درخواست دادم. اگر کسی میتونه کمکم کنه لطفا

یوسف زالی
دوشنبه 18 دی 1391, 22:32 عصر
سلام.
دو تا راه دارید:
در اس کیو ال کدتون رو کوئری کنید
در برنامه از دو حلقه تو در تو استفاده کنید.

ninja506
شنبه 23 دی 1391, 20:18 عصر
من کاملا مبتدی هستم دوست عزیز اگر امکانش هست کاملا بنده رو راهنمایی بفرمایید ...