View Full Version : قرار دادن تمام مقادير فيلد در كمبوباكس
seyed_farid
یک شنبه 11 اسفند 1387, 09:09 صبح
من از پارادوكس استفاده كردم و ميخوام تمام مقادير يك فيلد را بدون تكرار در يك dbcombobox بگذارم تا كاربر براحتي بتونه مقادير قبلي اين فيلد رو در صورت نياز سريع انتخاب كنه.
:متعجب:تو سايت گشتم ولي چيزي كه مشكلمو حل كنه نديدم. كسي ميتونه راهنمائيم كنه؟:تشویق:
.Mehdi.
یک شنبه 11 اسفند 1387, 09:39 صبح
مي تونيد از تكه كد زير استفاده كنيد
With Query Do begin
sql.clear;
sql.add('SELECT Distinct YourField From TableName');
open;
end;
Query.First;
While not Query.eof do begin
combobox1.Items.Add(Query['YourField']);
Query.Next;
end;
موفق باشيد
.Mehdi.
یک شنبه 11 اسفند 1387, 09:53 صبح
در توضيح كد ها بايد بگم كه تكه كد اولي با استفاده از دستورات sql ركوردهاي غير تكراري در يك فيلد خاص رو به عنوان نتيجه بر مي گردونه (با استفاده از كلمه كليدي Distinct)
و تكه كد دومي هم ركوردهاي برگردونده شده رو يكي يكي توي كامبو باكس ميريزه
=================================================
هر چه خدمت بيشتري بكنيم موفق تر مي شويم
seyed_farid
یک شنبه 11 اسفند 1387, 10:31 صبح
Paradox
:افسرده::افسرده::افسرده:
.Mehdi.
یک شنبه 11 اسفند 1387, 11:47 صبح
دستورات نوشته شده توسط بانك پارادوكس تست شده است. جهت استفاده از دستورات sql شما مي بايست از يك Query كه در تب BDE موجود است استفاده كنيد و DataSource آن را به Table مورد نظر لينك بدهيد سپس دستورات را تايپ كنيد
8******************************8
seyed_farid
چهارشنبه 14 اسفند 1387, 09:56 صبح
ممنون. چك ميكنم.
seyed_farid
پنج شنبه 15 اسفند 1387, 13:21 عصر
بعد براي نصب برنامه روي كامپيوتر كاربر براي sqlاستفاده شده چيزي بايد نصب بشه؟
Batman
پنج شنبه 15 اسفند 1387, 14:09 عصر
اگر از بانک access 2003 استفاده می کنید نیازی نیست.
اما اگر از بانک sql server استفاده می کنید حتما حداقل باید datebase engine رو نصب کنید.
موفق باشید
accpascal
جمعه 16 اسفند 1387, 12:09 عصر
اگر از dblookupcombobox استفاده کنی این کار شما سریعتر انجام می شود
seyed_farid
شنبه 17 اسفند 1387, 08:46 صبح
اگر از بانک access 2003 استفاده می کنید نیازی نیست.
اما اگر از بانک sql server استفاده می کنید حتما حداقل باید datebase engine رو نصب کنید.
با پارادوكس چطور؟
seyed_farid
شنبه 17 اسفند 1387, 08:51 صبح
اگر از dblookupcombobox استفاده کنی این کار شما سریعتر انجام می شود
روشش رو دقيقا نمي دونم. چطور ميشه تمام مقادير يك فيلد را تو dblookupcombobox نمايش داد؟
اگر مثالي براش داريد بذاريد ممنون ميشم:تشویق::قلب:
.Mehdi.
شنبه 17 اسفند 1387, 12:23 عصر
روشش رو دقيقا نمي دونم. چطور ميشه تمام مقادير يك فيلد را تو dblookupcombobox نمايش داد؟
اگر مثالي براش داريد بذاريد ممنون ميشم:تشویق::قلب:
قبل از توضيح درباره DBLookupCombobox بايد بگم كه شما مي بايست ابتدا اطلاعات جدول خود را فيلتر كنيد يعني فقط اسامي افرادي كه نامشان تكراري نباشد پس تكه كد اول با sql را بايد بنويسيد و با استفاده از DBLookup فقط تكه كد دوم را لازم نيست بنويسيد. به شما پيشنهاد مي كنم در صورتي كه مي خواهيد تمام اطلاعات يك فيلد خاص از يك جدول را انتخاب كنيد از DBLookup استفاده كنيد!
كنترل زير را روي فرم خود قرار دهيد:
Data Control / DBLookUpCombobox
و خواص زير را به آن نسبت بدهيد:
ListSource : جدولي كه مي خواهيد اطلاعات آن نمايش داده شود
List Field: فيلد مورد نظر (مثلا نام كارمندان)
Key Field : نام كليد جدول
:لبخندساده::لبخندساده::لبخن ساده: :خجالت:
seyed_farid
چهارشنبه 21 اسفند 1387, 14:30 عصر
ممنون. انجام شد.
از يك TQuery استفاده كردم و دستور زير:
procedure TFormedit1.DBComboBox1DropDown(Sender: TObject);
begin
DBComboBox1.Items.Clear;
With Query1 Do
begin
sql.clear;
sql.add('SELECT Distinct FieldName From mdf');
open;
end;
Query1.First;
While not Query1.eof do
begin
try
if Query1['FieldName'] <> '' then
DBComboBox1.Items.Add(Query1['FieldName']);
except end;
Query1.Next;
end;
end;
حالا براي نصب برنامه روي كامپيوتر كاربر براي sql استفاده شده چيزي بايد نصب بشه؟
چون با استفاده از اين مورد برنامه خطا ميدهد. ( insuficient Privilage )
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.