ورود

View Full Version : Use Excel to repair DBF



kia1349
یک شنبه 10 تیر 1386, 16:59 عصر
اینم یه روش از سایت foxite
خودم تا حالا تست نکردم
برای انجام این کار اکسل باید روی سیستمتون نصب باشه


*------------------------------------------------------------------------
* ut_RepairDBF()
*
* Call this routine to repair a DBF file reported by VFP to be corrupted.
*
* PASSES:
* tcFile = The full path to the DBF file to be repaired.
* e.g. 'c:\path\table.dbf'
*
* RETURNS:
* .t. if successful, .f. otherwise.
*
* OUTPUT:
* The original DBF is backup with .bak extension.
* The repaired DBF has the same name as the original file.
*
* EXAMPLE:
* ut_RepairDBF('c:\path\table.dbf')
*
* REMARKS:
* Microsoft Excel is used to repair the DBF.
*------------------------------------------------------------------------
function ut_RepairDBF(tcFile)

local loExcel as Excel.Application
local lcBackupFile
local lcFixedFile

if empty(tcFile) or not file(tcFile)
return .f.
endif

loExcel = createobject("Excel.Application")
if vartype(loExcel)<>'O'
return .f.
endif

lcBackupFile = alltrim(tcFile)+'.bak'
lcFixedFile = alltrim(tcFile)+'.tmp'

delete file (lcBackupFile)
delete file (lcFixedFile)

loExcel.Workbooks.Open(tcFile)
loExcel.ActiveWorkbook.SaveAs(lcFixedFile, xlDBF3)
loExcel.ActiveWindow.Close(.f.)
loExcel.Quit()

rename (tcFile) to (lcBackupFile)
rename (lcFixedFile) to (tcFile)
endfunc

barnamenevis1978
شنبه 06 مرداد 1386, 15:29 عصر
سلام
یک فایل fox تحت DOS را به چه صورت میشه convert کرد در یک فایل excel?

mehran_337
یک شنبه 07 مرداد 1386, 07:15 صبح
از برنامه جناب حسینی استفاده کنید

farhad_shiri_ex
یک شنبه 07 مرداد 1386, 11:54 صبح
از برنامه جناب حسینی استفاده کنید

برادر مهران عزیز!
بدون تعارف عرض کنم از پستهای ارسال شده شما می توان پی برد که شما خیلی پیگیر و در حیطه کاری خود خیلی وارد هستید اما بهتر نیست در جواب دوستان کمی تامل نمایید و با صبر راه حلی پیشنهاد دهید بجای استفاده از برنامه دیگران با این کار خلاقیت فکری بیشتر می شود چون صدرصد هم من و هم دوستان دیگر چنین کدهایی داریم اما ارسال همه سورسها در این سایت خیلی علمی نمی باشد. چون شما فکر کنید همه باید می گفتند خوب برنامه نویسان مایکرو سافت و یا سان و ... هستند دیگه کسی هم دنبال برنامه نویسی نمی رفت یکی می نوشت همه استفاده می کردند اگر کمی هم با دقت نگاه کنید می بینید که مثلا از یک برنامه کامپیوتری مانند برنامه های ویروس یاب چنصد برنامه وجود دارد حال با علم براینکه شما می دانید منهم می دانم که از این چنصد برنامه فقط چند تا شون با پدر و مادر دار هستند .
کلا جسارت اینجانب را ببخشید برادر مهران چون حداقل من چند تا از پستهای خود شما را دیده ام که به این مطلب اشاره کرده اید.
البته از دوستان عذز خواهی میکنم چون این مطلب در این جا نمی گنجید.

farhad_shiri_ex
یک شنبه 07 مرداد 1386, 12:01 عصر
سلام
یک فایل fox تحت DOS را به چه صورت میشه convert کرد در یک فایل excel?

دوست عزیز روشهای زیادی برای اینکار وجود دارد من یک روش ساده را برای شما توضیح می دهم.
1- تبدیل بانک داس به بانک ویندوز با CP 1256
2- استفاده از دستور COPY TO d:\ListBimeh.XLS TYPE XL5' برای انتقال اطلاعات به اکسل.

البته این روش خیلی ساده است روشهای پیچیده تر استفاده از Report ها و ارسال آنها به برنامه اکسل می باشد. با متریالهای جذابتر برای اکسل برای زیبایی کار .

mehran_337
یک شنبه 07 مرداد 1386, 12:26 عصر
با تشکر از فرهاد عزیز باید عرض کنم برنامه آقای حسینی بصورت open source ارائه شده است و دستوراتی که کاربر بخواهد بر پایه آن بر اطلاعات خویش بیفزاید نیز در آن قابل مشاهده و بررسی می باشد . این یعنی همان مقصدی که شما اشاره کردید. مسلما همه برنامه نویسان ابزارهای آماده بسیار دارند دانستن اینکه روش کار چگونه است و تسلط بر فهم کد از لحاظ بنده کفایت می کند و برای سرعت بخشیدن به کار باید از نوشتن الگوریتمهای تکراری جلوگیری کرد و به فکر ایجاد دستورات پیچیده تر بود نه کاری که دیگران کردند ما دوباره بازنویسی کنیم البته باز هم متذکر می شوم که در صورتی که باید به دستورات آماده مطالعه شود تا فهم آن حاصل گردد.

rezaTavak
دوشنبه 08 مرداد 1386, 07:48 صبح
سلام
با عرض معذرت این تاپیک مخصوص ترمیم بانک توسط اکسل است. فقط در این خصوص پست ارسال شود. ممنون