PDA

نسخه کامل مشاهده نسخه کامل : کمک درمورد جستجوی بانک پارادکس



heydar110
30-05-2006, 08:58
سلام.خسته نباشید.من یه برنامه با بانک پارادکس نوشتم وقتی این برنامه رو جای دیگه کپی می کنم از دیتابیس خطا می گیره و پیغام خطای "unknown database" میده .لطفا اگه کسی میدونه کمکم کنه.

heydar110
30-05-2006, 09:05
با عرض سلام خدمت برنامه نویسان گرامی.من میخام وقتی جدول رو فیلتر میکنم اگه جستجو نتیجه ای در بر نداشت پیغام مناسبی ظاهر بشه برای این کار چه دستوری باید بنویسم.با تشکر

as13851365
07-07-2007, 07:23
برای این که در دلفی به دنبال یک چیزی در بانک بگردی راهای زبادی وجود دارد اولیش این است که بانک را فی لتر کنی که با این دستور بانک فی لتر می شود
table1.filter:='name='''+edit1.text+'''';
table1.filterid:=true;
if table1.isemty= true
showmessage('');
این چهار خط برنامه که اولی داده ای که می خواهی در بانک پیدا کنی را از ادیت 1 می گیره خط دوم بانک را فی لتر می کنه و خط سوم هم اگر داده مورد نظر در بانک نباشد در خط چهارم پیغام مورد نظر را نشان می دهد امکان داره دستورات غلت املائی داشته باشند برای همین اول دستور را نوشته و دکمه کنترل + اسپیکبار را فشار دهید تا دستور مورد نظر ظاهر شود
قربان تمام مهندسین

Sharingan
07-07-2007, 08:13
وقتي برنامه رو مي بري يه جايه ديگه كپي مي كني مثلا روي يه كامپيوتر ديگه بايد فايلاي مربوط به بانك اطلاعاتي رو هم همراش ببري. مگر اينكه روي كامپيوتر دوم paradox نصب شده باشه. در غير اين صورت بايد از install-shield استفاده كني. در اين صورت در هنگام نصب برنامه خودش فايلاي بانك اطلاعاتي رو هم نصب مي كنه....!!!

as13851365
26-07-2007, 10:28
برای این که برنامه شما پیچیده نباشه و اگر یه برنامه کوچک باشه نیازی نیست که از اینیستال ساز ها استفاده کنید

برای بانک ها هم اگر از بانک اکسس استفاده کنید هیچ مشکلی نداره یعنی در کامپیوتر دوم اگر برنامه اکسس باشه و یا نباشه مشکلی در برنامه شما ایجاد نخواهد کرد

مرد مباح
26-07-2007, 12:33
همشون رو میتونی توی لینک امضای من در صفحات اولش پیدا کنی.

موفق باشی

ghoghnoose_dana
27-07-2007, 09:06
تا انجین bde نصب نباشه با وجود بانک هم نمیشه با بانک کار کرد.میتونی محتویات شاخه C:\Program Files\Common Files\Borland Shared\BDE
رو توی شاخه فایل exe‌ کپی کنی

YBB
28-07-2007, 00:19
ساده ترين راه براي جستجوي يك فيلد استفاده از متد
Locate
جدول است كه حتي مي تواند فيلدي را كه ايندكس نيست پيدا كند مثلا
if not Table1.Locate('Name', edtName.Text, []) then
MessageDlg(''''+edtName.Text+''' not found', mtError, [mbOK], 0);
كه كد فوق متن نوشته شده در
edtName
را از فيلد
Name
جدول بانك اطلاعاتي جستجو مي كند و در صورت پيدا شدن، اشاره گر به ركورد مورد نظر منتقل مي شود و در غير اين صورت پيامي مبني بر عدم پيدا كردن ظاهر خواهد شد.
اين متد حتي قادر به جستجوي چند فيلدي نيز مي باشد مثلا:
Table1.Locate('Name; Family', VarArrayOf([edtName.Text, edtFamily.Text]), [])
كه دستور فوق مقادير موجود در
edtName و edtFamily
را به ترتيب با فيلدهاي
Name و Family
از جدول بانك اطلاعاتي جستجو مي كند و در صورت پيدا نمودن اولين ركورد با اين مشخصات، اشاره گر را به آن منتقل مي كند.
پارامتر سوم در دستور
Locate
كه در بالا به صورت [] ظاهر شده است نحوه جستجو را مشخص مي كند.
كه يك مجموعه
(set)
دو حالتي مي باشد كه در يونيت
DB
تعريف شده است
(loCaseInsensitive, loPartialKey).
درصورتي كه از
[loCaseInsensitive]
استفاده شود براي جداولي كه شامل داده هاي انگليسي است نسبت به بزرگ يا كوچك بودن حروف در جستجو بي تفاوت خواهد بود.
درصورتي كه از
[loPartialKey]
استفاده شود جستجو در داخل فيلد نيز انجام گرفته و در صورتي كه حتي قسمتي از فيلد در مورد جستجو باشد اشاره گر به آن ركورد منتقل خواهد شد.
مي توان هر دو تنظيم فوق را به صورت
[loCaseInsensitive, loPartialKey]
به كار برد.
لازم به ذكر است هردو تنظيم فوق در مورد فيلدهاي عددي تاثيري ندارند.