PDA

View Full Version : جستجو و نمایش نتایج آن



amir_masoud
یک شنبه 24 آبان 1383, 14:14 عصر
سلام
من دارم یه برنامه برای یه فروشگاه می نویسم که یه قسمت اون مربوط به فروش قسطی اون فروشگاهه . روش کار به این صورت هست که زمانی که مشتری یه جنسی رو خرید تویه یه قسمت ( فرم ) اطلاعات اون مشتری به علاوه قیمت جنس خریداری شده . پرداخت نقدی و تعداد اقساط در یافت می شه در ضمن به هر مشتری یه کد هم اختصاص می ده و بعد از اون تویه یه فرم دیگه اطلاعات هر قسط ( مبلغ . شماره چک . تاریخ چک . نام بانک و ... ) رو وارد می کنم بر اساس کدی که به اون مشتری دادم . ( فرض کنید که یه مشتری یه جنس 500000 تومانی رو خریده و 100000 تومان اونو نقدی داده و برای باقیماندش می خواد چهار تا چک بده . که اطلاعات این چکها یکی یکی به علاوه کد اون مشتری تویه یه جدول جدا نگهداری می شه ) .
خب حالا می خوایم گزارشی بگیریم که زمانی کد اون مشتری رو وارد کردیم پرداخت نقدی و تعداد اقساط و جزئیات اون اقساط رو برامون نشون بده . برای انجام این کار به چه صورت باید تویه جداول جستجو کرد که مثلا برای یه مشتری که 3 تا چک داده زمانی کد اون رو وارد می کنیم اطلاعات مربوط به اون 3 تا چکش رو تویه یه فرم نشون بده .
با تشکر از تمامی دوستان برنامه نویس

bahar60
دوشنبه 25 آبان 1383, 15:33 عصر
می تونید یه جدول برای مشخصات خاص اون مشتری داشته باشید که کلید اصلی اون همان کد مشتری است که گفتید و یه جدول که مربوط به اطلا عات اجناس باشه و اجناس هم یک کلید ویا یک کد منحصر بفرد داشته باشند و یه جدول بنام خرید که معلوم کنه چه کد جنس مر بوط به کدام کد مشتری و یک شماره خرید منحصر بفرد و فیلدی مربوط به تعداد خرید از اون کالا و.... و می تونید در یک جدول دیگه که مر بوط به خرید چکی است اطلاعات مر بوط به کد خریدی که چکی است بعد برتیب به هم تیبل ها را ارتباط بدید و برای جستجو استفاده کنید
اگر متوجه نشدید بگبد باز هم توضیح بدم :sunglass:

amir_masoud
چهارشنبه 27 آبان 1383, 14:20 عصر
دوست عزیز ممنون از راهنماییتون ولی من تا اینجا و نحوه تعریف جداول و ثبت اطلاعات مشکلی ندارم . فقط زمان جستجو همون طور که نوشته بودم می خوام این جستجو به صورتی باشه که مثلا اگه کد مشتری رو 5 وارد کردن و جستجو رو زدن بره و مشخصات تمام چکها و مبلغ نقدی که مربوط به اون مشتری هست رو تویه یه دیتا گرید یا یه گزارش که با کریستال ریپورت درست کردم نشون بده ( من برای زمانی که نتیجه جستجو یه رکورد باشه هیچ مشکلی ندارم و روش کار هم به این صورته که از ابتدای جدولی که کد مشتری و مشخصات مربوط به اقسط اون نگهداری می شه جستجو شروع می شه تا زمانی که به اون رکوردی برسه که با کد وارد شده یکی باشه و بعد این رکورد نشون داده می شه . فقط اگه ممکنه برای زمانی که می خوایم نتیجه جستجومون بیشتر از یه رکورد باشه منو راهنمایی کنین )

باز هم ممنونم

bahar60
چهارشنبه 27 آبان 1383, 15:09 عصر
شما با join کردن جدول ها مشکل ندارید می تونید join کنید؟
یعنی شما تمام رکوردها را نمی تونید ببینید
خب شما بعد از اجرای کردین در یک حلقه while تا زمانی که rs.eof<>fulse‌ می تونید رکورد ها را ببینید یا در یک تیبل دیگه که به ریپورتتون وصله بنویسیدبرای دسترسی به رکورد های بعدی هم در پایان حلقه قاعدتا باید
بنویسید
rs.move next
تا رکورد بعدی در رکوردستتون را ببینید
rs هم نام رکوردست شماست
اگر بیشتر توضیح بدین راحتتر می فهمم شما دقیقا با چی قسمتی از برنامتون مشکل دارین :sunglass:

hbi
پنج شنبه 28 آبان 1383, 12:42 عصر
اگر بانک اطلاعاتی شما اکسس است یک روش راحت این است که از دستورات sql استفاده کنید یعنی اگر کد مشتری ID است دستور زیر را که وارد کنید تمامی IDهای یک شخص را در آن بانک نمایش میدهد
select * from Table1 where ID=10
Table1 نام جدول ID کد مشتری و عدد 10 یک مشتری خاص میباشد
امیدوارم منظور شمارا درست متوجه شده باشم اگر مشکلی بود بگو تا یک مصال ارسال کنم

amir_masoud
پنج شنبه 28 آبان 1383, 13:01 عصر
ممنون از توجه شما
جناب hbi این دستور sql برای زمانی که بخوایم بر اساس کد یا شماره دنبال تمام رکوردها داخل یه جدول بگردیم جواب می ده و درسته برای جستجو بر اساس قسمتی از نام و نام خانوادگی هم باید به همین صورت عمل کرد ؟ ( در این حالت می خوایم بگیم که تمام رکوردهایی رو که فیلد نام و نام خانوادگی اونا شامل عبارت وارد شده هست رو برامون نشون بده ( مثل جستجوی نتایج کنکور تویه سایت سنجش و سایتهای مشابه )
:flower: :flower: :flower:

hbi
پنج شنبه 28 آبان 1383, 17:41 عصر
بابا از اول می گفتی
Text2.Text = Text1.Text
Text2.Text = "'%" & Text2.Text & "%'"
Adodc1.RecordSource = "select * from T1 where NamFamily like " & Text2.Text & "order by ID"
Adodc1.Refresh
ID کد افراد میباشد که در انتحا انها را از کوچک به بزرگ مرطب میکنیم
Text1 غبارت مورد جستجو را قرار میدهیم اگر مثلا شامل a باشد تمام نام و نام خانوادگیهایی را که دارا حرف a است نمایش میدهد بر اساس کد مرطب میکند
فکر میکنم خیلی عجله داری باز هم سرمیزنم اگر مشکلی بود بگو تا برات نمونه بفرستم
راستی کار سراغ نداری ::نوشتن::

vbprogramer
شنبه 30 آبان 1383, 10:16 صبح
دوست عزیز هنگام نوشتن کد برای اینکه درست به نمایش در بیاد کل کد رو انتخاب کنید و بعد گزینه Code رو از بالای پنجره انتخاب کنید

متشکر :wink:

hbi
شنبه 30 آبان 1383, 15:12 عصر
حالا
کد درست بود یا نه :تشویق:

vbprogramer
یک شنبه 01 آذر 1383, 09:07 صبح
برای استفاده از Like و جستجوی یک حرف در یک رشته می توان به صورت زیر استفاده کرد


Adodc1.Recordset.Source = "TabelName WHERE FieldName Like '%" & Trim(Text1.Text) & "%'"

موفق باشید :wink:

amir_masoud
یک شنبه 01 آذر 1383, 22:42 عصر
مرسی :sunglass: