PDA

View Full Version : استفاده از TEdit به همراه حرکت روی رکوردها



mahhnaz005
دوشنبه 27 آبان 1387, 13:28 عصر
با عرض سلام خدمت دوستان عزیز
آیا کد adotable1.fieldbyname('id').asstring:=trim(edit1.t ext); adotable1.insert;
را می شود طوری نوشت که رکورد اول را نشان دهد؟
می خواهم بدون استفاده از dbedit حرکت روی رکوردها را داشته باشم چون با dbedit هنگام ورود به form اطلاعاتی که آخرین بار وارد کردم هنوز روی صفحه مانده برای حل این مشکل روی form دستور insert را نوشتم ولی error داد:connot focus a disabled or invisible window حالا به نظرتان من چی کار کنم بهتره با تشکر.....

maisam57
دوشنبه 27 آبان 1387, 14:03 عصر
تو FormShow اينو بنويس


with ADOQuery1 do
begin
Open;
Insert;
DBEdit1.SetFocus;
end;

ميتوني براي حذف محتويات يك dbedit
dbedit.clear

behzad_dr
دوشنبه 27 آبان 1387, 20:30 عصر
به نظر من ، شما dataset رو غیر فعال کنید ..منظورم اینه که فقط کافی توی رویداد afterinsert اون تیبلتون دیتاسورس مربوطه رو Enabled ...فعال کنیدTRUE و توی رویداد afterpost اون تیبلتون دیتاسورس مربوطه رو Enabled ...غیر فعال کنیدFalse


DataSource4.Enabled:=true;



DataSource4.Enabled:=False;

mafazel
سه شنبه 28 آبان 1387, 07:58 صبح
آیا کد adotable1.fieldbyname('id').asstring:=trim(edit1.t ext); adotable1.insert;
را می شود طوری نوشت که رکورد اول را نشان دهد؟

دوست عزیز ذاتا وقتی درج می کنید رکورد جدید نشون داده میشه. برای نمایش رکورد اول دستور ADOTable1.Fisrt رو اجرا کنید. (مثلا بعد از دستور ADOTable1.Post)


می خواهم بدون استفاده از dbedit حرکت روی رکوردها را داشته باشم چون با dbedit هنگام ورود به form اطلاعاتی که آخرین بار وارد کردم هنوز روی صفحه مانده برای حل این مشکل روی form دستور insert را نوشتم ولی error داد:connot focus a disabled or invisible window حالا به نظرتان من چی کار کنم بهتره با تشکر.....
حرکت روی رکوردها ربطی به DBEdit ندارد. DBEdit به یک جدول وصله و جدول یک مکان نما داره که رکورد جاری رو نشون میده بنابرین DBEdit اطلاعات یک فیلد از رکورد جاری رو نشون میده. شما جدولتون رو میتونید پیمایش کنید یا بقول خودتون روی رکوردها حرکت کنید. (با دستورهای First,Last,Next,Prior,Locate یا با DBGrid یا ...).
خطایی هم که نوشتید مستقیما مربوط به دستور Insert نمیشه
اگر جدولتون در یک فرم و DBEdit ها در فرم دیگری هستند اول دستور Insert رو اجرا کنید بعد فرم DBEdit ها رو نشون بدید. اگر توی یک فرم هستند چاره ای نیست (حتما اطلاعات یک رکورد رو میبینید). یک دکمه "جدید" بذارید که توش دستور Insert و یک دکمه "ثبت" بگذارید که توش دستور Post و یک دکمه "انصراف" بگذارید که توش دستور Cancel رو اجرا کنید.