PDA

View Full Version : مبتدی: ارور نبود مقدار در دیتا گرید



hamzehshabani
شنبه 17 بهمن 1388, 10:21 صبح
سلام دوستان عزیزم.
من تو برنامم از یه بانک اکسس استفاده کردم و اطلاعات رو تو DBGRID نشون میدم.

سمت چپ برنامم چندتا لیبل گذاشتم گذاشتم که مثلا نام و شماره اشتراک و تلفن و ... رو میریزم تو لیبل ها.
تا اینجا مشکلی نیست اما وقتی رو سطری که مثلا جای تلفنش خالیه کلیک میکنم کامپایلر ارور میده.
باید چیکار کنم که مثلا اگه تلفن وارد نشده بود بنویسه - .

توجه داشته باشید که فیل تلفن اصلا مقدار نداره.

خیلی مهمه و من هم توش گیر کردم اساتید عزیز لطفا کمک کنید.:ناراحت:

حسین شهریاری
شنبه 17 بهمن 1388, 10:32 صبح
سلام
دوست عزیز شما احتمالا خودتون با کد نویسی مقدار موجود را از بانک توی لیبل ها میریزید.خوب برای حل این مشکل بهترین راه حل استفاده از DBText هست کافیه خاصیت Datasource,Datafield اونا مقدار دهی کرده و ازش استفاده کنید.اگه خیلی علاقمند بودید از روش خودتون استفاده کنید کافیه قبل از دستور انتسابتون با FieldByName یا FieldValue محتوای فیلد را به جهت خالی بودن چک کنید.

موفق باشید

hyl_piano
شنبه 17 بهمن 1388, 10:48 صبح
شما باید روی رویداد onclick برای گرید مورد نظر کد بنویسید که اگه فیلد tell خالی بود ، چیزی نمایش داده نشه.



if length(trim(fieldbyname('tel').asstring))>0 then edit1.text:=fieldbyname('tel').asstring
else
edit1.clear;

hamzehshabani
شنبه 17 بهمن 1388, 10:51 صبح
بله من خودم با کدنویسی این کار رو میکردم و چون تازه کارم ممکنه روش هام خوب نباشه،ایشالا پیشرفت میکنم و دیگه این سوالات رو نمیپرسم.
اما قبل از پیشرفت یه سوال دیگه که ربطی به عنوان فرم نداره.
برای تغییر تصویر پس زمینه فرم چه کاری میتونم بکنم؟
یعنی چطور کاربر یه تصویر در پس زمینه بذاره و بعد از هربار اجرا اون تصویر موجود باشه و نیاز به لود دوباره پیدا نکنه.

حسین شهریاری
شنبه 17 بهمن 1388, 10:57 صبح
در ساده ترین حالت یه جدول توی پایگاه داده داشته باشید که مسیر فایل مربوطه توش ذخیره بشه.
اون موقه توی رویداد OnShow مربوط به فرمتون بنویسید:

image1.picture.loadfromfile(adotable1.fieldbyname( 'path').asstring;)
البته از ذکر زیره کاریها خودداری شد.مثل اختصاص یه تیبل و...

در ضمن دوست عزیز همه ابتدای کار همینطور هستند!!

موفق باشید