PDA

View Full Version : آدرس دهي در مسير برنامه



ali190
دوشنبه 30 شهریور 1388, 23:15 عصر
باسلام خدمت شما دوستان عزيز
من يه برنامه تو سايت پيدا كردم كه در مورد لينك عكس به جدول ، حالا ميخوام روش يه اصلاحاتي انجام بدم.
CurrentProject.path \ a
1- من ميخوام در هنگام فراخواني عكس پنجره فراخواني عكس مسير defult را فولدر a كه همراه پروژه و در مسير آنست نشان دهد.
2- من ميخوام كه تمام عكسهاي پرسنلي خودم رو توي پوشه a بريزم (به اين خاطر كه وقتي كه برنامه رو بهمراه پوشه مورد نظر جابجا بكنم لينك عكسها به جدول بهم نخوره) و همه رو از اونجا به جدول فراخواني كنم . يعني منظورم اينه كه :
مثلاً فراخواني عكس از درايو H:
H:\a
به ين صورت باشد:
CurrentProject.path \ a
اگر اين برنامه اصلاح بشه در صورت جابجايي برنامه و پوشه a موجود با آن از يه كامپيوتر به كامپيوتر ديگه لينكها ديگه بهم نميخورن.

ali190
سه شنبه 31 شهریور 1388, 18:11 عصر
با اين كار ديگه حجم بانك اطلاعاتي زياد نميشه.

dadsara
چهارشنبه 01 مهر 1388, 09:46 صبح
سلام
دوست عزیز اگر قصد ندارید خود عکس را ذخیره کنید
می توانید از روش ارائه شده در فایل ضمیمه استفاده کنید ، درصورت نیاز آدرس عکسهای خود را در کد مورد نظر تغییر دهید به این ترتیب حتی عمل اضافه کردن عکس هم نیازی نیست ، کافی است یک عکس با شماره ID در فولدر مربوطه قرار دهید

nabeel
چهارشنبه 01 مهر 1388, 22:19 عصر
سلام ali190

بخشی از کد رو به صورت زیر تغییر بدید



.InitialFileName = CurrentProject.path & "\a"

توضیح : اگر مسیر همیشه به صورت نسبی و ثابت هستش ,به نظر میاد بهتر باشه به توصیه آقای dadsar گوش بدید .

از Dialog ها معمولاً در مواقعی استفاده میشه که فایلها به صورت پراکنده هستن

موفق باشید

ali190
پنج شنبه 02 مهر 1388, 07:49 صبح
لطفاً اگر امکان داره فایل پیوستی من رو اصلاح کنید.

nabeel
پنج شنبه 02 مهر 1388, 12:28 عصر
سلام ali190


لطفاً اگر امکان داره فایل پیوستی من رو اصلاح کنید.

??!
عزیز , جواب رو که در پست شماره 4 براتون فرستاده بودم

فقط اون رو به جای کد اولیه Copy کنید

ali190
پنج شنبه 02 مهر 1388, 13:28 عصر
با سلام خدمت دوستان عزیز :
این برنامه که عکسهای پرسنلی رو به یک پوشه با نام a لینک میکنه (که در مسیر برنامه هم هست) فقط یک مشکل وجود دارد.اونم اینه که تمام عکسها با مسیرش در جدول person و در فیلد photo ذخیره میشه.وقتی که فایل اکسس و پوشه آن را با هم جابجا میکنیم (از یک درایو به درایو دیگر) لینک عکسها که در جدول person و فیلد photo ذخیره شده بهم میریزد .فیلد photo هم تشکیل شده از:


path = CurrentProject.path & "\a"


نام عکس= fname


path & "\" & fName = فیلد photo



مشکل اصلی زمانی است که فایل اکسس و پوشه a جابجا میشوند ، با این جابجایی لینک عکسها بهم میخورد یعنی در واقع مسیر برنامه عوض شده و لینک عکسهای پوشه a با مسیر قبلی ذخیره شده است.
حالا من میخوام این مشکل اینطور برطرف بشه که در فرم موجود در برنامه یک دکمه با یک کد درست بشه که با زدن این کد تمامی رکوردهای فیلد photo در جدول person مسیر عکسشان با مسیر جدید که در واقع همان currentproject.path هست تعویض بشه و لینکها در واقع این مسیر جدید رو بشناسن.


نام عکس+مسیر قبل از جابجایی = (قبل از جابجایی) فیلد photo
اصلاح لینک ها بعد از اجرای کد:


نام عکس+( CurrentProject.path & "\a")مسیر بعد از جابجایی = (قبل از جابجایی) فیلد photo
البته فکر میکنم اساتید باید این کا رو از طریق رکورد ست بر رو همه رکورد ها انجامش بدن.
با سپاس و تشکر فراوان.

مهدی قربانی
پنج شنبه 02 مهر 1388, 13:59 عصر
سلام
نمونه اصلاح شده خدمت شما ، در رخداد On Load فرم sw بواسطه استفاده از ركوردست بررسي ميشه در صورتي كه Root درايور مندرج در فيلد آدرس تصاوير با Root فايل جاري برابر نباشه بواسطه حلقه تمام ركوردها پيمايش ميشه و Root درايو اونها اصلاح ميشه .

ضمناً در ادامه كدهايي كه اضافه كردم اين دو خط رو هم اضافه كنيد

Rst.Close
Set Rst = Nothing

ali190
پنج شنبه 02 مهر 1388, 16:19 عصر
با سلام خدمت آقای قربانی عزیز
از راهنمایی بسیار عالی شما کمال تشکر و قدردانی را دارم.
ولی فقط یه مشکل کوچیک هست .اونم اینه که این کار زمانی جواب میده که من اگر فایل اکسس و پوشه a رو در مسیر ROOT درایو بریزم و اگر اونارو در یک پوشه زیرمجموعه درایو بریزم و بعد اقدام به جابجایی فایلها به درایو دیگری کنم در آدرس جدید پوشه زیرمجموعه درایو قبلی برای برنامه ناشناخته میشود.
خواسته بنده این بود که از مجموعه زیر :


path = CurrentProject.path & "\a"


نام عکس= fname


path & "\" & fName = فیلد photo

از قسمت path فقط CurrentProject.path بروز و update شود وگرنه پوشه و اسامی عکسها همگی ثابت هستند.
متشکر و ممنون.

nabeel
پنج شنبه 02 مهر 1388, 16:51 عصر
سلام ali190

پیرو پیغام خصوصیتون باید مطالب زیر رو عرض کنم :
ببینید دوست عزیز شما ایده ای دارید که در جای خودش قابل بررسیه ولیکن الزامی در نحوه اجرایی مورد درخواست اون وجود نداره , حالا بیایم با هم روش شما رو مورد بررسی قرار بدیم تا ببینیم آیا کارآمد هست و یا نه ؟
شما دارید میاید و در داخل یک فیلد , مسیر کامل یک فایل رو ذخیره می کنید , مسیر به صورت متغییر هستش ولیکن موقعیت فولدر a نسبت به مسیر در جایگاه ثابتی قرار داره یعنی به طور شفافتر هر جایی که بانک اطلاعاتی وجود داره ( CurrentProject.path ) فولدری با نام a نیز در کنار اون وجود خواهد داشت که حاوی تصاویره
متغیر CurrentProject.path در اینجا با جابجایی فایل مرتباً تغییر پیدا میکنه پس من توصیه ای برای شما دارم که امیدوارم به اون عمل کنید
- شما نیازی به ذخیره سازی مسیر پروژه در داخل فایل ندارید , تنها نام فایل رو در داخل فیلد ذخیره کنید
و در موقع لزوم نام فایل رو با مسیر قرار گیری تصاویر که همون
CurrentProject.path & "\a"
ترکیب کنید و مسیر نهایی رو بدست بیارید


موفق باشید

ali190
پنج شنبه 02 مهر 1388, 17:25 عصر
میشه خواهش کنم فایل پیوستی من رو طبق خواسته من اصلاح کنید.

مهدی قربانی
جمعه 03 مهر 1388, 02:58 صبح
با سلام خدمت آقای قربانی عزیز
از راهنمایی بسیار عالی شما کمال تشکر و قدردانی را دارم.
ولی فقط یه مشکل کوچیک هست .اونم اینه که این کار زمانی جواب میده که من اگر فایل اکسس و پوشه a رو در مسیر ROOT درایو بریزم و اگر اونارو در یک پوشه زیرمجموعه درایو بریزم و بعد اقدام به جابجایی فایلها به درایو دیگری کنم در آدرس جدید پوشه زیرمجموعه درایو قبلی برای برنامه ناشناخته میشود.
خواسته بنده این بود که از مجموعه زیر :


path = CurrentProject.path & "\a"

نام عکس= fname

path & "\" & fName = فیلد photo


از قسمت path فقط CurrentProject.path بروز و update شود وگرنه پوشه و اسامی عکسها همگی ثابت هستند.
متشکر و ممنون.

سلام
ببینید اونچه مسلمه بکارگیری روش ساده تر قطعاً برای برنامه شما مناسبتره پس سعی کنید ساده و سریعترین روش رو بکار بگیرید ، 2 نمونه خدمت شما ارائه میشه یکی بر مبنای همون نمونه قبلی با ایجاد تغییراتی در کدهای On Load و دومی بر مبنای ذخیره نام فایل ( فقط نام فایل ) با اضافه کردن کدهایی به تابع getFileName هر دو نمونه به خوبی کار می کنن منتها نمونه دوم فکر میکنم با توجه به نوع استفاده شما مناسبتره به هر حال انتخاب با خود شماست .

ali190
جمعه 03 مهر 1388, 12:36 عصر
باسلام و تشكر فراوان از استاد گرامي جناب آقاي قرباني.
تا اينجاي كار خيلي عالي بود و من به 75% هدفم رسيدم (خيلي خيلي ممنون)
حالا هدف نهايي:
من چطور ميتونم از اين عكسها در گزارشات و فرمهاي ديگرم استفده كنم(imageframe)
يعني مثلاً چطور ميتونم در گزارشم عكسهارو با توجه اسم اونها فراخواني كنم.آيا براي Imageframe بايد يك controlsource يا يه چيز شبيه به اون تعريف كرد؟

-------------------------------------------------------------------------
معلمي شغل انبياست.

مهدی قربانی
جمعه 03 مهر 1388, 14:54 عصر
سلام
دوست گرامي هر تاپيك مختص به يك موضوعه و عملاً طرح چند موضوع در يك تاپيك نه منطقيه و نه مجاز ، در مورد سئوال آخر هم با استفاده از تاپيكها و نمونه هايي كه در تالار موجوده ميتونيد جستجو كنيد و پاسختون رو بدست بياريد.
موفق باشيد .

ali190
جمعه 03 مهر 1388, 15:14 عصر
جناب قرباني اگر ميشه لطف كنيد و اين مشكل بنده رو هم حل كنيد ، آخه ما الان بيشتر مشكل رو حل كرديم و من ميخوام در واقع از عكسهايي كه به جدول لينكشون كردم استفاده كنم.خواهشاً منو نااميد نكنين.من كه نميتونم واسه اين مشكل يه تايپيك ديگه بزنم.
ممنون و متشكر

مهدی قربانی
یک شنبه 05 مهر 1388, 09:50 صبح
سلام
چون مورد درخواستي شما به نوعي مكمل موضوع اصلي هست اين مورد رو هم در خدمتتون هستم .