PDA

View Full Version : سوال در مورد combobox



newmefmef
دوشنبه 01 مرداد 1386, 08:54 صبح
دوستان سلام
من دارم یک برنامه می نویسم که با اون بشه اطلاعات فردی افراد را وارد یک بانک اطلاعاتی کرد حالا می خوام بدونم که چطوری می شه اطلاعاتی را که وارد یک کامبوباکس کردم را با کلیک برروی ان در بانک ذخیره کنم ؟

SYNDROME
دوشنبه 01 مرداد 1386, 09:07 صبح
با سلام

دوستان سلام
من دارم یک برنامه می نویسم که با اون بشه اطلاعات فردی افراد را وارد یک بانک اطلاعاتی کرد حالا می خوام بدونم که چطوری می شه اطلاعاتی را که وارد یک کامبوباکس کردم را با کلیک برروی ان در بانک ذخیره کنم ؟
نام تاپیک خود را بهتر انتخاب کنید.
بعد از وارد کردن مقدار در ComboBoxمی توانی یک دکمه Saveقرار دهی و کد زیر را در OnClickآن بنویسی.


For i := 0 To ComboBox1.Items.Count - 1 Do
Begin
ADO.Insert;
ADO.FieldByName('FieldName').Asstring := Combobox.items.String[i];
ADO.Post;
End;

البته می توانی قبل از هر Insertاول چک کنی ببینی مقداری مشابه در بانک ذخیره شده است.
موفق باشی.

arshia_
دوشنبه 01 مرداد 1386, 09:13 صبح
فکر کنم باید از dblookupcombobox استفاده کنی
حالا چرا قصد دارید از کامبو باکس استفاده کنید؟
در مورد اطلاعات تکراری چه برنامه ای دارید؟

newmefmef
دوشنبه 01 مرداد 1386, 10:19 صبح
دوست عزیز arshia
دلیل استفاده از کامبوباکس فقط برای این است که اطلاعات تکراری را سریعتر وارد کنم
شما راه حل دیگری سراغ دارید ؟


بعد از وارد کردن مقدار در ComboBoxمی توانی یک دکمه Saveقرار دهی و کد زیر را در OnClickآن بنویسی

سوال من این بود که چطور می شه با کلیک برروی ایتمهای کامبو باکس عمل ذخیره اون ایتم در بانک انجام بشه ؟

Hamid.Kad
دوشنبه 01 مرداد 1386, 10:32 صبح
فکر کنم منظورتون رو بد انتقال میدید. ولی عجالتاً این کد را توی OnChange کامبوباکس مربوطه بنویسید( فرمایش جناب Syndrom)


;AdoTable1.Edit
;[AdoTable1.FieldByName('FieldName').Asstring := CBox1.Items[CBox1.ItemIndex
;AdoTable1.Post

SYNDROME
دوشنبه 01 مرداد 1386, 12:27 عصر
دوست عزیز arshia
دلیل استفاده از کامبوباکس فقط برای این است که اطلاعات تکراری را سریعتر وارد کنم
شما راه حل دیگری سراغ دارید ؟

البته یک راه حل وجود دارد که خودت با Editچنین کاری انجام بدهی که البته کمی مشکل است و مدیریت قوی باید روی صفحه کلید داشته باشید.


سوال من این بود که چطور می شه با کلیک برروی ایتمهای کامبو باکس عمل ذخیره اون ایتم در بانک انجام بشه ؟
شاید شما می خواهید فقط عمل Viewرا انجام دهید یا حتی اشتباهی یک آیتم را انتخاب کردید.آنوقت تکلیف چیست؟؟؟


;AdoTable1.Edit
;[AdoTable1.FieldByName('FieldName').Asstring := CBox1.Items[CBox1.ItemIndex
;AdoTable1.Post
این کار دست است ولی حتی اگر با صفحه کلید هم روی آیتمها جابجا شود عمل ذخیره انجام می شود.
البته به جای اینکه در onchngeبنویسی در یک Actionبنویس و کلید ShortCutبرای آن تعریف کن و آن را به یک Buttonوصل کن و اگر کاربر خواست بعد از انتخاب روی Buttonکلید کند و یا کلید ShortCutرا بزند.
چون عمل اضافه است دستور خط اول به شکل زیر می شود.


;AdoTable1.Insert

موفق باشی

saman020
دوشنبه 01 مرداد 1386, 19:00 عصر
در onexit کمبو پس از اینکه مقدار توسط کاربر انتخاب شد ذخیره را انجام دهید

newmefmef
دوشنبه 01 مرداد 1386, 22:26 عصر
ببخشید شاید من سوالم را به شکل صحیح نپرسیدم منظور من این است که چطور باانتخاب یا تایپ یک متن در کامبو باکس و کلیک کردن یک کلید فرمان اطلاعات را در یک جدول ذخیره کنم ؟ به تصویر دقت کنید

SYNDROME
دوشنبه 01 مرداد 1386, 22:32 عصر
با سلام

ببخشید شاید من سوالم را به شکل صحیح نپرسیدم منظور من این است که چطور باانتخاب یا تایپ یک متن در کامبو باکس و کلیک کردن یک کلید فرمان اطلاعات را در یک جدول ذخیره کنم ؟ به تصویر دقت کنید
کد زیر را در OnClick مربوط به Button ذخیره بنویسید.


ADO.Insert;
ADO.FieldByName('FieldName').Asstring := Combobox.Text;
ADO.Post;

موفق باشید