PDA

View Full Version : مشکل این کد چیست



khoshblagh
دوشنبه 10 اسفند 1388, 12:59 عصر
با سلام خدمت دوستان . به نظر شما مشکل کد زیر چسیت؟
با اجرای آن خطای اکسس ویولشن میگیرد. البته خطا مربوط به بخش قرمز رنگ میباشد.
.متشکرم


qyrTaxKhodro.SQL.Add('SELECT NoaKhodro,radif,Count(NoaKhodro)AS Tedad');




qyrTaxKhodro.SQL.Add(' From tblTax'+strThisMaSal);

qyrTaxKhodro.SQL.Add(' GROUP BY NoaKhodro,radif');
qyrTaxKhodro.SQL.Add(' ORDER BY NoaKhodro,radif ');

pezhvakco
دوشنبه 10 اسفند 1388, 19:32 عصر
درود :
این دستورات در ظاهر که مشکل ندارند اگه نام فیلد هات درست باشه .
فقط تو خط دوم، اون جایی که یه مقدار (strThisMaSal) اضاف کردی، چیه و یه تست بکن .

khoshblagh
سه شنبه 11 اسفند 1388, 06:47 صبح
درود :
این دستورات در ظاهر که مشکل ندارند اگه نام فیلد هات درست باشه .
فقط تو خط دوم، اون جایی که یه مقدار (strThisMaSal) اضاف کردی، چیه و یه تست بکن .
با سلام خدمت شما
اون اسم جدول مورد نظر است که مشکلی ایجاد نمیکند .

حسین شهریاری
سه شنبه 11 اسفند 1388, 09:47 صبح
سلام

قبلا هم بحث شده بود.این پیام زمانی ظاهر میشه که شما بخواهید از کنترلی یا کامپوننتی که ایجاد نشده استفاده کنید.یا دو پروسه هم زمان وارد بخش بحرانی بشن.در ضمن چرا نام جدول را توی متغیر ریختین؟چرا مستقیما ذکر نکردید؟

Modernidea
سه شنبه 11 اسفند 1388, 12:43 عصر
:لبخند:

qyrTaxKhodro.SQL.Add(' From tblTax'+strThisMaSal);
"+strThisMaSal" چرا مشکل ایجاد نمیکنه؟

مگه نباید اینجور باشه؟

From tbltax , strThisMaSalشما وقتی این رشته یا نام جدول را + کد کردین خوب اون اسم میچسبه به tbltax و کد اشتباهی تواید میشه.

موفق باشید.

khoshblagh
سه شنبه 11 اسفند 1388, 14:08 عصر
:لبخند:

"+strThisMaSal" چرا مشکل ایجاد نمیکنه؟

مگه نباید اینجور باشه؟

From tbltax , strThisMaSalشما وقتی این رشته یا نام جدول را + کد کردین خوب اون اسم میچسبه به From و کد اشتباهی تواید میشه.

موفق باشید.
با سلام خدمت دوستان
اگر دقت کنید عبارت tbltax قسمت ثابت اسم جدول و متغیر strThisMaSal بخش تغییر پذیر آن میباشد. فرضا جدولی با نام tbltax8806 از ترکیب بخش ثابت نام جدول که ثابت است و بخش متغیر آن که نمایانگر فرضا شهریور ماه سال 88 میباشد. به هر حال من وقتی بخش قرمز رنگ را اضافه مینمایم ارور تولید میشود. و قبل از آن مشکلی ندارم. متشکرم

دلفــي
چهارشنبه 12 اسفند 1388, 10:52 صبح
من اين كد رو تست كردم جواب داد :



qyrTaxKhodro.SQL.Clear;
qyrTaxKhodro.SQL.Add('SELECT tlbTax1.NoaKhodro, tlbTax1.radif,'+
' Count(tlbTax1.NoaKhodro) AS Tedad');
qyrTaxKhodro.SQL.Add(' FROM tlbTax'+ strThisMasal);
qyrTaxKhodro.SQL.Add(' GROUP BY tlbTax1.NoaKhodro, tlbTax1.radif');
qyrTaxKhodro.SQL.Add(' ORDER BY tlbTax1.NoaKhodro, tlbTax1.radif;');
qyrTaxKhodro.ExecSQL;
qyrTaxKhodro.Active:= True;


البته نوع فيلد radif از نوع Number و فيلد NoaKhodro رو از نوع Text در نظر گرفتم .

khoshblagh
چهارشنبه 12 اسفند 1388, 13:09 عصر
من اين كد رو تست كردم جواب داد :



qyrTaxKhodro.SQL.Clear;
qyrTaxKhodro.SQL.Add('SELECT tlbTax1.NoaKhodro, tlbTax1.radif,'+
' Count(tlbTax1.NoaKhodro) AS Tedad');
qyrTaxKhodro.SQL.Add(' FROM tlbTax'+ strThisMasal);
qyrTaxKhodro.SQL.Add(' GROUP BY tlbTax1.NoaKhodro, tlbTax1.radif');
qyrTaxKhodro.SQL.Add(' ORDER BY tlbTax1.NoaKhodro, tlbTax1.radif;');
qyrTaxKhodro.ExecSQL;
qyrTaxKhodro.Active:= True;


البته نوع فيلد radif از نوع Number و فيلد NoaKhodro رو از نوع Text در نظر گرفتم .
با تشکر از شما
آیا منظور شما این است که میبایست نام جدول در عبارت درچ گردد؟

دلفــي
چهارشنبه 12 اسفند 1388, 14:24 عصر
با تشکر از شما
آیا منظور شما این است که میبایست نام جدول در عبارت درچ گردد؟

نه لازيم نيست نام جدول رو درج كنيد ، من چون كپي كردم ديگه حوصله نداشتم پاك كنم ، اين هم درسته:



qyrTaxKhodro.SQL.Clear;
qyrTaxKhodro.SQL.Add('SELECT NoaKhodro, radif,'+
' Count(tlbTax1.NoaKhodro) AS Tedad');
qyrTaxKhodro.SQL.Add(' FROM tlbTax'+ strThisMasal);
qyrTaxKhodro.SQL.Add(' GROUP BY NoaKhodro, radif');
qyrTaxKhodro.SQL.Add(' ORDER BY NoaKhodro, radif;');
qyrTaxKhodro.ExecSQL;

khoshblagh
چهارشنبه 12 اسفند 1388, 14:50 عصر
با تشکر
این همان کدی است که در پست اول ارائه شد . با این حساب باید مشکل را در جایی دیگر از برنامه بررسی نمایم. به هر حال از همکاری شما متشکرم.