View Full Version : گفتگو: دیتابیس اکسس و ارورهای آن
hasandrw
دوشنبه 18 بهمن 1389, 00:17 صبح
سلام دوستان
من دارم یک برنامه فاکتور فروش طراحی می کنم که با یک مشکل برخورد کردم و ...
زمانی که یک کالای جدید را تعریف می کنم فرمی که برای معرفی کالای جدید طراحی کردم می خوام مقدار دوتا tedit رو باهم جمع کنه و تو یکی سومی بریزه برنامش هم نوشتم درست هم کار میکنه ولی دفعه ی بعد که می خوام کالای دیگه رو معرفی کنم زمانی که می خوام مقدار اون teditها رو خالی کنم برنامه ایراد می گیره...
ممنون
pezhvakco
دوشنبه 18 بهمن 1389, 08:52 صبح
سلام :
اگه اون کد دستور ها رو این جا بنویسی میشه یه کاری کرد .
hasandrw
دوشنبه 18 بهمن 1389, 13:27 عصر
سلام
اول دو متغیر i,j را از نوع integer تعریف کردم بعدا هم
;(i:=strtoint(edit1.text
;(i:=strtoint(edit1.text
edit3.text:=inttostr(i+j);
البته بافرض اینکه من دو فرم دارم و این کدها برای فرم دوم است یعنی زمانی که می فرم دوم که حاوی این کدها است داخل edit ها رو از طریق دستورedit.clear خالی کنم با مشکل موجه میشم.
پیشتر از همکاری شما سپاسگذارم.
pezhvakco
دوشنبه 18 بهمن 1389, 18:53 عصر
شرمنده درست نفهمیدم چی می خوایین و چی نوشتین .
;(i:=strtoint(edit1.text
;(i:=strtoint(edit1.text
edit3.text:=inttostr(i+j);
شما متغییر I رو دوبار یکسان مقدار دهی کردین ولی با متغییر J هیچ کاری انجام ندادین .
داخل edit ها رو از طریق دستورedit.clear خالی کنم با مشکل موجه میشم.
اگه خطا میده، متن خطا رو بگین .
hasandrw
پنج شنبه 21 بهمن 1389, 19:28 عصر
سلام دوست عزیز خیلی خیلی شرمنده که شما رو به زحمت انداختم
در کل منظور من این بود که من می خوام داده هایی که در ادیت وجود دارند با استفاده از دستور زیردر پایگاه داده اکسس ذخیره کنم:
dm.ADOQuery1.AppendRecord([Edit1.Text,Edit2.Text,combobox1.Text,Edit3.Text,Ed it4.Text,Edit5.Text,Edit6.Text]);
ولی چون داده هایی که در اذیت وجود دارند با استفاده از دستور زیرعمل محاسباتی رو انجام می دهند اگه من بخوام بعد از ذخیره سازی داده مجددا داده ها رو ذخیره کنم داده هایی که ددفعه قبلی ذخیره کردم دوباره نمایش داده میشن واگه با دستور edit.clear داخل ادیت ها رو خالی کنم با مشکل مواجه می شم یعنی ارور میده.
i,j:Integer;
procedure Tnewkala.Edit4Change(Sender: TObject);
begin
i:=strtoint(Edit3.Text);
j:=strtoint(Edit4.Text);
Edit5.Text:=inttostr(i+j);
end;
اگه منو راهنمایی کنید خیلی ممنون میشم.
pezhvakco
شنبه 23 بهمن 1389, 11:48 صبح
در کل منظور من این بود که من می خوام داده هایی که در ادیت وجود دارند با استفاده از دستور زیردر پایگاه داده اکسس ذخیره کنم:
dm.ADOQuery1.AppendRecord([Edit1.Text,Edit2.Text,combobox1.Text,Edit3.Text,Ed it4.Text,Edit5.Text,Edit6.Text]);
ولی چون داده هایی که در اذیت وجود دارند با استفاده از دستور زیرعمل محاسباتی رو انجام می دهند اگه من بخوام بعد از ذخیره سازی داده مجددا داده ها رو ذخیره کنم داده هایی که ددفعه قبلی ذخیره کردم دوباره نمایش داده میشن واگه با دستور edit.clear داخل ادیت ها رو خالی کنم با مشکل میشم
با این روشی که شما پرسش خودتون رو بیان کردین، من هیچی نفمیدم ؟
اگه می تونین اون بخش برنامه رو که میگین آپلود کنین تا راحت تر بشه یه کاری کرد ؟
a_b_toops
دوشنبه 25 بهمن 1389, 13:48 عصر
برای رفع مشکل از دستور StrToIntDef(Self.Edit1.Text,0);استفاده کن چون اگر خطایی در تبدیل داده رخ بدهد مقدار صفر را بر می گرداند (اگر مقدار edit خالی باشد و یا غیر از عدد باشد خطا رخ می دهد)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.