كيف يمكنني جعل حقل في الـ DBGrid يمتلك خاصية الإكمال التلقائي
اي اذا كتبت فيه يكمل إلى أقرب كلمة من الكلمات المخزنة في قاعدة البيانات
(كما يحدث في الـ ComboBox )
كيف يمكنني جعل حقل في الـ DBGrid يمتلك خاصية الإكمال التلقائي
اي اذا كتبت فيه يكمل إلى أقرب كلمة من الكلمات المخزنة في قاعدة البيانات
(كما يحدث في الـ ComboBox )
السلام عليكم
عود حميد والحمد لله
اخى انا لا ادرى ماهية تطبيقك ولكن على اى جرب
table.locate('name',edit1.text[lopartialkey]);حيث الدالة lopartialkey تقوم بالعمل وهناك طريقة اخرى فى حالة انك تستخدم قاعدة البيانات بارادوكس
----------------------------------------------------------------------

سوف أرفق سورس عن قريب
تعمل الإكمال في DBGRID
يقول المثل الشعبي الجزائري
( أقري علمك و علما لا تدريه ، و قل ربي زدني علما ، و فوق كل ذى علم عليم )
اللهم زدنا و لا تنقصنا و أعطنا و لا تحرمنا
بامكانك ان تخزن الكلمات التي تريدها في combobox بحيث يكون بشكل خفي visable=false واكيد سيساعدك
او تستخدم الطريقة التي ذكرها الاخ a0sw255
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
السلام عليكم .. اّسف على الغيبة الطويلة عنكم أحبابي قسم دلفي كنت مشغول في قسم الـ SqlServer + عملي في شركة البرمجيات التي أعمل بها .. :rolleyes: :rolleyes:
رأيي في المسألة :
1- أن تستخدم الحدث KeyPress الخاص بالـ DBGrid .
2- أن تستخدم الشرط التالي لمعرفة العمود الذي يتم فيه التحرير(الكتابة) :
if(DBGrid1.SelectedField.FullName = 'MyField') Then
3- استخدم متحول عام أو متحول ضمن Form Class أقصد في قسم الـ Private . و ليكن str من String .
4- إستخدم هذا المتحول لحفظ المحرف الذي تكتبه في الشبكة :
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if(DBGrid1.SelectedField.FullName = 'MyField') Then Begin str := str + Key;
3- ثم استخدم AdoQuery1 مع استعلام مشابه لـ :
AdoQuery1.sql.text := 'select MyField From MyTB where MyField Like ''%''' + str; AdoQuery1.open;
ثم قم بإعادة القيمة الناتجة عن الإستعلام إلى الـ Ado التي تعرض سجلاتها في الـ Grid :
طبعاً إذا كان الإستعلام الناتج عن الـ AdoQuery1 يعيد قيمة وحيدة مثلاً :
كنت تكتب في الـ Grid : أحمـ -- فأكمل إلى ---> أحمد لأنه توجد قيمة وحيدة في هذا الحقل مشابهه و هي (أحمد)
فتصبح الإجرائية كلها من الشكل :
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if(DBGrid1.SelectedField.FullName = 'MyField') Then
Begin
str := str + Key;
AdoQuery1.sql.text := 'select MyField From MyTB where MyField Like ''%''' + str;
AdoQuery1.open;
if(AdoQuery1.RecordCount = 1) Then
Begin
AdoTable1.Edit;
AdoTable1.FieldByName('MyField').value := AdoQuery1.FieldByName('MyField').value;
End;
End;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
مع تمنياتي بالتوفيق
نعيب زماننا و العيب فينا و ما لزماننا عيب سوانا ( الإمام الشافعي رحمه الله )
عماد .. B) B)
دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله
أخوكم في الله.. Imad Ozone
شكرا جزيلا لكم ولعى ردودكم
ولكن للأسف لقد تعطل الحاسب لدي ولا استطيع تجربة ما ذكرتم
لذا ارجو ان يبقى الموضوع مفتوحا حتى اتمكن من اصلاح جهازي ثم اجرب
الله يصلحك و يصلح جهازك ... :D
=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
نعيب زماننا و العيب فينا ********* و ما لزماننا عيب سوانا ( الشافعي رحمه الله )
عماد .. B) B)
دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله
أخوكم في الله.. Imad Ozone
هذا الموضوع مغلق.