ورود

View Full Version : سوال: جستجوی بهینه ی فامیل در دیتابیس



alireza661
یک شنبه 03 اردیبهشت 1391, 19:18 عصر
سلام دوستان
من یک بانک اکسس 2007 دارم و توش هم یک سری نام خانوادگی
مثال :
در بانک فامیلی احمدی رو داریم
حالا میخوام جوری دستور سرچ sql رو بنویسم که اگر کاربر در text9.text تایپ کرد کلمه ی "حمد" رو بازم احمدی رو بیاره برامون
یا به عبارتی اگر text9.text در درون فیلد یافت شد یا بالعکس بازم برنامه اون فامیلی رو بیاره
تشکر

M.T.P
یک شنبه 03 اردیبهشت 1391, 19:42 عصر
Dim strSql As String
Dim strSearch As String

strSearch = Text1.Text
strSql = "select * from tblUsers where fldFamily like '%" & strSearch & "%'"

اسم جدول و فیلد رو مطابق با بانکتون قرار بدید.

alireza661
یک شنبه 03 اردیبهشت 1391, 20:46 عصر
نباید بجای strSql = بذارم adodc1.recordsource ؟؟؟؟؟؟؟؟؟؟؟؟
نباید در آخر adodc رو رفرش کنم؟
آخه اینطوری که جواب نداد

Mr'Jamshidy
یک شنبه 03 اردیبهشت 1391, 22:30 عصر
دوست من strSql یک متغیر هست و فقط دستور SQL مربوطه رو تو خودش نگه میداره

دستور داخل strSql رو اجرا کنی تا چیزی ببینی

M.T.P
یک شنبه 03 اردیبهشت 1391, 23:51 عصر
دوست عزیز من کوئری جستجو رو براتون نوشتم .
اینکه شما با چه روشی رکوردست رو باز می کنید خودتون میدونید. Data , Adodb , Adodc و Ado و ...

alireza661
دوشنبه 04 اردیبهشت 1391, 12:44 عصر
اصلا بذار سئوالمو طور دیگری مطرح کنم
در بانک کلمه ی احمد رو دارم حالا کاربر در text1 مینویسه احمدی ( یعنی یک حرف زیادی مینویسه) حالا باید چه کار کنم تا احمد رو برای نتایج نشون بده؟؟؟؟؟؟؟؟؟؟
یک سئوال دیگه هم دارم
من الان بانک اکسسمو به آدودی سی ربط دادم ولی باید چکار کنم تا اگر برنامه روی سیستم دیگری رفت مسیر ربطش دچار مشکل نشه؟ چون مسیری که در سیستم من هست خب ممکنه در اون سیستم نباشه

ASedJavad
دوشنبه 04 اردیبهشت 1391, 21:00 عصر
سلام

مشابه سوال اولت تو پست 7 رو تو لینک زیر پرسیدم ولی به جواب خیلی خوبی نرسیدم هنوز:
http://barnamenevis.org/showthread.php?338005-%DB%8C%D8%A7%D9%81%D8%AA%D9%86-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D9%87%D8%A8%D9%88%D8%AF-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%DA%A9%D9%84%D9%85%D9%87

alireza661
دوشنبه 04 اردیبهشت 1391, 21:02 عصر
ای کلک موش بخوره تورو تو کلا توی کار ریچ تکست باکسی :لبخند:
برای اینکه مسیر بانک دچار مشکل نشه راهی سراغ نداری؟

ASedJavad
دوشنبه 04 اردیبهشت 1391, 21:20 عصر
بهترین کار اینه که دیتابیستو بذاری کنار فایل اجرایی برنامتبعد با دستور app.path بهش آدرس دهی کنی.


یا یه راه بدتر هم هست که مثلا دیتابیستو بریزی تو یکی از فولدرهای خاص ویندوز (مثل دسکتاپ، مای دکومنت، سیستم32 و ... ) و بعد با دستورات خاصی که هست اون مسیر رو پیدا کنی.

alireza661
دوشنبه 04 اردیبهشت 1391, 23:05 عصر
بهترین کار اینه که دیتابیستو بذاری کنار فایل اجرایی برنامتبعد با دستور app.path بهش آدرس دهی کنی.

آهان ببین شکل کلیشو درست مینویسم :


A1.ConnectionString = App.Path & "\bank.mdb"

اگر درسته اینو باید در رخداد فرم لود بنویسم یا فرم اکتیو یا form initalize کدوم یکی؟؟؟؟؟؟؟؟؟؟؟
بعد من الان ارتباطشو در مد دیزاین برقرار کردم این مشکل ساز که نمیشه؟
راستی اگر روی سیستمی اکسس نصب نباشه تکلیف چیه؟ بازم کار میکنه؟

M.T.P
سه شنبه 05 اردیبهشت 1391, 00:03 صبح
شکل صحیح و بدون نقصش اینه:




strDatabasePath = IIf(Right$(App.Path, 1) = "\", App.Path, App.Path & "\") & "Database.mdb"

ASedJavad
سه شنبه 05 اردیبهشت 1391, 00:30 صبح
حالا مثلا خواستی بگی من یه چیزی بیشتر بلدم آره؟عوض تشکرت بود؟:ناراحت:
کاری نکن ملتو از جواب دادن دلسرد کنی:عصبانی:
:عصبانی++:


بستگی به کار خودت داره ولی معمولش تو رویداد لود مینویسن

اگه براش ستاپ کاملی بسازی، نیازی به اکسس نیست و فایلهای مورد نیاز تو ستاپش قرار میگیرن.

M.T.P
سه شنبه 05 اردیبهشت 1391, 11:02 صبح
حالا مثلا خواستی بگی من یه چیزی بیشتر بلدم آره؟

نه به اندازه شما .

جوابت تو پست دو هست ، الکی تاپیک رو شلوغ نکن.
در ضمن به جای حرف زدن یه کم فکر کن.

این تاپیک رو هم مطالعه کن واسه شماست.
لطفا بررسی بکنید شرایط رو سپس اقدام به ایجاد هرچیزی بکنید (http://barnamenevis.org/showthread.php?338135-%D9%84%D8%B7%D9%81%D8%A7-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A8%DA%A9%D9%86%DB%8C%D8%AF-%D8%B4%D8%B1%D8%A7%DB%8C%D8%B7-%D8%B1%D9%88-%D8%B3%D9%BE%D8%B3-%D8%A7%D9%82%D8%AF%D8%A7%D9%85-%D8%A8%D9%87-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%87%D8%B1%DA%86%DB%8C%D8%B2%DB%8C-%D8%A8%DA%A9%D9%86%DB%8C%D8%AF&p=1491867#post1491867)

alireza661
سه شنبه 05 اردیبهشت 1391, 21:04 عصر
عوض تشکرت بود؟:ناراحت:
کاری نکن ملتو از جواب دادن دلسرد کنی:عصبانی:
:عصبانی++:


بستگی به کار خودت داره ولی معمولش تو رویداد لود مینویسن

اگه براش ستاپ کاملی بسازی، نیازی به اکسس نیست و فایلهای مورد نیاز تو ستاپش قرار میگیرن.
من براش ستاپ ساختم و فایل msadodc.ocx رو هم کنارش گذاشتم و موقع نصب این کامپوننت رجیستر هم شد و فایل mdb هم در کنار اگزه قرار داره
و در فرم لود مسیر دهیش کردم
روی سیستم خودم اجرا میشه اما وقتی میبرمش روی سیستمی که ویندوزش اکس پی هست اجرا نمیشه
هیچ پیغام خطایی هم نمیده فقط اجرا نمیشه
نمیدونم چرا
به نظر شما مشکل از کجاست؟

vbhamed
چهارشنبه 06 اردیبهشت 1391, 07:20 صبح
سلام

خب ممكنه هنوز فايلهاي مورد نيازي داشته باشه كه تو ستاپتون نباشه
در اين مورد نرم افزارهاي ستاپ ساز گزينه اي دارن كه هنگام اجراي برنامه شما فعال ميشه و هر فايلي كه برنامتون ازش استفاده مي‌كنه رو رديابي مي‌كنه و به ستاپ اضافه مي‌كنه

راهنماي نرم افزار Wise Installation System رو كه تو همين تالار گذاشتم ببينيد

alireza661
چهارشنبه 06 اردیبهشت 1391, 09:50 صبح
شاید از مسیر دهی اشتباه باشه
من در فرم لود هم از کد پست 11 استفاده کردم هم اون کدی که خودم گفتم ولی موقع جستجو ازش خطا میگیره
بله من بنا به توصیه شما پروژه رو با Wise Installation System اسکن کردم
یکسری فایل دی ال ال آورد که خودم میدونستم باید بیارمشون چون با خود وی بی ستاپ ساخته بودم با یکسری فایل tbl که اونارو هم میدونستم
حالا یک سئوال
دی ال ال هایی که گفت لازمه برای پروژت بعضیاشون توی پویشه سیستم 32 بودن
آیا لازمه که همون فایل ها در سیستم مقصد رجیستر بشن؟ یا همینقدر که کنار برنامه باشن کافیه؟