PDA

View Full Version : مشکل با OpenDialog



حسین خانی
شنبه 03 بهمن 1388, 19:48 عصر
با سلام
میخواهم فایلی رو در بانک Access و فیلدی از نوع OLE Object ذخیره کنم !
نکته : با استفاده از دکمه ای فایل رو با دستور OpenDialog1.Execute رو انتخاب میکنم و با دکمه ای دیگر عمل ذخیره تعداد رکوردهای مورد نظرم و انجام میدم .
دو تا مشکل دارم :
1 - ابتدا رکوردی و با توجه به انتخاب فایل مورد نظر بدون مشکلی ذخیره میکنم ولی اگر قصد انتخاب فایلی را در رکورد بعدی نداشته باشم هنگام ذخیره فایل رکورد قبلی را که با OpenDialog انتخاب کردم را ذخیره میکند !!! :متفکر:

2 - و اگر هم در هنگام اولین ثبت رکورد نخواهم فایلی انتخاب کنم اجازه ذخیره را نمیدهد و پیغام زیر را میدهد !!! :متفکر:

لطفا راهنمایی کنید ....

Felony
شنبه 03 بهمن 1388, 20:24 عصر
1 - ابتدا رکوردی و با توجه به انتخاب فایل مورد نظر بدون مشکلی ذخیره میکنم ولی اگر قصد انتخاب فایلی را در رکورد بعدی نداشته باشم هنگام ذخیره فایل رکورد قبلی را که با OpenDialog انتخاب کردم را ذخیره میکند !!!
طبیعی هست ، چون نام فایل قبلی که انتخاب شده در متد FileName شئ OpenDialogباقی مونده ، میتونید بعد از ذخیره فایل متد FileName رو با '' مقدار دهی کنید .


2 - و اگر هم در هنگام اولین ثبت رکورد نخواهم فایلی انتخاب کنم اجازه ذخیره را نمیدهد و پیغام زیر را میدهد !!!
متد Execute رو باید با IF فراخوانی کنید تا بتونید مطمئن بشید که کاربر یک فایل رو انتخاب کرده و عملیات انتخاب فایل رو لغو نکرده ، یعنی :


If OpebDialog1.Execute then

حسین خانی
شنبه 03 بهمن 1388, 22:28 عصر
طبیعی هست ، چون نام فایل قبلی که انتخاب شده در متد FileName شئ OpenDialogباقی مونده ، میتونید بعد از ذخیره فایل متد FileName رو با '' مقدار دهی کنید . ممنون جناب SilverSoft حق با شماست .



If OpebDialog1.Execute then امتحان کردم ولی مثل اینکه از OpenDialog نیست !!!
مگه نوع داده OLE Object مقدار خالی رو قبول نمیکنه ؟

Felony
یک شنبه 04 بهمن 1388, 06:15 صبح
مگه نوع داده OLE Object مقدار خالی رو قبول نمیکنه ؟
مقدار خالی چیه ؟ با توجه به پیغام خطایی که ضمیمه کردی ، مشکل این هست که متد FileName اسم هیچ فایلی رو برای ذخیره در OLE برگشت نمیده و باز هم بروز این خطا با توجه به پست قبلیم عادی هست و خودتون باید جلوش رو بگیرید .

حسین خانی
یک شنبه 04 بهمن 1388, 19:55 عصر
متد FileName اسم هیچ فایلی رو برای ذخیره در OLE برگشت نمیده و باز هم بروز این خطا با توجه به پست قبلیم عادی هست و خودتون باید جلوش رو بگیرید . چطوری باید کنترل کنم تا این پیغام و نده ؟ :افسرده:

Felony
دوشنبه 05 بهمن 1388, 21:31 عصر
if FileExists(OpenDialog1.FileName) then