ورود

View Full Version : سوال: DBLookupComboBox



arkia
شنبه 09 مرداد 1389, 23:56 عصر
سلام ، یه DBLookupComboBox1 دارم که به بانک وصله میخوام وقتی فرم باز میشه اولین آیتمش انتخاب بشه چه کدی باید تو رویداد onshow فرم بنویسم؟ :متفکر:

حمیدرضاصادقیان
یک شنبه 10 مرداد 1389, 08:35 صبح
سلام.


dblookupcombobox1.keyvalue := 0;

arkia
یک شنبه 10 مرداد 1389, 12:07 عصر
ممنون اما جواب نداد . وقتی فرم باز میشه هیچ پیغامی نمیده اما وقتی روش کلیک می کنم تمام گزینه هاش پریدن و این پیغامو میده:



Could not convert variant of type (Olestr) into type (double)

حمیدرضاصادقیان
یک شنبه 10 مرداد 1389, 12:36 عصر
سلام.شما keyfield رو مشخص کردید؟ listfield مشخص شده است؟
keyfield باید به فیلد id شما ربط پیداکند.
در ثانی مقداری که من نوشتم صفر همون شماره اولین رکورد شماست.
مثلا اگر id اولین رکورد شما 1 هست اینجا هم 1 قرار بدین.یک میتونید با استفاده از یک Query مقدار اولین رکورد رو برگردونده و به این پاس بدید.

arkia
یک شنبه 10 مرداد 1389, 23:32 عصر
تو بانکم اصلا id بکار نبردم فقط نام کاربری و کلمه عبوره با list field مشخص کردم

حمیدرضاصادقیان
دوشنبه 11 مرداد 1389, 07:49 صبح
اشکال نداره. شما میتونی در داخل یک تابع مقدار اولین رکورد رو بدست بیاری بعد به keyvalue پاس بدی
مثلا اگر keyfield شما فیلد name باشه میتونی به شکل زیر عمل کنید.


function ReturnFirstRecord:string;
BEgin
With Adoquery1 do
Begin
sql.clear;
sql.add('select top 1 name from table1 order by name');
open;
if recordcount>0 Then
Result := Fieldbyname('name').asstring;
End;
End;

این کد تابع شما میشه.
در زمان load فرم به این صورت صداش میزنید


dblookupcombobox1.keyvalue := returnfirstrecord;

موفق باشید