PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : بازخوانی اطلاعات در فرم های از پیش تعریف شده



_yalda
2016/08/03, 13:24
سلام
یه سوال داشتم :
من برای ورود دیتا توی جدولم از فرم های ساده میخوام استفاده کنم. (بدون کد نویسی)
یکی از ستون های من کد ملی هست . میخوام ببینم امکانی هست که وقتی کد ملی رو می زنم بقیه اطلاعات بازخوانی بشه . البته با تابع vlookup آشنایی دارم. اما میخوام ببینم تو قسمت فرم هم می تونم استفاده کنم ؟

amir_ts
2016/08/03, 13:41
با سلام
نمونه فایل رو ملاحظه کنید.

_yalda
2016/08/03, 14:03
سلام. ممنونم بابت پاسخ سریع . آیا با استفاده از توابع و ماکرونویسی اینکارو انجام دادید ؟
این فرم رو قراره برای افراد بسیاااااار مبتدی طراحی کنم. میخوام تا جایی که ممکنه از تکنیک های ساده تر استفاده کنم

و به جز نتیجه جستجو به موارد دیگه ای نیاز دارم.

بهتره که یه توضیح مختصر در مورد فایل بدم

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

ممنون میشم اگر در مورد کاری که انجام دادین یه توضیح بدین و نظرتون رو در مورد بقیه تضیحاتم هم بدونم.

amir_ts
2016/08/03, 14:25
با سلام
برداشت من از توضیحات اولیه جستجو در یوزر فرم بود که با تابع vlookup به این صورت انجام میشه و پیچیدگی خاصی نداره.

TextBox1.Value = Application.VLookup(TextBox2.Value, Range("a1:b7"), 2, False)

مشکلی نداره شما وقتی با کد ملی اطلاعات شخصی رو فراخوان کردید میتونید با گذاشتن دکمه ثبت اطلاعات مورد نیاز رو وارد و ذخیره کنید.

_yalda
2016/08/03, 14:32
مشکل اصلی اینه که خودمم کدنویسی در اکسل رو بلد نیستم :min4::exce:

البته تا حدی متوجه شدم این کد رو چکار کردید. برای ثبت چی ؟ اونم توضیح میدین ؟

amir_ts
2016/08/03, 14:41
به نظرم بهتره قبل از شروع کد نویسی با توابع ساده اکسل آشنا بشید بعد وارد بحث یوزر فرم بشید.چون در یوزر فرم هم باید با کمی تغییر از همین توابع ساده استفاده کنید.
نیاز شما احتیاجی به مباحث پیشرفته نداره ثبت اطلاعات از یوزر فرم در شیت به سادگی انجام میشه.
شما میتونید برای یادگیری بهتر همین پروژه که توضیح دادید رو با طراحی فرم ساده شروع کنید هر جا نیاز به سول بود دوستان راهنمایی لازم رو میکنند.

_yalda
2016/08/03, 14:43
توابع رو خیلی کار کردم. میشه یه نمونه ساده از فرم رو برام طراحی کنید تا از روی اون شروع کنم؟

amir_ts
2016/08/03, 15:04
توابع رو خیلی کار کردم. میشه یه نمونه ساده از فرم رو برام طراحی کنید تا از روی اون شروع کنم؟
این فرم ساده رو ملاحظه کنید اطلاعات رو از فرم میگیره و در یک شیت مشخص ذخیره میکنه اگر سوالی بود بفرمایید.

_yalda
2016/08/07, 13:47
در ادامه سوال قبلیم سوالی مطرح می کنم
کاری که تا به حال انجام دادم :
یک صفحه ورود اطلاعات ساده رو در نظر بگیرید که با زدن کد ملی اطلاعات بیمار رو (نام خانوادگی ، نام داروها ، و ....) از شیت بانک اطلاعاتی فراخوانی می کنه . در صورتی که بیمار برای اولین بار مراجعه کرده باشه ، قاعدتا اطلاعاتی ازش نمیاره و ما متوجه میشیم این بیمار ، جدید هست. اطلاعاتش رو در این صفحه ثبت می کنیم و با استفاده از ماکرویی که قبلا تعریف کردیم ، اطلاعات به بانک اطلاعاتی میرن و در اونجا ذخیره میشن.

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

برای حل این مشکلم راه حلی سراغ دارید ؟

_yalda
2016/08/07, 14:03
این هم فایل پیوست

amir_ts
2016/08/07, 14:19
با سلام
آیا حتما باید ویرایش کنید امکان درج به صورت سابقه مصرف وجود نداره ؟ شما برای ویرایش یا فراخوانی اطلاعات بیمار یک دکمه جدا نیاز دارید.
فرضا اگر به ترتیب تاریخ 10 بار دارو گرفته باشه و ثبت شده باشه میتونید این ها رو در یک لیست به ترتیب مشاهده کنید.
به فایل قبلی یک لیست باکس اضافه کردم که اگر دکمه مربوطه رو بزنید با توجه به کد ملی لیست دارو های مصرف شده رو مشاهده میکنید.

Amir Ghasemiyan
2016/08/07, 17:13
دوست عزیز این نمونه فایل خدمت شما
یکسری تغییرات داخل شیت ها دادم. لزوما باید این تغییرات انجام میشد. لطفا هر کاری نیاز بود انجام بدین روی این فایل انجام بدین


ببخشید فایل ضمیمه مشکل داشت. اصلاح کردم. لطفا مجددا دانلود بفرمایید

_yalda
2016/08/10, 13:06
یکسری تغییرات داخل شیت ها دادم. لزوما باید این تغییرات انجام میشد. لطفا هر کاری نیاز بود انجام بدین روی این فایل انجام بدین




سلام. ممنونم از زحمتی که کشیدین و فایل خیلی خوب شده. ببخشید یه سوال برام پیش اومد
در شیت انواع ( که من برای تعیین لیست دیتا ولیدیشن ایجاد کرده بودم که به صورت کشویی باز بشه) ، یه ردیف ایجاد کردین. و توش یه فرمولی زدین
="انواع!a3:a"&counta(a3:a100)+2

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

amir_ts
2016/08/10, 13:29
با سلام و کسب اجازه از استاد ارجمند جناب قاسمیان عزیز
فرض کنید یک محدوده رو نامگذاری کردید a1:a10 بعد اگر در a11 داده ای وارد کنید اون داده 11 همی در لیستن قرار نمیگیره چون تا a10 نامگذاری صورت گرفته
با این فرمول آدرس دهی داینامیک شده است یعنی شما وقتی در همین مثال لیست داده ای بیشتر در سلول های a11 به بعد اضافه کنید به صورت خودکار داده در محدوده لیست قرار میگره.چون عدد دوم رنج با شمارش تعداد داده ورودی سنجیده میشه.

=A1:a&COUNTA(A1:A100)

_yalda
2016/08/10, 13:47
میشه بگید این فرمول چطور کار می کنه ؟ یعنی روش آدرس دهی داینامیک چطور هست و بعد اینکه در قسمت دیتاولیدیشن باید چطور اشاره کنیم این لیست رو؟

ببخشید که انقدر سوال می پرسم http://forum.exceliran.com/images/smilies/confused.png

amir_ts
2016/08/10, 14:07
اصول کار اینه که شما بصورت داینامیک محدوده ای رو نامگذاری میکنید مثلا list بعد در data validation قسمت لیست مینویسید:

=list
حالا اگر در لیست چیزی اضافه و کم شد در data validation هم تغییر صورت میگیره.