เมื่อ VFP Table พัง
สมัยก่อนผมใช้ VFP ไปแล้ว Table ใหญ่ๆ มี Memo Field ด้วย และมีกระแสไฟตกบ่อยๆ ก็มักเจอดีเหตุการณ์ไฟล์เสียเข้ามาเยือน ซ่อมได้ด้วยเทคนิคต่างๆที่ไม่เป็นทางการ แล้วก็น่าแปลกที่ VFP ไม่ทำโปรแกรมซ่อมโดยเฉพาะออกมา วิธีการที่ว่านั้นก็มีทั้งเล่นเป็นชุด เปิดไฟล์ขึ้นมา+เพิ่มเรคอร์ดใหม่+ลบออก+PACK+ปิดไฟล์ แล้วเปิดใช้อีกที , หรือไม่ก็ใช้ซอฟต์แวร์ซ่อม dbf ของผู้ใช้งานทำกันออกมาเอง ที่มีให้ดาว์นโหลดฟรีและเสียกะตังค์
แบบเล่นเป็นชุดที่ว่า...คุณ Anuwat (ขออภัยท่านนี้ผมยังไม่เคยทัก) ในกลุ่ม Line แนะนำมาว่า
แบบนี้ครับ ส่วนคุณ Joe นักพัฒนาซอฟต์แวร์ที่เชี่ยวชาญและมีน้ำใจคอยช่วยตอบปัญหาให้เพื่อนๆชาว Fox มาตลอดได้แนะนำในกลุ่ม Line เดียวกันดังข้างล่างนี้ครับ
แปะไว้ก่อนวันหลังเจอดีค่อยเอามาลองนะครับ // จบ
แบบเล่นเป็นชุดที่ว่า...คุณ Anuwat (ขออภัยท่านนี้ผมยังไม่เคยทัก) ในกลุ่ม Line แนะนำมาว่า
SET TABLEVALIDATE TO 0
USE table1 EXCLUSIVE
APPEND BLANK
DELETE
PACK
USE
แบบนี้ครับ ส่วนคุณ Joe นักพัฒนาซอฟต์แวร์ที่เชี่ยวชาญและมีน้ำใจคอยช่วยตอบปัญหาให้เพื่อนๆชาว Fox มาตลอดได้แนะนำในกลุ่ม Line เดียวกันดังข้างล่างนี้ครับ
*เรียกใช้
If FixMemoFile('c:\front\font.scx')
*** Success. File is Fixed
Else
*** Fail. File is not fixed
Endif
*ฟังก์ชั่น
Function FixMemoFile(tcFile as string)
If vartype(tcFile) = 'C' and not Empty(tcFile) and File(tcFile)
Local lnOldSelect as Integer
lnOldSelect = Select(0)
Set tablevalidate to 0
Select 0
Use (tcFile) exclusive
Append blank
Delete
Pack
Use
Set tablevalidate to 3
Select(lnOldSelect)
Return .T.
Endif
Return .F.
Endfunc
แปะไว้ก่อนวันหลังเจอดีค่อยเอามาลองนะครับ // จบ
สำหรับกรณี tablevalidate ไม่ถือว่าไฟล์เสีย ถ้าลดระดับแล้วเปิดได้ หรือใช้ vfp ที่ยังไม่มีฟังก์ชันนี้ก็เปิดได้ปกติ
ตอบลบ