ورود

View Full Version : سوال: ثبت مشتر با اجناسش



akar_program
سه شنبه 11 مرداد 1390, 15:04 عصر
سلام دوستان من یك دیتا بیس دارم دوتا تیبل دارد با نام های object , users
خوب در تیبلی users نام و ادرس تلفن مشتر میخواهم ثبت میكنم
در تیبلی object اجناس كه‌ مشتر خریده‌ میخواهم ثبت كنم وقتی سیو شود با انتخاب نام هر مشتری در تیبل users كه‌ در dbgid نیشون دادم تما م اجناسش در dbgrid2 نیشون بده‌

سوال من این هست باید چطور میتوانم یك مشتر با همرای اجناسش سیو كنم
با د چطور بتوانم با انتخاب انام هر مشتر در dbgrid اجناسش ببینم

ممنون میشم یك میسال یا توضیحات كامل بدین :قلب: این نمونه‌ ی پیوه‌ست كردم كه‌ دیتا بیسم هم دارد
الان دیتا بیسم نام یك مشتر و لیست اجناس اون دارد میخواهم توی دلفی میسلی این مشتر مشتر دیكه‌ اظافه‌ كنم وهم با كلیك كردن روی نام هر مشتری اجناس در dbgrid پاین نیشون بده‌ لطفا نمونه‌را برام كامل كنید یك توظیحات هم بدید ممنون

Mahmood_M
چهارشنبه 12 مرداد 1390, 02:11 صبح
شما باید یک رابطه ی Master - Detail بین جداولتون ایجاد کنید ، یعنی یک جدول اصلی داشته باشید برای لیست مشتریها به عنوان Master و یک جدول هم لیست اجناس به عنوان Detail
قسمت مهم اینه که شما باید یک فیلد رو به عنوان فیلد مشترک بین دو جدول قرار بدید ، مثلا در جدول Detail یک فیلد برای ذخیره ی مقدار ID فیلدهای جدول Master قرار بدید ، با هر بار ثبت اجناس مقدار این فیلد رو برابر با مقدار ID مربوط به مشتری پر کنید
یک نمونه در اینجا (http://www.delphiplus.com/post/20) قرار داره که می تونه کمکتون کنه

موفق باشید ...

akar_program
چهارشنبه 12 مرداد 1390, 04:54 صبح
خیلی ممنون كه‌ جواب دادید من همون میخواستم ولی ولی لینك فایل باك شوده‌ اگر شوما همون فایلو دارید ابلود كنید ممنونم یا با همون روشی كه‌ اونجا نویشته‌ یك نمونه‌ بسازید تا برای من هم روشن بشه‌ یا حق

Mahmood_M
چهارشنبه 12 مرداد 1390, 12:19 عصر
فایل رو دوباره آپلود کردم ، از همون لینک دانلود کنید ، موفق باشید ...

akar_program
چهارشنبه 12 مرداد 1390, 12:38 عصر
خیلی ممنون پس یك سوال چطور یك نفر با همرای مشخسات كامل بیهش اضافه‌ كنم میسلی انهای كه‌ الان توش هست ممنون

Mahmood_M
چهارشنبه 12 مرداد 1390, 20:24 عصر
خیلی ممنون پس یك سوال چطور یك نفر با همرای مشخسات كامل بیهش اضافه‌ كنم میسلی انهای كه‌ الان توش هست ممنون
اون برنامه رو برای نمایش رابطه ی Master-Detail قرار دارم ، فایل بانک اطلاعاتی رو می تونید با Access باز کنید و مقادیر جدول رو مشاهده کنید یا تغییر بدید !

akar_program
چهارشنبه 12 مرداد 1390, 21:38 عصر
سلام ممنون از كمكتون با این شكل برنامه‌را دروست كردم ایا این را دروست هست در عملی هست
با همون شكل خودم یك برنامه‌ ساختم وهم نام مشتری مشخسات مشتر سیو میكند با د با كلیك روی نام مشتر مشخساتی مشتری نیشون میده‌ ولی میخواهم ببینم اینطو كه‌ من عمل كردم منطقی هست لطفا یك نگا بكنید

یوسف زالی
چهارشنبه 12 مرداد 1390, 21:39 عصر
سلام.
دوست من یه سورس ساده برات می گذارم.
ایشالا کارت راه می افته.
ریزه کاری هاش رو حتما از Object Inspector و یا دو بار کلیک روی گرید و دوبار کلیک روی ADO ها ببین. خیلی به دردت می خوره.
این نمونه ساده هست نه چند لایه:
http://www.persianupload.com/1120448

موفق باشی.

یوسف زالی
چهارشنبه 12 مرداد 1390, 21:42 عصر
با اجازه آقا محمود:
پست بالایی رو الان دیدم.
فکر کنم از کامپوننتی استفاده کردید که به طور معمول در دلفی 7 نبوده.
برا همین نتونستم ببینمش.
شما نمونه رو ببین و هر جا سوالی داشتی بپرس.

akar_program
چهارشنبه 12 مرداد 1390, 23:24 عصر
سلام ممنون از همون فایلی كه‌ دادید این فایلی بالا هست كامپوننترو حزف كردم ببینید كارم دروست هست
http://www.kurdupload.com/files/hXk5E1312398443.html
در مورد فایلی خودت DataModule2 توضیح بدید ممنون كه‌ جی هست جكاری میكند

یوسف زالی
پنج شنبه 13 مرداد 1390, 04:20 صبح
بله روش شما هم درست هست.
دیتاماژول ها به زبان ساده اشیایی هستند که شکل و شمایل فرم رو ندارند و فقط نگهدارنده غیر دیداری اشیای ما هستند.
ما از اون معمولا برای نگهداری ADO ها و DataSet ها و اشیایی که برای ارتباط با بانک اطلاعات بکار می ره استفاده می کنیم.
تقریبا یک جور یونیت هست که از اشیا فاکتور می گیره و اون ها رو یکجا جمع می کنه.

akar_program
پنج شنبه 13 مرداد 1390, 04:40 صبح
با سلام خیلی ممنون از رهنمایهاتون ولی من از اون ایستفاده‌نكردم نیاز هست ایستفاده‌ كنم

فرق این
DataModule2.ADOTable2.FieldByName('Number').Value := trim(MaskEdit4.Text);
با این چی هست

DADOTable2.FieldByName('Number').Value := trim(MaskEdit4.Text);

هردوتا شون همین كار انجام میدن

drstrike
پنج شنبه 13 مرداد 1390, 06:09 صبح
اره عزیز یه کارو انجام میدن، به شرطی که توی کد دومی دیتاست روی خود فرم باشه.
در ادامه توضیحات دوستمون yousijoon، دیتاماژول بیشتر برا نظم دادن به کار استفاده میشه و الا کار خاصی انجام نمیده.
در بعضی موارد هم شما نیاز داری از یک دیتاست در چند تا فرم مختلف استفاده کنی؛ پس اونو تو یه دیتاماژول میزاری تا برا همه فرم ها در دسترس باشه (هرچند اگه روی یه فرم هم باشه بازم میشه ازش استفاده کرد)

پ.ن: جناب akar_program فضولیه، شما ایرانی هست؟ :متفکر:

akar_program
پنج شنبه 13 مرداد 1390, 09:46 صبح
ممنون از رهنمایهاتون یانی در هر صورت دیتاماژول ایستفاده‌ بكنم بیهتر ؟ خیر ایرانی نیستم