PDA

View Full Version : مشكل در نوشتن يك شرط if



hentjanson
یک شنبه 30 تیر 1387, 22:03 عصر
سلام به همه اساتيد
يك سوال در اين مورد برام پيش اومده كه در روند پياده سازي اون مشكل دارم .
سوال من :
اگه يك فيلد به اسم number داشته باشيم حالا وقتي داخل اين فيلد عددي نيست label 1 مقدار 0 رو نشون بده و اگر عددي داخل اون هست اون اخرين عدد رو +1 كنه و در label1 نشون بده ؟
با تشكر از همه اساتيد كه در اين بحث شركت ميكنند

Hsimple11
یک شنبه 30 تیر 1387, 22:10 عصر
دوست عزیز مگر در پست قبل خود همین سوال را نپرسیده بودید؟

hentjanson
یک شنبه 30 تیر 1387, 22:20 عصر
:خجالت: حواسم نبود ببخشيد ميگم حالا كه پرسيدم ميشه كمكم كنيد

Hsimple11
یک شنبه 30 تیر 1387, 22:23 عصر
کل رکوردهای فیلد اگر خالی باشند لیبل 0 نشان دهد یا فقط رکورد جاری؟

Hsimple11
یک شنبه 30 تیر 1387, 22:28 عصر
بعد اون آخرین عدد رو +1 کنه یعنی چی؟


If MyTable.FieldByname('MyField').IsNull Then
Label1.Caption := '0'
Else Begin
MyTable.Last;
MyTable.FieldByName('MyField').AsString :='+1'
End;


اینجوری منظورتونه؟

hentjanson
یک شنبه 30 تیر 1387, 22:32 عصر
اره اينكه اگه فيلد خالي بود به كاربر با اين ليبل بگم بانك فيلد number موجودي نداره و اگه عددي در اين ثبت شده اخرين ركورد ثبت شده را +1 كنه .

hentjanson
یک شنبه 30 تیر 1387, 23:19 عصر
سلام دوست من از كد شما استفاده كردم ولي وقتي برنامه براي دفعه دوم اجرا ميشه با اين خطا مواجه ميشم .
adotable1.dataset not in edit or insert mode
برنامه خودم رو هم ضميمه ميكنم براي مشاهده و نحوه پياده سازي

SYNDROME
دوشنبه 31 تیر 1387, 06:42 صبح
قبل از اینکه مقداری را داخل MyTable بریزی آن را Edit و سپس Post کن.
موفق باشید

Hsimple11
دوشنبه 31 تیر 1387, 11:04 صبح
سلام دوست من از كد شما استفاده كردم ولي وقتي برنامه براي دفعه دوم اجرا ميشه با اين خطا مواجه ميشم .
adotable1.dataset not in edit or insert mode
برنامه خودم رو هم ضميمه ميكنم براي مشاهده و نحوه پياده سازي


دوست گرمی من دیگه Edit رو ننوشتم خودتان باید متوجه می شدید.

موفق باشید.

Amir_Safideh
دوشنبه 31 تیر 1387, 12:07 عصر
سلام به همه اساتيد
يك سوال در اين مورد برام پيش اومده كه در روند پياده سازي اون مشكل دارم .
سوال من :
اگه يك فيلد به اسم number داشته باشيم حالا وقتي داخل اين فيلد عددي نيست label 1 مقدار 0 رو نشون بده و اگر عددي داخل اون هست اون اخرين عدد رو +1 كنه و در label1 نشون بده ؟
منظورتون چیه از اینکه "اون آخرین عدد رو بعلاوه یک کنه ؟" منظورتون از آخرین عدد همون آخرین رکورد جدوله ؟ اگر آره جواب سوال شما اینه :

If MyTable.FieldByname('MyField').IsNull Then
Label1.Caption := '0'
Else
Begin
MyTable.Last;
Label1.Caption := MyTable.FieldByName('MyField').AsFloat + 1;
End;
اگر هم منظورت همون رکورد جاری هست در اون صورت شما کدی رو که جدول رو به رکورد آخر میبره از کد بالا حذف کن .
--------------
موفق باشید .