ورود

View Full Version : سوال: باز هم یک مشکل بزرگ در ویژوال بیسیک که تو سایت مطرح نشده



sajad_boj71
چهارشنبه 19 آبان 1389, 10:52 صبح
با سلام خدمت همه دوستان گلم.
داشتم با ویژوال بیسیک کار میکردم که به یک بخشی برخوردم که نتونستم انجامش بدم . گفتم اینجا مطرح کنم تا اگه دوستان میتونن کمکم کنن و بقیه هم استفاده کنن.
به طور مثال اگه ما یک نرم افزار ثبت حضور و غیاب داشته باشیم که در قسمت ثبت اطلاعتش
5 فیلد داشته باشیم : نام - نام خانوادگی- نام پدر- شماره شناسنامه- کد ملی-
حالا اگه یک کاربر بخواد با این نرم افزار کار کنه نمیشه که برای هر بار ثبت حضور و غیاب هر فرد همه مشخصاتش رو وارد کنه، شاید هم اصلا شماره شناسنامه یک فرد رو یادش رفته باشه.
آیا میشه جوری این برنامه رو نوشت که وقتی نام و نام خانوادگی یک کاربر رو وارد کرد اونوقت اگه همچین کاربری وجود داشت بقیه مشخصاتش از روی بانک خوانده بشه و خود به خود در تکست باکس هامون قرار بگیرن.
حلا اگه 2 نفر با یک نام و نام خانوادگی وجود داشتن وقتی روی تکست باکس نام پدر کلیک میکنیم اون دو اسمی که مربوط به نام پدر میشن به صور یک combo box نمایش داده بشن تا کاربر یکیشون رو انتخاب کنه. و با انتخاب نام پدر بقیه مشخصات خود به خود پر بشه.

ali190
چهارشنبه 19 آبان 1389, 12:31 عصر
سلام
شما نمونه ات رو بذار انشاء الله خواسته هاتون روی نمونه اجرا میشه
ممنون و متشکر
یاعلی

Javad-2010
چهارشنبه 19 آبان 1389, 13:12 عصر
دوست عزیز؛
بهتر است اول به هر فرد یک کد اختصاص بدهید و بعد برای مشکلتون از فیلتر استفاده کنید.

sajad_boj71
چهارشنبه 19 آبان 1389, 19:05 عصر
دوست عزیز Javad-2010 (http://www.barnamenevis.org/forum/member.php?u=122091) برنامم جوریه که نمیتونم از کد استفاده کنم.
اگه میشه لطف کن سورسش رو برام بنویس

sajad_boj71
چهارشنبه 19 آبان 1389, 19:19 عصر
این هم لینک دانلود نمونه فایل که عزیزان خواسته بودن
http://www.persiangig.com/pages/download/?dl=http://sajadboj71.persiangig.com/nemune.zip

یا از این لینک استفاده کنید
http://www.persiangig.com/pages/download/?dl=http://sajadboj71.persiangig.com/nemune.zip

kitcat_m18
چهارشنبه 19 آبان 1389, 19:56 عصر
سلام دوست عزیز sajad_boj71

من پیشنهاد می کنم شما به جای اینکه برنامت رو پیچیده تر کنی بهتره از راهکار های بهتری استفاده کنی، مثلا شما بیا تو بانکت یه فیلد به اسم ID ایجاد کن که Auto Number و Primery key باشه و خود به خود به هر کاربری که تو بانک ثبت میکنی یه ID بده حالا مزیت اینکار چیه؟؟؟
بذار برات یه مثال بزنم،

اگه بخوای برنامه ی حضور و غیابت رو با بارکد خوان بنویسی (پرسنل کارت بکشن و حضور و غیابشون ثبت بشه) می تونی خیلی راحت این شماره ID ها رو که یونیک هست تو مقدار بارکدت بدی و بدون اینکه این وسط مشکل تشابه اسمی پیش بیاد حضور و غیاب ها رو ثبت کنی.

اگه شما الان بر حسب نام و نام خانوادگی تو بانکت سرچ کنی و دو نفر با یه نام و نام خانوادگی باشن اطلاعات هر دو رو میاره (و این برای یه برنامه حضور و غیاب مشکل سازه) ولی وقتی که بیای بر اساس ID ای که گفتم جستجو کنی دیگه این مشکلات هم برات پیش نمیاد :لبخندساده:

موفق باشی

Javad-2010
چهارشنبه 19 آبان 1389, 20:22 عصر
اگه میشه لطف کن سورسش رو برام بنویس
دوست عزیز؛
ببین این به کارت میاد:

sajad_boj71
چهارشنبه 19 آبان 1389, 21:49 عصر
دوست عزیز Javad-2010 (http://www.barnamenevis.org/forum/member.php?u=122091) از کمکت خیلی ممنونم.
کدی که نوشتی خیلی خوبه ولی اگه یه خورده باهاش کارکنی متوجه عیبش میشی.
عیبش اینه که برنامه خیلی خطا میده.
لطف میکنی بگی دلیلش چیه

sajad_boj71
پنج شنبه 20 آبان 1389, 15:50 عصر
سلام مجدد
دوست عزیز خودم مشکلش رو حل کردم.
اما عیب دیگه ای که داره اینه که مثلا اگه بخوایم دوباره یک شخص جدید با نام و نام خانوادگی و نام پدر و شماره شناسنامه که با یکی از اعضامون تو بانک مشابه اند اما کد ملی جدیدی داره وارد کنیم این برنامه میره و به جای اینکه یک شخص جدید با کد ملی جدیدی وارد کنه همون کد ملی کاربر قبلی رو تغییر میده.
مشکلش کجاست.
لطفا کمکم کنید

Javad-2010
پنج شنبه 20 آبان 1389, 16:02 عصر
دوست عزیز؛
مشکل اینه که شما تکس‌باکس‌هاتون را به دیتابیس وصل کردید.
به نظر من بهتره که شما برای وارد کردن یک رکورد جدید از یه فرم جدا استفاده کنید.

sajad_boj71
پنج شنبه 20 آبان 1389, 16:57 عصر
سلام.
خب اینجوری که پس فرقی نمیکنه. اصلا این فرم مربوط به ثبت کردنه دیگه
تو اون فرم دیگه هم باید جوری باشه که با زدن نام و نام خانوادگی بقیه مشخصات خود به خود پر بشن .
امکانش نیست تو همین حالت کاری کرد که بشه یک رکورد جدید هم اضافه کرد؟؟؟؟؟

Javad-2010
پنج شنبه 20 آبان 1389, 20:10 عصر
دوست عزیز؛
همانطور که قبلاً گفتم: شما تکس‌باکس‌هاتون را به دیتابیس وصل کرده‌اید، برای همین است که مثلاً وقتی کد ملی را تغییر می‌دهید، کد ملی قبلی تغییر می‌کند.

sajad_boj71
پنج شنبه 20 آبان 1389, 20:49 عصر
خب همه فیلدهام به دیتا بیس وصل هستند.
حالا به نظر شما من باید چیکار کنم.
اگه که یلدهام به دیتا بیس وصل نباش که اطلاعات رو نمیشه ثبت کرد

Javad-2010
پنج شنبه 20 آبان 1389, 20:54 عصر
اگه که فیلدهام به دیتابیس وصل نباشه که اطلاعات رو نمیشه ثبت کرد
دوست عزیز؛
میشه ثبت کرد، از دستور زیر استفاده کن:

Adodc1.Recordset.AddNew

programming70
دوشنبه 24 آبان 1389, 15:47 عصر
یه کار دیگه هم میشه تو این موضوع کرد که این همه دنگ و فنگ نداشته باشه ;
یه ComboBox بسازی و خاصیت Style اون رو 1 قرار بدی تا شبیه TextBox بشه ، و فیلد های مربوط به نام و نام خانوادگی رو از بانک در ComboBox هایی که داری بریزی .
یه سرچ کوچولو رو همون حالت ComboBox1_chenge بنویسی که هر وقت اون نام رو پیدا کرد و نام خانوادگی هم همون بود کد ملی ثبت شده با این مشخصات رو برات پیدا کنه .
این موقع حاضر غیاب هست . ولی در مورد ثبت کردن که نیازی نیست سرچ کنه قبلی رو پیدا کنه چون میخوای جدید ثبت کنی نه تکراری .
در مورد ویرایش هم این سرچ رو تو حالت chenge که گفتم بزار تا وقتی نام و نام خانوادگی رو وارد میکنی برات پیدا کنه و ویرایشش کنی .
کار شاخی نیست خیلی سادست .
اگه باز کمک خواستی بگو تا سورس کدش رو برات بنویسم عزیز .

________
درود بر برنامه نویسان
خسته نباشین