ورود

View Full Version : یک ایراد در adoquery?



V60
دوشنبه 26 اردیبهشت 1384, 18:27 عصر
سلام
من یک جدول دارم که توسط یک adoquery اون را محدود می کنم بعد می خواهم توسط دستور post مقادیری را به فیلدهای این query واریز کنم
کدش اینجوریه


adotable2.open;
while not (ADOTable2.Eof) do
begin
ADOQuery7.Filter:='id='+ADOTable2id.AsString;
ADOQuery7.Filtered:=true;
if ADOQuery7id.AsString=ADOTable2id.AsString then
begin
ADOQuery7.Edit;
ADOQuery7money.Value:=ADOTable2money.Value;
ADOQuery7Badanehnumber.AsString:=ADOTable2badanehn umber.AsString;
ADOQuery7.post;
end;
ADOTable2.Next;
end;
البته همینجوری که می بینید یک کم کار پیچیده است ( تازه من خلاصه اش کرده ام) من می خواهم یک جدول باز شود و بعد از باز شدن ان جدول تک تک رکوردهای آن جدول در query جستجو شود و در صورت وجود مبلغ آن جدول به این یکی واریز شود
برای پیدا کردن این رکورد هم از دستور fillter استفاده کردم که بتوان رکورد را در query پیدا کرد ولی متاسفانه روی بعضی از رکوردها این ایراد را می گیرد البته اگر نخواهم مقداری را در فیلد money بریزم این ایراد را نمی گیره و عملیات ثبت انجام می شه ( البته ثبت هیچی!!) دوستان لطفا کمک کنند , ضمنا تمام هر دو فیلد من از نوع رشته می باشند و در اکسس کار می کنم نمی دانم دیگه چی کنم :گیج:

V60
دوشنبه 26 اردیبهشت 1384, 18:33 عصر
اقا متن error را نشد بزارم , گذاشتم نیامد نمی دانم شاید هم بلد نبودم آقا ببخشیدخلاصه
متن پیغام
query is too complex :flower:

hr110
سه شنبه 27 اردیبهشت 1384, 07:26 صبح
سلام
1- سعی کنید کدهایی که قرار میدهید زیباتر باشد تا علاوه بر فهم مناسب کاربران را جهت پاسخگویی ترغیب کند.
2- شما به سادگی میتوانید با یک دستور کوئری این کار را انجام دهید و نیازی به اینهمه کد پیچیده نیست.

V60
سه شنبه 27 اردیبهشت 1384, 11:11 صبح
شرمنده مدیر جان
من بد نوشتم
ولی من دارم مقدار فیلتر شده توسط یک کوری را دوباره فیلتر می کنم
برای همین باید اینجوری می نوشتم
و در ثانی اشکال را هم پیدا کردم
دیتابیس من در اکسس 97 بود و آن را در اکسس 2003 آوردم و کانورت کردم ولی در هنگام کانورت کردن به دلیل اشکال فیلد کلیدی پاک شده بود من اشکالات را برطرف کردم وفیلد کلیدی را دوباره گذاشتم و اشکالی نداشت
نمی دانم چرا وقتی فیلد کلیدی در یک جدول وجود ندارد بعضی وقتها این ایراد را می گیره :گیج:

Dolphin
پنج شنبه 29 اردیبهشت 1384, 01:18 صبح
دوست عزیز بهتره از خدو دستورات sql مثل update , غیره استفاده کنی هم راحتره هم سریعتر

V60
جمعه 30 اردیبهشت 1384, 15:21 عصر
می شه بگی کدش چه جوری است که بنویسم
متشکر می شوم

شنبه 31 اردیبهشت 1384, 12:27 عصر
می شه بگی کدش چه جوری است که بنویسم

یک مثال برا استفاده :

adoquery1.sql.text:='update table1 set name='ali' , tel=7322222 where name = 'mohsen' '