PDA

View Full Version : مشكل درافزودن ركورد خالي



mandana2010
سه شنبه 23 مهر 1387, 08:44 صبح
سلام
من يه نرم افزار با دلفي و بانك SQL طراحي كردم كه روي يكي از فرمهام در رويداد On Active فرم دستورات Open , First , Insert رو قرار دادم روي اين فرم كاربر مي تونه ركوردهاي جديدي رو به جدول اضافه كنه و با فشردن كليد ديگري مي تونه از اطلاعاتي كه تا بحال از اونها پرينت تهيه نكرده ( ثبت نگرفته ) گزارش بگيره براي اين منظور در رويداد After print دستورات مربوط به علامت گذاري فيلد هاي چاپ شده رو نوشتم كه در اون مقدار فيلد printed جدولم رو از 1 به 2 تبديل مي كنه . حال نمي دونم چرا وقتي كه گزارش ثبت من تنها يك ركورد داره پس از بستن فرم Preview پيغام خطاي عدم امكان ثبت value Null در يكي از فيلد هاي جدولم رو مي ده و مي دونم كه علتش اينه كه پس از بستن preview مربوط به quickrep فرم من مجددا داره Active مي شه و احتمالا با دستور Insert يي كه توي رويداد Active فرم گذاشتم مشكل داره . ولي نمي دونم چطور مي تونم اون رو رفع كنم .

حمیدرضاصادقیان
سه شنبه 23 مهر 1387, 12:12 عصر
سلام.اگر میتونید کدی که نوشتید رو اینجا بذارید تا بهتر بشه تصمیم گرفت.

ghabil
چهارشنبه 24 مهر 1387, 09:54 صبح
دسوت عزیز به تفصیل برات توضیح داد OnActive جای مناسبی برای اینکار نیست!




دستورات Open , First , Insert رو قرار دادم روي اين فرم كاربر مي تونه ركوردهاي جديدي رو به جدول اضافه كنه


دقیقا سناریوت رو بگو تا بگیم کجا این کار اضافه کردن رو انجام بدی مناسبه.

mandana2010
چهارشنبه 24 مهر 1387, 12:45 عصر
دقیقا سناریوت رو بگو تا بگیم کجا این کار اضافه کردن رو انجام بدی مناسبه.[/quote]
فرمي دارم كه روي اون تعداد DBedit قرار داره براي اينكه و چون اونها به فيلدهاي بانك اطلاعاتي متصل شده اند به هنگام باز شدن فرم براي اينكه اين DBEDIT ها بصورت خالي و آماده براي ورود اطلاعات نمايش داده شوند مجبورم دستور insert رو در رويداد ONActive وارد كنم . پس از باز شدن فرم كاربر در DBEdit ها ورود اطلاعات كرده و دكمه ذخيره رو براي ذخيره در بانك اطلاعاتي فشار مي ده در ضمن يكسري edit هم روي فرم هستند كه اطلاعاتشون با كدهايي كه روي دكمه ذخيره قرار گرفته توي بانك مي شينه.

ghabil
چهارشنبه 24 مهر 1387, 13:28 عصر
خب فرض کنیم اسم فرم دومت Form2 هست و روش هم یک Table به اسم Table1 داری و یک دکمه گذاشتی که با کلیک کردنش Form2 رو نمایش میدی ، کد اون دکمه رو اینطوری کن :



Form2.Table1.Insert;
Form2.Show();