PDA

View Full Version : سوال: نمونه برنامه ذخیره عکس درaccess از طریق آدرس با ویژوال بیسیک



aliasadi1
پنج شنبه 17 اسفند 1391, 18:42 عصر
با سلام خدمت دوستان بزرگوار:
بنده جستجوی زیادی در مورد ذخیره کردن عکس در اکسس از طریق آدرس انجام دادم به نتیجه ای نرسیدم ، خواهشاً اگه محبت کنید نمونه برنامه ای را قراردهید تا بهتر این روش درک کنم ممنون می شوم البته نمونه های زیادی غیر از این روش پیدا کردم که فقط این روش مد نظرم است با تشکر از شما استادان

m2011kh
پنج شنبه 17 اسفند 1391, 20:08 عصر
سلام.

جوری که من فهمیدم از عنوان تاپیکتون شما باید یه فولدر داشته باشید که عکس ها درون اون ذخیره میشن.و آدرس عکس هارو در یک رکورد تو بانک اطلاعاتتون ذخیره کنید.

البته اگه منظورتونو درس فهمیده باشم.

موفق و سربلند باشید

MMD

aliasadi1
پنج شنبه 17 اسفند 1391, 20:40 عصر
سلام و خسته نباشید:
درسته منظورم همینه اگر لطف کنید نمونه ای برایم بگذارید تا بتوانم روی آن کار کنم ممنون میشم .با تشکر

aliasadi1
پنج شنبه 17 اسفند 1391, 20:44 عصر
طوری باشد که بجای ذخیره مستقیم عکس در اکسس ادرس آن ذخیره شود و بتوان ان را ذخیره و بتوان دوباره آن را استخراج کرد (اطلاعات زیادی را می خواهم ذخیره کنم برای همین می خواهم از ادرس عکس استفاده کنم بجای قراردادن مستقیم خود عکس)

SlowCode
پنج شنبه 17 اسفند 1391, 21:09 عصر
برای مثال میتونی اینطوری بنویسی:
cd1.showopen
if cd1.filename<>"" then
adodc1.recordset.addnew
adodc1.recordset.fields(1).value=cd1.filename
adodc1.recordset.update
filecopy cd1.filename,app.path & "\Images\pic.bmp"
end if

m2011kh
پنج شنبه 17 اسفند 1391, 23:47 عصر
اگه تعداد عکسات زیاده عکسارو تو یه فلدر شماره گذاری کن و یه فایل یا تو همون دیتا بیست عدد آخرین عکس رو داشته باش که هر وقت عکس جدیدی وارد شد یه عدد به این عدد اضافه بشه و این عدد میشه اسم فایل عکس و اینطوری تعداد فایل ها هم همیشه دستته.

شب خوش

MMD

SlowCode
جمعه 18 اسفند 1391, 09:09 صبح
اگه تعداد عکسات زیاده عکسارو تو یه فلدر شماره گذاری کن و یه فایل یا تو همون دیتا بیست عدد آخرین عکس رو داشته باش که هر وقت عکس جدیدی وارد شد یه عدد به این عدد اضافه بشه و این عدد میشه اسم فایل عکس و اینطوری تعداد فایل ها هم همیشه دستته.

شب خوش

MMD
این روش خوبه ولی اگه زیاد تسلط نداشته باشی ممکنه بعدا برات مشکل پیش بیاد، بهتره یه فیلد آی دی از نوع autoNumber داشته باشی و نام هرعکس رو مقدار فیلد ID قرار بدی. این آسون تره، وقتی هم بخوای حذفش کنی اون آی دی رو میخونی و عکسی که اسمش همون مقدار باشه رو حذف میکنی.

m2011kh
جمعه 18 اسفند 1391, 09:53 صبح
راستی یه مشکل که نمیدونم فقط من این مشکلو دارم یا همه وقتی یه فیلد رو AutoNumber میزارم وقتی که یکی از رکورد هارو حذف میکنم به ترتیب نیست.

مثلا:
محمد مهدی 1
جواد عظیمی 2

ولی وقتی مثلا 2 رو حذف میکنم اگه یه رکورد جدید ایجاد کنم ID اش 2 نیست بلکه از 3 شروع میشه که مشکل بزرگی هست برام.


موفق و سربلند باشید

MMD

aliasadi1
جمعه 18 اسفند 1391, 12:40 عصر
با سلام و تشکر ازشما:
می خواستم برنامه به صورتی باشد که کادر show open باز شود عکس موردنظر را گرفته و در دیتابیس ذخیره شود و با زدن شماره دانشجویی عکس مورد نظر استخراج و مشادهد شود که این کار را فقط می خواهم آدرس عکس ذخیره گردد،و خود عکس در دیتا بیس بطور مستقیم ذخیره نگردد اگر زحمتی ندارد و وقتش دارید برایم نمونه ای بگذارید تا روش کار کنم با تشکر فراوان.

aliasadi1
شنبه 19 اسفند 1391, 18:53 عصر
با سلام مجدد:
اگه میشه جواب سوال بنده را بدهید

SlowCode
شنبه 19 اسفند 1391, 19:24 عصر
سلام
فکر کنم توضیحات پست پنجم کافیه باشه ها، بفرما (http://asalkadeh.xzn.ir/download/DataBase+Image.rar) این سورسی که خواستی.

راستی یه مشکل که نمیدونم فقط من این مشکلو دارم یا همه وقتی یه فیلد رو AutoNumber میزارم وقتی که یکی از رکورد هارو حذف میکنم به ترتیب نیست.بله همینطوره، کلا همه دیتابیس ها اینطوری هستن. تو اکسس نتونستم گزینش رو پیدا کنم ولی تو mysql یه گزینه ای هست که میشه نقطه شروع رو تعیین کرد(البته دستی)

m2011kh
شنبه 19 اسفند 1391, 19:52 عصر
خوب راه حلی سراغ ندارید؟؟؟

منظورم autoNumber تو acess هست.فکر کنم با کد نویسی بتونیم حلش کنیم مثلا همیشه شماره آخرین رکورد رو از دیتابیس بگیریم و رکورد جدید رو به یک اضافه کنیم و ایجاد کنیم و تو حذفش هم اونو حذف کردیم از اون به بعد رو منهای یک کنیم.که فکر کنم سرعت پایینی داشته باشه و به صرفه هم نباشه ولی اگه راه حل ساده تری باشه خب بهتره ولی اگه نه ک این غیر ترتیب بودن رکورد ها هم یه مشکل بزرگی هست(نه خیلی)

MMD

SlowCode
شنبه 19 اسفند 1391, 20:46 عصر
نه :لبخند: شاید آقا حامد روشی بدونه.

خب اگه فیلد AutoNumber باشه که نمیتونیم دستکاریش کنیم! چون خودش تولید میشه.
روش دیگه هم که گفتی رو میشه اجرا کرد ولی فکر نکنم لزومی داشته باشه! فقط تو بعضی شاید یکم آدمو به زحمت بندازه.

m2011kh
شنبه 19 اسفند 1391, 21:24 عصر
خوب مثلا خود شما تو برنامه هات چیکار میکنی؟؟؟

SlowCode
شنبه 19 اسفند 1391, 21:41 عصر
من تو برنامه هایی که نوشتم نیازی به Relation و این جور مسائل پیش نیومده خوشبختانه.
مرتب بودن یا نبودن اون فیلد هم اهمیتی نداشت.
به نظرم فقط تو مباحث پیشرفته پایگاه داده اینجور چیزا اهمیت داره، مثلا کاربر بتونه یه خط تولید ثبت کنه بعد بیاد واسش کالا تعریف کنه و اینجور مسائل، اینجا چون با آی دی به هم Join میشن اگه آی دی رو حذف کنه و دوباره اضافه کنه و شما راه حلی واسش نداشته باشی همه چی میخوابه!
به نظرم بهتره از دوستان حرفه ای تر (مثلا vbhamed,محسن واژدی) سوال کنیم چون تجربه یبشتری دارن.

aliasadi1
یک شنبه 20 اسفند 1391, 15:59 عصر
سلام :متشکرم آقا محسن ولی لینک خراب می باشد خواهشاً کمک کنید

aliasadi1
یک شنبه 20 اسفند 1391, 16:09 عصر
سلام می توانی یک نمونه بگذاری m2011kh

SlowCode
یک شنبه 20 اسفند 1391, 16:51 عصر
منظور ایشون اینه که یه فیلد autonumber درست کنی و بعد نام گزاری و فراخوانی عکسها با توجه به مقدار اون فیلد باشه، مثلا:
if cd1.filename<>"" then
adodc1.recordset.addnew
adodc1.recordset.fields(1).value=txtStudentID.txt
adodc1.recordset.update
filecopy cd1.filename,app.path & "\Images\" & adodc1.recordset.fields(0).value & ".jpg"
end if
اون txtStudentID رو به عنوان مثال نوشتم، تو عوضش هر چیزی خواستی ثبت کن.
با روش ایشون اسم فایلها عوض میشه در عوض با یه فیلد کارت راه می فته. ولی با روش من اسم فایل همونه ولی 2 تا فیلد نیاز داری. با هر کدوم خواستی بنویس.

m2011kh
یک شنبه 20 اسفند 1391, 19:51 عصر
ممنون محسن.

آقا محسن دقیقا چیزی رو که مد نظرم بود رو گفتن.

ولی به هر حالی اینکار سلیقه ایه باید نیاز و شرایط و سلیقه خودتون رو بسنجید و راهتون رو انتخواب کنید

شب خوش

MMD