PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Import کردن فایل های DBF به اکسل



~M*E*H*D*I~
2014/04/20, 18:14
درود

کد زیر رو برای ایمپورت کردن فایل های dbf به اکسل نوشتم ایرادی که داره خروجی که میده کاراکترهای فارسی بهم ریختن ، دوستان ایده و راهنمایی دارند بفرمایند




Sub importdbf()
FileToOpen = Application.GetOpenFilename _
(Title:="Please choose a file to import", _
FileFilter:="Excel Files *.dbf (*.dbf),")

If FileToOpen = False Then

Exit Sub
Else
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
Dim rst As Object
Set rst = CreateObject("ADODB.Recordset")
iPos = InStrRev(FileToOpen, "\", , vbTextCompare)
Filepath = Left(FileToOpen, iPos)
Filename = Right(FileToOpen, Len(FileToOpen) - iPos)

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Filepath & ";Extended Properties=dBASE IV"

rst.Open "Select * From " & Filename, conn, adOpenStatic, adLockReadOnly, adCmdText

ActiveSheet.Range("A2").CopyFromRecordset rst
rst.Close
Set rst = Nothing
conn.Close
Set conn = Nothing
End If
End Sub

Amir Ghasemiyan
2014/04/20, 19:55
من كدت رو متوجه نشدم دقيقا چكار ميكنه ولي معمولا براي اينكه كاركترهاي فارسي مشكلي نداشته باشن از كدهاي اسكي استفاده ميكنن. امكانش هست همچين كاري انجام بدي؟

~M*E*H*D*I~
2014/04/20, 20:35
من كدت رو متوجه نشدم دقيقا چكار ميكنه ولي معمولا براي اينكه كاركترهاي فارسي مشكلي نداشته باشن از كدهاي اسكي استفاده ميكنن. امكانش هست همچين كاري انجام بدي؟

این کد خروجی های فاکس پرو رو وارد اکسل میکنه ، به درد تهیه لیست های بیمه میخوره ، باید از UTF-8 استفاده بشه ولی حوصله نداشتم ببینم چیکار باید کرد گفتم یه بارم من سوال بپرسم :p

khakzad
2014/04/20, 23:28
سلاااااام
جوابی که نداشتم. سوال اضافه می کنم :D
کد برعکسش هم امکانش هس؟
شیت اکسل رو به dbf تبددیل کنه؟
طوری که بیمه قبول کنه؟

سپاس

~M*E*H*D*I~
2014/04/21, 18:07
سلاااااام
جوابی که نداشتم. سوال اضافه می کنم :d
کد برعکسش هم امکانش هس؟
شیت اکسل رو به dbf تبددیل کنه؟
طوری که بیمه قبول کنه؟

سپاس

بله امکان پذیر هست به شرط حل مشکل utf-8

khakzad
2014/04/24, 11:24
سلام
من این کد رو اجرا کردم
این ارور رو میده
3142
میشه بفرمایید مشکل کجاست؟ (به این کدها اشنایی ندارم:confused::confused:)

mokaram
2014/04/24, 12:30
من اجرا کردم مشکلی پیش نیومد

~M*E*H*D*I~
2014/04/24, 12:42
سلام
من این کد رو اجرا کردم
این ارور رو میده
3142
میشه بفرمایید مشکل کجاست؟ (به این کدها اشنایی ندارم:confused::confused:)

باید کتابخانه active x رو فعال کنید

khakzad
2014/04/24, 13:25
من اجرا کردم مشکلی پیش نیومد
بله
برای منم تا مرحله انتخاب فایل اجرا شد
بعدش که انتخاب کردم دیگه نیاوورد تو اکسل

~M*E*H*D*I~
2014/04/24, 13:43
فایل پیوست با نمونه های dbf رو مشاهده کنید

khakzad
2014/04/24, 14:10
ممنون
اما فایل دی بی اف من هم از بیمه هست
چرا پس ارور میده؟
این فایل dbf من

~M*E*H*D*I~
2014/04/24, 14:46
ممنون
اما فایل دی بی اف من هم از بیمه هست
چرا پس ارور میده؟
این فایل dbf من

جالبه باز شد ولی وضعیت فونت ها خیلی از فایل من بهتره

khakzad
2014/04/24, 15:15
عجیبه
پس چرا واسه من نمیشه :(
البته هدف من خروجی دی بی اف گرفتن از اکسل هست. طوری که بیمه قبول کنه. (چون خیلی سخت می گیره!!)
اما نمی دونم چکارش کنم
راهنمایی م یتونید بکنید؟برای فونت ها . بگید من بخونم:oبلکه ی راهی پیدا شد

~M*E*H*D*I~
2014/04/24, 15:48
عجیبه
پس چرا واسه من نمیشه :(
البته هدف من خروجی دی بی اف گرفتن از اکسل هست. طوری که بیمه قبول کنه. (چون خیلی سخت می گیره!!)
اما نمی دونم چکارش کنم
راهنمایی م یتونید بکنید؟برای فونت ها . بگید من بخونم:oبلکه ی راهی پیدا شد

باید از ado.stream استفاده بشه ولی نمیدونم چطور ، ورودی و خروجی گرفتن کاری نداره کد خروجی هم تقریبا مثل همین کد هست دقت کنید بخشی که هایلایت شده تیک خورده باشه
3152

shamsololama
2014/04/28, 10:46
عجیبه
پس چرا واسه من نمیشه :(
البته هدف من خروجی دی بی اف گرفتن از اکسل هست. طوری که بیمه قبول کنه. (چون خیلی سخت می گیره!!)
اما نمی دونم چکارش کنم
راهنمایی م یتونید بکنید؟برای فونت ها . بگید من بخونم:oبلکه ی راهی پیدا شد



با درود فراوان

برای ورود اطلاعات از یک دیتابیس از تب اینسرت بصورت دیفالت هم انجام میگیره و اگر بخوای بدون کد نویسی این کار رو بکنید کافیه آن فایل رو انتخاب کنید و اینسرت کنید که البته از این طریق هم این فایل دی بی اف فونت های فارسی آن به هم ریخته میاد ولی این کد خوبی که دوست خوبم اقا مهدی زحمت آن رو کشیدن خوبی آن اینه که برای خروجی گرفتن هم میشه استفاده کرد و بجای دستور Select * From از دستور اینسرت استفاده کنید .

khakzad
2014/04/28, 10:51
ممنون استاد
مشکل همچنان فونت هست
بهم میریزه :confused:

smp 27891
2018/11/22, 13:33
ممنون استاد
مشکل همچنان فونت هست
بهم میریزه :confused:

سلام دوست عزیزم
ممنون میشم اگه به نتیجه رسیدید به من اطلاع بدین.
یک دنیا تشکر