ดึงจาก dbf เข้า access โดยเลือกเฉพาะฟิลด์ ได้หรือไม่
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 258   11
URL.หัวข้อ / URL
ดึงจาก dbf เข้า access โดยเลือกเฉพาะฟิลด์ ได้หรือไม่

ผมมีไฟล์ ORDER.DBF เป็นข้อมูล Foxproทำอย่างไรจึงดึงข้อมูลเฉพาะฟิลด์ชื่อ BILL_AC, SUPP_ID, BAL_MON มายังตาราง Table1 ในไฟล์ JOB.MDB โดยกดปุ่มเดียว และอีกอย่างถ้ามีการกดดึงข้อมูล หากข้อมูลมีอยู่แล้วให้ข้ามไป ช่วยทำตัวอย่างส่งกลับมาให้ดูหน่อยนะครับ ต้องการรู้วิธีการมากเลย. ขอบคุณผู้รู้ทุกท่านครับ

ไฟล์ที่ส่งไปบีบอัดด้วย WinRAR
จะมี 2 ไฟล์คือ
ORDER.DBF
JOB.MDB

11 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R05949
น่าจะทำเป็น Link table จาก dbf เข้ามาใน MDB แล้วค่อยจัดการกับข้อมูลที่หลัง
คุณก็จะสามารถดึงข้อมูลได้ตามต้องการ
2 @R05950
ถ้าใช้วิธีทำลิงค์มาจาก dbf ทีนี้ที่ต้องการคือเอาข้อมูลเฉพาะ 3 ฟิลด์ที่บอกมาไว้ในตาราง Table1 โดยกดปุ่มเดียวได้หรือไม่ ฟิลด์อื่น ๆ ใน dbf ไม่ต้องการดึงมาเก็บในตาราง Table1 ต้องทำอย่างไรครับ
3 @R05951
1. สร้างตาราง table1 มีฟิลด์ดังนี้ bill_ac, supp_id, bal_mon
ที่ตาราง table1 ควรจะมีฟิลด์หนึ่งที่เป็น Primary key เพื่อป้องกัน
การดึงข้อมูลที่ซ้ำซ้อนเข้ามา
2. ที่ปุ่ม OnClick ก็ใส่ SQL(Append Query) ลงไปดังนี้

INSERT INTO Table1( bill_ac, supp_id, bal_mon )
SELECT name.bill_ac, name.supp_id, name.bal_mon
FROM [table ที่ Link มาจาก dbf];

ลองประยุกต์ใช้ดูครับ..
4 @R05952
ประโยค SQL แก้ใหม่ดังนี้..

INSERT INTO Table1( bill_ac, supp_id, bal_mon )
SELECT order.bill_ac, order.supp_id, order.bal_mon
FROM order;
5 @R05953
รบกวนทำตัวอย่างส่งมาได้ไหมครับ ลองทำแล้วไม่ได้
คงไม่รบกวนเกินไปนะครับ
6 @R05954
ผมไม่มี Winrar ในการ Extract ไฟล์ออกมาครับ
7 @R05955
ส่งใหม่ครับ

เราจะอิมพอร์ตข้อมูลของ dbf เฉพาะฟิลด์ 3 ฟิลด์เข้ามาตาราง Table1 เลยได้ไหม โดยไม่ต้องอิมพอร์ตลิงค์ หรือมีวิธีใดที่ดีกว่านี้ ขอคำแนะนำด้วย.
8 @R05956
ตอนนี้เท่าที่ดูข้อมูลคือ คุณตั้ง Bill_AC ใน Table1 เป็น Primary key แต่
ข้อมูลที่อยู่ใน ฟิลด์ Bill_AC ใน dbf ไฟล์ที่จะนำเข้ามา ยังว่างไม่มีข้อมูลเยอะมาก
เวลาคุณนำข้อมูลเข้ามาใน Table1 ก็จะเจอปัญหาว่า Primary key
ไม่สามารถมีค่าว่างได้...

ฉะนั้นคุณต้องแก้ปัญหาตรงนี้ก่อนครับ และถ้าคุณไม่ใส่ Primary Key
คุณก็จะตรวจสอบความซ้ำซ้อนยากมาก จนถึงอาจตรวจสอบไม่ได้เลย ก็ได้
เพราะลักษณะข้อมูลเป็น Text พิมพ์อักษรผิด หรือเคาะ space bar ที่หนึ่ง
ก็แตกต่างกันแล้วครับ
9 @R05957
ถ้าเราตั้งเงื่อนไขถ้าเป็น Null ไม่ต้องดึงมา ได้หรือเปล่าไม่แน่ใจ ต้องถามผู้รู้ท่านอื่นค่ะ
10 @R05958
ลองดูตัวอย่างนี้ครับ คุณ K อาจจะต้องทำ Link table ใหม่ครับ..
ส่วนวิธีที่จะดึงข้อมูล 3 ฟิลด์นั้นเข้ามาใน table1 โดยไม่ต้องทำ link table
ผมยังนึกไม่ออกครับ
11 @R05977
ถ้าคุณใช้เวอร์ชั่น 97 อยู่ มันจะมี isam engine ซึ่งสามารถเขียนโค๊ดด้วย dao เปิดตาราง dbf ได้ครับ แล้วกระทำการใดๆ ได้ตามต้องการ

แต่ถ้าเป็นเวอร์ชั่น 2k ขึ้นมา หมดหวังครับ ต้องลิงค์เทเบิลอย่างที่คุณ badman บอก
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0395s