PDA

View Full Version : خطا در جستجو با Locate



ICEMAN
دوشنبه 06 خرداد 1387, 09:40 صبح
سلام ...
من توي يه بانك M/D
توي يكي از AdoTable هاي Detail ام براي جستجو از Locate استفاده كردم
كه توي يه Field عددي رو جستجو كنه مشكلي نيست تا وقتي
اول 1001 رو جستجو ميكنم
بعد 111 بعد يه عدد ديگه مثلا 564 حالا وقتي 11 رو جستجو كنم فرق 11 و 111 رو متوجه نمي شه

حتي قبل از جستجو Table.First و Requery كردم ولي همچنان اين مشكل رو دارم
وقتي از برنامه خارج بشم و هر كدوم از اون اعداد و جستجو كنم مشكلي ندارم ولي بعد از يه ترتيبي اين مشكل ايجاد ميشه

ممنون

Arghavan_Reza
دوشنبه 06 خرداد 1387, 11:52 صبح
سلام دوست عزیز:
برای فیلد عددی چنین مشکلی پیش نمیاد ولی اگر فیلد از نوع String باشه قسمت TLocateOptions دستور Locate را خالی بذار:


Locate(KeyFields, '11', [])

ICEMAN
دوشنبه 06 خرداد 1387, 14:42 عصر
نه
فكر كنم سوالم رو خوب متوجه نشديد
پيش نمياد نه آلان پيش اومده من هم دقيقا مثل شما استفاده كردم از دستور Locate ولي اين مشكل رو دارم
با Delphi ,WinXP SP2 و Sql Server 2000 Sp3
ممكنه از Character Encoding يا همچين چيزايي باشه

Arghavan_Reza
دوشنبه 06 خرداد 1387, 16:18 عصر
نوع فیلد جستجو، IndexFieldNames, MasterFields هر دو جدول و دستوری که دقیقا استفاده نمودید را بنویسید.

SYNDROME
دوشنبه 06 خرداد 1387, 16:37 عصر
دوست عزیز نوع فیلدتان nvarchar است؟(رشته ای)
اگر رشته ای است عددی کنید.
موفق باشید