PDA

View Full Version : خروجي به Excel



F_ashigh
سه شنبه 31 اردیبهشت 1387, 13:15 عصر
با سلام به همه دوستان
من ميخوام به وسيله كد نويسي بتونم از روي يك فرم يك كوئري يا جدول را به اكسل خروجي دهم.
آيا كسي ميتونه در اين زمينه كمك كنه؟

davood-ahmadi
سه شنبه 31 اردیبهشت 1387, 13:33 عصر
با دو دستور می توانید این کار را انجام بدهید.

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "TableName", "C:\Eee.xls"

DoCmd.OutputTo acOutputTable, "ObjectName", acFormatXLS, "C:\EEEEE.xls"


روش دوم بهتره ، چون می تونید هم کووری و هم جدول و هم ریپورت و غیره ارسال کنید
برای اطلاعات بیشتر کلمه Output را در قسمت برنامه نویسی انتخاب کنید و دکمه F1 را بزنید تا Help مربوط به همه موارد را ببینید.

jaberian2
سه شنبه 31 اردیبهشت 1387, 16:29 عصر
سلام
سئوال چخ جوري ميشه با Browser مسير رو انتخاب كرد و بعد جدول يا كوئري رو اكپورت كرد. البته الان اينكارو با INPUTBOX انجام دادم ولي اگه منو براي Browser (انتخاب مسير فايلي كه اطلاعات رو تو اونجا كپي كنه ) راهنمايي كنيد ممنون ميشم.

F_ashigh
سه شنبه 31 اردیبهشت 1387, 16:40 عصر
خوب دوست عزيز اگه توي كد هايي كه دوست عزيزمون نوشتند مسير و نام فايل را مشخص نكنيد برنامه خودش از شما مسير و نام را سوال ميكنه .

jaberian2
سه شنبه 31 اردیبهشت 1387, 16:42 عصر
مرسي تستش ميكن و نتيجه رو ميگم. البته استفاده از browser با يه دكمه فرمان خيلي فايل رو حرفه اي تر ميكنه!

jaberian2
سه شنبه 31 اردیبهشت 1387, 16:47 عصر
سلام و ممنون از پاسخ سريعتون
يه مشكلي هست و اون اينكه كدي كه من نوشتم اطلاعات رو به يك شيت خاص و در ستون هاي خاصي كپي ميكنه كه با اين ترتيت ميشه از شيت هاي ديگه هم استفاده كرد. فكر كنم حالا قضيه فرق كرد.

F_ashigh
چهارشنبه 01 خرداد 1387, 13:03 عصر
منظورتون را متوجه نميشم!
مگه شما مي خواهيد چه استفاده اي از فايل Export شده بكنيد .

jaberian2
چهارشنبه 01 خرداد 1387, 16:21 عصر
سلام
اطلاعات يك كوئري تشكيل دهنده داده هاي ورودي يك فايل اكسل هستند كه داراي چند شيته. اين داده هاي خام توسط ماكروهاي اكسل تبديل به يك برنامه نگهداري و تعميرات ميشند. پس براي اينكه از چند تا فايل اكسل لينك شده استفاده نكنم، اطلاعات كوئري رو به يكي از شيت هاي اون فايل اكسل منتقل ( كپي )ميكنم

F_ashigh
چهارشنبه 01 خرداد 1387, 16:29 عصر
خوب شما ميتونيد اطلاعات اون شيت مشخص را به كوئري مورد نظر لينك كنيد.

jaberian2
چهارشنبه 01 خرداد 1387, 16:39 عصر
ميشه بيشتر توضيح بديد.

F_ashigh
پنج شنبه 02 خرداد 1387, 11:49 صبح
از توی اکسل قایل اکسس را باز کنید .
همونطور که میبینید از شما می پرسه که کدوم Table یا Query را باز کنه .
بعد از این که Table یا Query را باز کردید آن شیت از اکسل را به فایل مورد نظرتون انتقال بدید.
حالا هر وقت که بخواهید میتونید با Refresh کردن اطلاعات جدول در اکسل که به برنامه اکسس هم لینک هست اطلاعاتتون را به روز کنید.

F_ashigh
دوشنبه 06 خرداد 1387, 13:45 عصر
آيا اين راه خواست شما را برآورده كرد؟

jaberian2
دوشنبه 06 خرداد 1387, 17:31 عصر
سلام مرسي از پيشنهادتون، در اولين فرصا تستش مي كنم وجوابتون رو مي دم. فقط يه سئوال ديگه اگه اين كار مشكلمو حل كنه آيا براي ماكرو اكسل كه بتونه از اكسل اينكارو انجام بده هم مي تونيد كمكم كنيد.

jaberian2
دوشنبه 06 خرداد 1387, 17:41 عصر
سلام تستش كردم ولي يع فايل جديد ايجاد كرد. البته روش خوبيه ولي منوط به اينكه شما هر بار تو يه فايل جديد بخواهيد كارتونو انجام بدبد. لامه بگم از كدهايي تو VBA اكسس استفاده كردم كه ستونهاي كوئري رو به ستون هاي خاصي از شيتي از يك فايل مشخص كپي مي كنه و بقيه اون شيتهاي اكسل سر جاي خودشون هستند.

F_ashigh
سه شنبه 07 خرداد 1387, 08:44 صبح
سلام دوست عزيز
فكر كنم يه جايي اشتباه كردي ؟
شما بعد از اينكه توي Excel از طريق Open فايل Access و Query مورد نظر را باز كرديد يك شيت لينك شده به Access در اختيار شما ميگذاره كه با هر بار راست كليك كردن روي آن ميتونيد اون را به راحتي Refresh‌كنيد .
شما فقط كافيه اون شيت را در فايل Excel اصلي كه مورد نظرتونه كپي كنيد و در هر بار فقط اون را Refresh كنيد .
به اين شكل ديگه هر بار نياز به ساختن يك فايل جديد نيست .

dadsara
یک شنبه 17 آذر 1387, 14:09 عصر
با دو دستور می توانید این کار را انجام بدهید.

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "TableName", "C:\Eee.xls"


DoCmd.OutputTo acOutputTable, "ObjectName", acFormatXLS, "C:\EEEEE.xls"



روش دوم بهتره ، چون می تونید هم کووری و هم جدول و هم ریپورت و غیره ارسال کنید



برای اطلاعات بیشتر کلمه Output را در قسمت برنامه نویسی انتخاب کنید و دکمه F1 را بزنید تا Help مربوط به همه موارد را ببینید.



سلام
چه جوري فايل را با فرمت Word مي توان ارسال كرد ( البته با استفاده از VBA )

مهدی قربانی
دوشنبه 18 آذر 1387, 09:07 صبح
سلام
به این شکل عمل کنید :

DoCmd.OutputTo acTable, "TableName", "RichTextFormat(*.rtf)", "C:\TestWord.doc", False, "", 0

amir179
دوشنبه 09 خرداد 1390, 12:16 عصر
با دو دستور می توانید این کار را انجام بدهید.

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "TableName", "C:\Eee.xls"

DoCmd.OutputTo acOutputTable, "ObjectName", acFormatXLS, "C:\EEEEE.xls"


روش دوم بهتره ، چون می تونید هم کووری و هم جدول و هم ریپورت و غیره ارسال کنید
برای اطلاعات بیشتر کلمه Output را در قسمت برنامه نویسی انتخاب کنید و دکمه F1 را بزنید تا Help مربوط به همه موارد را ببینید.


با سلام
من از روش دوم استفاده كردم ولي فونتهاي فارسي رو نميخونه
چه كار كنم
ميشه لطفاً راهنمايي كنيد

مهدی قربانی
دوشنبه 09 خرداد 1390, 17:26 عصر
سلام
توصيه ميشه در نامگذاريها از كاراكترهاي فارسي استفاده نكنيد كه غالباً با مشكل روبرو خواهيد شد .