PDA

View Full Version : انتقال داده های اکسل به اکسس



ایلیا آخوندزاده
سه شنبه 22 مهر 1393, 15:40 عصر
باسلام و درود
توی سایت جستجو کردم و تاپیک های مشابهی پیدا کردم ولی به نتیجه ای نرسیدم.
از دوستان و اساتید کمک میخواستم
چطوری انتقال داده های اکسل به اکسس رو انجام بدم؟ یعنی وقتی کاربر روی یک باتون کلیک کرد و فایل اکسل رو انتخاب کرد اطلاعات اکسل به پایگاه داده خود برنامه که اکسس هست کپی بشه ؟ البته ماندگار هم باشه یعنی به این صورت نباشه که فقط نشون بده توی بانک اکسس دخیره کنه.
باتشکر

vbhamed
پنج شنبه 24 مهر 1393, 00:07 صبح
سلام
مي‌تونيد با vsFlexGrid فايل اكسل رو باز كنيد
VSFlexGrid1.LoadGrid "c:\test.xls", flexFileExcel
سپس اطلاعات رو از اون بخونيد و دونه دونه در بانك اكسس درج كنيد

ایلیا آخوندزاده
پنج شنبه 24 مهر 1393, 00:22 صبح
باسلام و درود
استاد فرض میکنیم که اکسل رو لود کردیم باچه کدی میتونیم تمام داده ها رو در اکسس ذخیره کنیم؟

vbhamed
پنج شنبه 24 مهر 1393, 07:44 صبح
سلام
يك دفعه نميشه تمام داده ها رو نوشت بايد دونه دونه بنويسيد كه اونم ميشه كار با بانك اطلاعاتي كه نمونه مثالهاش تو سايت و اينترنت فراوونه

ایلیا آخوندزاده
پنج شنبه 24 مهر 1393, 09:23 صبح
باسلام و درود
ممنونم از توجهتون آقای vbhamed
راستش این برنامه کارش رسیدگی به امور اصناف هستش که یک ارگان دولتی سفارش داده تابراشون بنویسم و قراره تو کل شعب کشور استفاده بشه . اینا قبلا اطلاعات رو در یک فایل اکسل وارد کردن و حالا میخوان که تمام داده های قبلیشون رو که در قالب اکسل هست وارد نرم افزار کنن که یکجا باشه.اگه تو یه شعبه برنامه کار می کرد بصورت دستی خودم وارد میکردم ولی همونطور که خودتونم میدونم وارد کردن تمام اطلاعات شعب خودشم در هر شهرعملا غیرممکن هستش واسه همین دنبال راهی میگردم که برنامه با انتخاب فایل اکسل تمام داده ها رو وارد پایگاه داده بشه.
تمام برنامه تموم شده فقط مونده همین مشکل

vbhamed
پنج شنبه 24 مهر 1393, 09:42 صبح
سلام

خب منم نگفتم دستي وارد كنيد، گفتم دونه دونه، يعني بايد يك برنامه بنويسيد كه فايلهاي اكسل رو يكي يكي در vsFlexGrid بارگزاري كنه و سپس دونه دونه ركوردها رو از vsFlexGrid بخونه و توي بانك ذخيره كنه دستورات Insert, AddNew, Update, ...

ایلیا آخوندزاده
پنج شنبه 24 مهر 1393, 19:19 عصر
باسلام دوباره
جناب vbhamed آیا میتونید لطف کنید یک نمونه برام ضمیمه کنید؟
باتشکر از زحمات شما

ایلیا آخوندزاده
جمعه 25 مهر 1393, 16:25 عصر
باسلام
ما وقتی دستور ثبت رو میدیم میگیم که فیلد X برابر با Text1.Text و وقتی حذف میکنیم میگیم Delete که روی پایگاه داده انجام میشه حالا من چه دستوری بنویسم که رکورد از VsFlexGrid که پایگاه داده هم نداره حذف بشه؟
َباتشکرَ

vbhamed
جمعه 25 مهر 1393, 16:57 عصر
سلام
نياز نيست حذف بشه
شما با خاصيت TextMatrix مي‌توني مقادير كليه سطرها و ستونهاي vsFlex رو بخوني و در بانك درج كني، ديگه با محتويات vsFlexGrid كاري نداري، البته با دستور VSFlexGrid1.RemoveItem مي‌توني سطر دلخواهي رو حذف كني ولي نيازي به اينكار نيست

ایلیا آخوندزاده
جمعه 25 مهر 1393, 23:13 عصر
باسلام
آقای vbhamed
وقتی دستور رو مینویسم که فایل اکسل رو بخونه خطای Run-time error '58': File already exists رو میده و وقتی رو باتون Debug کلیک میکنم کل کد رو Highligte میکنه.

vbhamed
شنبه 26 مهر 1393, 12:10 عصر
سلام
كد يا خود پروژه رو بزاريد

ایلیا آخوندزاده
شنبه 26 مهر 1393, 14:32 عصر
باسلام و درود
آقای vbhamed واقعا از حضرتعالی معذرت میخوام مشکل از کد بود بعد از کاراکتر {"} اشتباها فاصله گذاشته بودم برداشتم حل شد.
باتشکر

ایلیا آخوندزاده
شنبه 26 مهر 1393, 14:45 عصر
باسلامی مجدد
من داده هارو آوردم تو گرید حالا میخوام اونارو به پایگاه داده اضافه کنم برای همین در یک تایمر کد رو گذاشتم بصورتی که هرسطر رو که ثبت کرد از VSFlexGrid حدف میکنه و ثبت به سرعت انجام میشه حالا برنامه چطور بفهمه که تعداد ستون های VSFlexGrid به 0 رسیده و تایمر و False کنه؟
باتشکر

vbhamed
شنبه 26 مهر 1393, 17:36 عصر
سلام
خاصيتهاي Rows و Cols

ایلیا آخوندزاده
شنبه 26 مهر 1393, 18:27 عصر
باسلام
آقای vbhamed به این پروژه نگاه کنید فایل book2 رو لود میکنه ولی فایل 1 رو ارور ران تایم میده همونی که بالاهم نوشتم:
باتشکر

vbhamed
شنبه 26 مهر 1393, 22:35 عصر
سلام
مشكل از فايلتونه، تو اكسل هم كه باز كنيد اولش يك پيام نشون ميده، بعد از باز شدن تو اكسل به يك نام ديگه و با فرمت Excel 97-2003 ذخيره كنيد