نمایش نتایج 1 تا 8 از 8

نام تاپیک: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

  1. #1

    نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    سلام


    یه مشکلی توی دلفی با Adoquery داشتم.یه برنامه ای رو پیوست کردم. توی برنامه دو تا فیلد name,fname هست .فیلد نام به DBCombobox1 و فیلد fname به dbcombobox2 مرتبط است. میخام وقتی دکمه اد DBNavigator1 رو کلیک کردم تا یه رکورد جدید به بانک اضافه بکنم ، زمانیکه روی DBcombobox1 و DBCombobox2 کلیک کردم مقادیری که قبلا در بانک است در لیست آیتم هایش بیاید و اگر ما دوباره مقدار قبلی رو خاستیم اضافه بکنیم پیغام بده و اجازه به کاربر رو نده!!

    یعنی مثلا توی برنامه دکمه اد (+) DBNavigator1 رو کلیک کردیم و در DBcombobox1 حرف R رو نوشتیم خودکار لیستش باز بشه و تمامی فیلد ها توش نمایش داده بشه و اسم Reza انتخاب بشه ( یعنی ما متوجه بشیم قبلا Reza در بانک بوده ) البته من خودم با Autocompelete و autodropdown امتحان کردم ولی یه مشکلاتی پیش اومد که ولش کردم.

    برای فیلد fname و DBcombobox2 هم به همین ترتیب.

    به همین ترتیب اگه کلمه Reza rezaee رو دوباره خاستیم به بانک اد بکنیم اجازه به کاربر رو نده

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

    متشکرم
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی آواتار hossein_h62
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهـــــان
    پست
    720

    نقل قول: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    دوست عزیز یه تغییر کوچیک دادم ببین کارتو راه میندازه !!
    فایل های ضمیمه فایل های ضمیمه

  3. #3

    نقل قول: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    درود :
    1) DBNavigator رو به Table متصل کن تا بشه دستورات را مستقیم با بانک بدی .
    2) برای جستجوی حرف به حرف می تونی از Locate استفاده کنی که این دستور رو رویداد onchang بنویس .
    3) برای نمایش لیستی باید از DBLookupComboBox استفاده کنی .
    4) در هنگام ذخیره هم میتونی با یه جستجوی Query یا همون Locate تکراری بودن یا نبودن رو امتحان کنی .

  4. #4

    نقل قول: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    سلام در مورد پاسخ hossein_h62 محترم باید بگم که شما DBLookupComboBox رو به یرنامه اضافه کردین و به دو فیلد مربوطه ربطش دادین. اما من خودم هم همین روش رو انتحان کرده بودم اما نمیدونم چطور هر دو تا سوالمو که پرسیدم توی برنامه پیاده بکنم

    در رابطه با پاسخ pezhvakco محترم باید بگم که اگه لطف کنین روی برنامه پیاده بکنبن ممنون میشم. چون خودم چندین روش رو امتحان کردم و لی آخر درست نشد!!گفتین برای نمایش بطورت لیستی هم از DBLookupComboBox استفاده بکنم اما چطور هم میشه باهاش اد کرد.

    سوالم کلا دوتاست : ( البته فکر کنم توی پست اول کامل توضیح دادم)

    1: بیایم تمام مقادیر فیلد نام و نام خانوادگی رو در DBCombobox1 , 2 اضافه بکنیم (هر لحظه که یکی رکورد به بانک اد کردیم لیست رفرش بشه ) تا کاربر متوجه بشه قبلا این مشخصات وارد شده
    2 : اگه مقادیر رکورد قبلا وجود داشت به کاربر پیغام بده

    ممنون

  5. #5
    کاربر دائمی آواتار hossein_h62
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهـــــان
    پست
    720

    نقل قول: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    نقل قول نوشته شده توسط dcamera مشاهده تاپیک
    سوالم کلا دوتاست : ( البته فکر کنم توی پست اول کامل توضیح دادم)

    1: بیایم تمام مقادیر فیلد نام و نام خانوادگی رو در DBCombobox1 , 2 اضافه بکنیم (هر لحظه که یکی رکورد به بانک اد کردیم لیست رفرش بشه ) تا کاربر متوجه بشه قبلا این مشخصات وارد شده
    2 : اگه مقادیر رکورد قبلا وجود داشت به کاربر پیغام بده

    ممنون
    دوست عزیز برای جلوگیری از ورود داده های غیرتکراری راههای دیگه ای هم هست.اگر اصراری برای استفاده از DBComboBox نداشته باشید براحتی میشه دو تا ادیت باکس بزارید و در رویداد OnChange اونها DBGrid تون رو فیلتر کنید.در نتیجه وقتی کاربر نامی رو در ادیت تایپ میکنه در صورت وجود، در گرید میبینتش.روش خوبیه.خودم توی یه برنامه استفاده کردم.اگر میخاین تا روی برنامتون اضافش کنم؟؟

  6. #6

    نقل قول: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    نقل قول نوشته شده توسط hossein_h62 مشاهده تاپیک
    دوست عزیز برای جلوگیری از ورود داده های غیرتکراری راههای دیگه ای هم هست.اگر اصراری برای استفاده از DBComboBox نداشته باشید براحتی میشه دو تا ادیت باکس بزارید و در رویداد OnChange اونها DBGrid تون رو فیلتر کنید.در نتیجه وقتی کاربر نامی رو در ادیت تایپ میکنه در صورت وجود، در گرید میبینتش.روش خوبیه.خودم توی یه برنامه استفاده کردم.اگر میخاین تا روی برنامتون اضافش کنم؟؟
    سلام

    حرف شما کاملا درست م خودمم این روش رو بلدم اما میخام از حالت کمبو باکس استفاده بکنم. چون در برنامه جای کمتری رو میکیره و همچنین نمیخام که دوباره با کیوری بانک رو فیلتر بکنم . میخام همون لحظه که دکمه اد رو زدم و وقتی خاستم رکورد جدید اد بکنم یه لیست کمبو باز بشه تا کاربر بفهمه که این رکرورد یا شبیه این رکورد در بانک است.(مثلا توی همین سایت وقتی میخایم پیغام خصوصی به یه نفر بدیم وقتی که جلوی کادری که برای ارسال به طرف مقابل هست کلمه تایپ کردیم یه لیست باز میشه و ... ) البته من این مثال ساده رو گزاشتم اما برنامه اصلیم روی چندین میلیون رکورد کار میکنه.


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

    متشکرم

  7. #7

    نقل قول: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    دوستان راهنمایی کنید لطفا ....

  8. #8

    نقل قول: نمایش + اضافه شدن فیلد به کمبو در صورت وجود نداشتن

    برای این کار مجبوری از دستورات sql استفاده کنی .
    اگر یه کامپونتی باشه که خودش این کار رو انجام بده، روش کار همینه .
    باید تو رویداد onchang ، دستورات مورد نظر را بنویسی، حالا می خوای یه DBLookupListBox بذار و اون رو به ADOQuery متصل کنی و تو رویداد onchang مربوط به edit با dbedit دستور نمایش موارد خاص مورد نظرت را نمایش بده .
    این کد نمایش متناسب با موارد ورودی است >
    SELECT name FROM Table WHERE (name LIKE 'Edit1.text + %')

قوانین ایجاد تاپیک در تالار

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