View Full Version : سوال: خروجي با فرمت txt
ehsan_y
چهارشنبه 05 تیر 1387, 10:02 صبح
سلام
توي برنامم نياز دارم كه يه خروجي از نوع تكست داشته باشم يعني ميخام يكي از تيبل ها رو اكسپورت كنم با txt دستي اين كار خيلي راحته فقط كافيه از منوي فايل اكسپورت انتخاب كرد و ....
آيا راهي وجود داره كه با كدهاي vb بشه اين كار رو انجام داد ؟
در ضمن براي جدا كردن فيلدها بايد از نوع fix استفاده كنم .
shaghaghi
چهارشنبه 05 تیر 1387, 10:09 صبح
سلام
DoCmd.OutputTo acTable, "Table1", "MS-DOSText(*.txt)", "c:\test.txt", True, "", 0
ehsan_y
چهارشنبه 05 تیر 1387, 10:20 صبح
دوست عزيز ممنون از راهنماييتون .
ولي مشكل اينجاست كه من سه فيلد دارم و بايد هر ركورد در يك سطر و سه فيلد آن پشت سرهم باشه .
اصل قضيه اينه كه بانك با اين فرمت اطلاعات قبول مي كنه كه ده رقم اول شماره حساب 13 رقم دوم مبلغ و 6 رقم آخر تاريخ مثلاً
01234567890000000785400870405
اين ميشه يه سطر و معنيش اينه كه به شماره حساب 0123456789 مبلغ 785400 ريال در تاريخ 5/4/1387 واريز بشه .
اين كدي كه شما زحمتشو كشيدين فرمت خروجيش يه جور ديگس.
shaghaghi
چهارشنبه 05 تیر 1387, 11:44 صبح
دوست عزيز ممنون از راهنماييتون .
ولي مشكل اينجاست كه من سه فيلد دارم و بايد هر ركورد در يك سطر و سه فيلد آن پشت سرهم باشه .
اصل قضيه اينه كه بانك با اين فرمت اطلاعات قبول مي كنه كه ده رقم اول شماره حساب 13 رقم دوم مبلغ و 6 رقم آخر تاريخ مثلاً
01234567890000000785400870405
اين ميشه يه سطر و معنيش اينه كه به شماره حساب 0123456789 مبلغ 785400 ريال در تاريخ 5/4/1387 واريز بشه .
اين كدي كه شما زحمتشو كشيدين فرمت خروجيش يه جور ديگس.
حالا صورت مسئله عوض می شود:
فرض می کنیم جدولی به نام tbl_Acc با سه فیلد به شرح زیر از نوع text داریم:
AccNo=شماره حساب
Cost= مبلغ
Date=تاریخ
یک Query به این شرح بسازید:
SELECT Right("0000000000" & [AccNo],10) & Right("0000000000000" & [Cost],13) & Right([Date],6) AS Out
FROM tbl_Acc;
سپس از Query خروجی بگیرید
ehsan_y
چهارشنبه 05 تیر 1387, 12:05 عصر
ممنون از توجه تون دوست عزيز
اين نمونه خروجي چيزي كه به من گفتيد
----------------------------------------------------
| Out |
----------------------------------------------------
| 89205055710000001000000870403 |
----------------------------------------------------
| 89205035600000001000000870403 |
----------------------------------------------------
| 89205045320000001000000870403 |
----------------------------------------------------
| 89205044780000001000000870403 |
----------------------------------------------------
| 89205037730000001000000870403 |
----------------------------------------------------
| 89205041090000001000000870403 |
----------------------------------------------------
| 89205048770000001000000870403 |
----------------------------------------------------
| 89205047530000001000000870403 |
----------------------------------------------------
| 89205035870000001000000870403 |
----------------------------------------------------
و اين اون چيزيه كه من مي خواهم
89205055710000001000000870403
89205035600000001000000870403
89205045320000001000000870403
89205044780000001000000870403
89205037730000001000000870403
89205041090000001000000870403
89205048770000001000000870403
89205047530000001000000870403
89205035870000001000000870403
89205055980000001000000870403
89205032930000001000000870403
آيا راه حلي براي اين دارين ؟
دستي خيلي راحت ميشه با فرمتي كه من مي خام خروجي گرفت ولي كاربرم خيلي مبتدي تر از اين حرفاس .
shaghaghi
چهارشنبه 05 تیر 1387, 13:57 عصر
...
آيا راه حلي براي اين دارين ؟
دستي خيلي راحت ميشه با فرمتي كه من مي خام خروجي گرفت ولي كاربرم خيلي مبتدي تر از اين حرفاس .
شما ناگزیر هستید از توابع کار با فایل، جهت ویرایش کمک بگیرید، در این زمینه در پست زیر مفصل توضیح داده شده است:
http://barnamenevis.org/forum/showpost.php?p=511370&postcount=1
مهدی قربانی
چهارشنبه 05 تیر 1387, 13:59 عصر
سلام
در تكميل راه حل ارائه شده توسط دوست خوبمون shaghaghi من تكه كدي از اينترنت پيدا كردم كه عملكردش مشابه چيزيه كه مورد نظر شماست ، نمونه رو ببينيد :
بعد از كليك كامند باتون موجود در فرم3 فايل تكست در درايو C ايجاد ميشه .
mosaArabi
چهارشنبه 05 تیر 1387, 14:29 عصر
با سلام
روش ارائع شده در فايل آقا مهدي نيز خوب است
روش دوم : ( mid(10000000000+[];2
در[]ستون مورد نظر راقرار بده
دستور كلي براي سه ستون عدد در ستون جديد :A-B-C
D:A&""&B&""&C
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.