บทความ

กำลังแสดงโพสต์จาก กุมภาพันธ์, 2017

เมื่อ VFP Table พัง

สมัยก่อนผมใช้ VFP ไปแล้ว Table ใหญ่ๆ มี Memo Field ด้วย และมีกระแสไฟตกบ่อยๆ ก็มักเจอดีเหตุการณ์ไฟล์เสียเข้ามาเยือน ซ่อมได้ด้วยเทคนิคต่างๆที่ไม่เป็นทางการ แล้วก็น่าแปลกที่ VFP ไม่ทำโปรแกรมซ่อมโดยเฉพาะออกมา วิธีการที่ว่านั้นก็มีทั้งเล่นเป็นชุด เปิดไฟล์ขึ้นมา+เพิ่มเรคอร์ดใหม่+ลบออก+PACK+ปิดไฟล์ แล้วเปิดใช้อีกที , หรือไม่ก็ใช้ซอฟต์แวร์ซ่อม dbf ของผู้ใช้งานทำกันออกมาเอง ที่มีให้ดาว์นโหลดฟรีและเสียกะตังค์ แบบเล่นเป็นชุดที่ว่า...คุณ 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 lnOldSelec

VFP SQL UPDATE ปรับปรุงค่าในฟิลด์ด้วยค่าจากตารางอื่น

ก่อนนี้ผมใช้ VFP มาแบบโบราณ เวลาเปลี่ยนค่าใน Field ก็ใช้ DO WHILE ร่วมกับ REPLACE ก็รอดมาได้ แต่ต่อมามาใช้ SQL ก็ดูเหมือนว่าชีวิตจะสะดวกสบายขึ้น โดยเฉพาะการปรับปรุงค่าในฟิลด์ของ Tabel_1 ด้วยค่าในฟิลด์ของ Table_2 ง่ายกว่าการใช้ DO WHILE ร่วมกับ REPLACE แบบเดิมๆมากมายมหาศาลเชียวล่ะ อยากรู้ก็อ่านต่อไปครับว่าทำได้ยังไง เค้าว่าตัวอย่างที่ดีมีค่ากว่าคำสอน ดังนั้น...เอาตัวอย่างไปครับ * เปิด table USE old_value IN 0 USE new_value IN 0 * สั่ง update field_name ใน old_value ด้วย field_name จาก new_value UPDATE old_value ; FROM  new_value  ; WHERE  old_value   .keyfield  =  new_value   .keyfield ; SET  old_value   .field_name =  new_value   .field_name * สังเกตผล SELECT old_value BROWSE จากตัวอย่างที่เห็นข้างต้นนี้ เราเปลี่ยนค่าในฟิลด์ที่ชื่อว่า field_name ของตาราง old_value ด้วยค่าใน field_name ของตาราง new_value ซึ่งแน่นอนว่าต้องระบุลงไปให้ชัดเจนใน SQL Command ด้วยว่าจะให้ฟิลด์ใดเป็นตัวอ้างอิงระหว่างกัน โดยระบุลงไปในคำสั่ง WHERE ได้เลยครับสะดวกมาก WHERE  old_value  . keyfi