view designer เพี้ยนเมื่อมี table มากกว่า 3 table

   
ใน view designer ถ้ามี table จอยน์ กันไม่เกิน 3 table ก็จะแสดงผลได้ถูกต้อง
แต่ถ้ามี table มากกว่านี้ ผมลัพธ์จะออกมาไม่ถูกต้อง
ไม่ทราบท่านใดเคยเจอบัญหาแบบนี้บ้างหรือเปล่าครับ

ขอบพระคุณ
yanee
12 ก.พ. 46 เวลา 22:06:12 น. --> 202.183.228.67,
   
   

View designer มีข้อจำกัดเรื่อง join และหลายอย่าง ตัวอย่างเช่น
http://support.microsoft.com/default.aspx?scid=kb;en-us;156667

ถ้าคิดว่าเป็น bug ก็ลอง search ใน microsoft ดูครับ
น่าจะให้ตัวอย่างมาหน่อย
ไม่ให้รายละเอียด ก็ไม่รู้ว่าจะว่าอะไรได้ละครับ

x
12 ก.พ. 46 เวลา 23:24:48 น. --> 202.28.179.1, w
  
   
คุณ yanee ครับ

(คง)เป็น bug ของ View Desgner
V D ของ VFP มีปัญหา รับ table join-relation
ได้ไม่เกิน 2 table มาตั้งแต่เวอร์ชั่น 5 และ MS ไม่ยอมแก้
จนแล้วจนรอดถึง v7 sp1 แล้วก็ยังไม่แก้
v8 beta มี VD ใหม่คงแก้แล้ว ผมไม่ได้ลอง เพราะไม่ชอบใช้
จะผูก SQL/set view ด้วย code เลย

ขอต่อของคุณ x
1. ถ้าจะคิดใช้ VD ลองไป www.universalthread.com
download Eview ของ Eric Moore มาใช้ดู
http://www.universalthread.com/wconnect/wc.dll?FournierTransformation~2,2,9474


2. เห็นด้วยกับที่ x เขาทัก ให้ดีคุณก็น่าจะให้ข้อมูลหน่อยนะครับ
บอกแค่นี้แยกไม่ออกหรอกครับว่าเป็นจากทำไว้ผิด
หรือเป็นอาการของ bug ลองเปลี่ยนเป็นคนถามประเภทมือใหม่
ถามมาไว่วายจะถูกสงสัย

scan ในกระทู้ข้างล่างเข้าใจว่าคุณเป็นขาประจำคนหนึ่ง
แต่ผมว่าคนถามต้องให้รายละเอียด เพราะเป็นการให้เกียรติกับคนตอบ

ขออภัยคุณ yanee ด้วย ผมบ่นมากไปหน่อย ติดมาจากต่อกระทู้ข้างล่าง
จิ้งจอกแก่ ผ่านมา
13 ก.พ. 46 เวลา 7:20:32 น. --> 203.185.143.229
  
   
ขอต่ออีกหน่อย ไปเช็คดูแล้ว
VFP8(beta) มี view designer ใหม่หมด ทำได้มากกว่าเดิมมาก
แก้ปัญหาเดิมแล้ว แต่ไม่รู้จะเจอปัญหาใหม่อีกใหม?
จิ้งจอกแก่ ผ่านมา
13 ก.พ. 46 เวลา 7:36:49 น. --> 203.185.143.229
  
   
View Designer มันไม่ได้เพี้ยนหรอก การ join ที่ใช้ใน View ของ VFP จะเลือกใช้การ Join แบบ nested โดยแบ่งกลุ่ม join ไว้บน แล้ว เงื่อนไข on ไว้ล่าง ทำให้ออกมาไม่ตรง ก็ไม่รู้เหมือนกันว่าเมื่อไหร่ จะแก้ไขในส่วนนี้
:->
13 ก.พ. 46 เวลา 8:03:37 น. --> 203.151.188.12,
  
   
แนะนำ ให้ไปใช้คำสั่ง Select... From ...Join... Where ....[READW] into cursor ดีกว่าครับ เราจะได้เก่งเรื่องคำสั่ง SQL ด้วยและเพิ่มลูกเล่นได้มาก ด้วยครับ
numberoneshow@hotmail.com
13 ก.พ. 46 เวลา 9:52:30 น. --> 203.170.142.124
  
   
แก้ปัญหาการ Join แบบนี้โดย
1.table1 + table2
2.table3 + 1
ต้อง Join ทีละสองครับ

หรือไม่ก็ ใช้ Sql Statement ตามที่เพื่อนๆบอกครับ
xsoft108@hotmail.com
13 ก.พ. 46 เวลา 10:12:13 น. --> 203.146.33.172,
  
   
ไม่จำเป็นไม่ใช้ view เลย เพราะ ถ้ามีการแก้ไขโครงสร้างของ table เมื่อไหร่ table ไหนที่ไปมีส่วนอยู่ใน view ใด view หนึ่ง view นั้นใช้ไม่ได้ ต้องมาสร้างใหม่ แล้วยิ่งตอนทำถ้าไม่มีการเก็บหรือบันทึกไว้ว่าเราทำ view ไว้ไง มีเงื่อนไขอะไรบ้าง ตานี้ก็ยุ่งเป็นยุงตีกัน
ใช้ SQL - command ดีกว่าเนอะ พิสูจน์เรื่อง Rushmore ง่ายด้วยอีกต่างหาก
ถ้ามือใหม่เข้ามาก็จำรูปแบบไว้น่ะง่ายๆ เอา left join ละกันใช้บ่อยสุด
SELECT * FROM <table1>
LEFT OUTER JOIN <table2>
ON table1.fieldmatch = table2.fieldmatch
LEFT OUTER JOIN <table3>
ON ......
LEFT OUTER JOIN ...
ON .....
WHERE .....
กรณี ฟิลด์ที่มีการ match กันระหว่าง table ถ้ามีหลายๆฟิลด์ ให้ใช้ บวกไปเลย เช่น
LEFT OUTER JOIN (table1.fieldmatch+table1.field2+dtos(table1.date)) = (table2.fieldmatch+table2.field2+dtos(table2.date))
ปล. กรณีใช้ความสามารถของ Rushmore ถ้าคุณทำ index ไว้หลายๆฟิดล์ ตอน match หรือตอน where หาก็กรุ๊ปให้เหมือนกับ index จะทำให้ไวสุดๆ
เช่น INDEX ON FIELD1+FIELD2+DTOS(DATEFLD) TAG ...
ใน sql ตรง where หรือ on ใน join ก็กรุ๊ปแบบ index แหละ
:->
13 ก.พ. 46 เวลา 11:07:33 น. --> 203.151.188.12,
  
   
ความจริงแล้วผมก็ไม่ได้ใช้ view ดอก เพราะเคยเจอปัญหาแบบที่คุณ :-> ว่า
คือถ้าโครงสร้างตารางเปลี่ยน view ตัวนั้นก็ฟังไปเลย
ยกเว้นเราจะกลับไปแก้ไขโครงสร้างตารางให้กลับไปดังเดิม
แต่ผมชอบใช้ view สร้างแบบจำลองขึ้นมาแล้วก็คัดลอกเอาโค๊ดไปใช้โดยเฉพาะเมื่อมี JOIN เข้ามาเกี่ยวข้อง
ปัญหาของผมก็คือไม่ถนัดเขียน SQL select
แต่ต้องยอมรับว่า SQL select นั้นมีประโยชน์มากจริงๆ
ไว้ว่างๆ คงต้องศึกษามันให้ละเอียด

ขอบพระคุณทุกท่านที่ร่วมให้ความการะจ่าง
yanee
13 ก.พ. 46 เวลา 13:22:00 น. --> 202.183.228.67,
  
   
ขอแจมด้วยคน เป็นจริงดังเขาว่าครับคุณ yanee
ลองหันมาใช้คำสั่ง SQL ครับ แล้วจะติดใจไม่อยากจะใช้วิวเลยล่ะ ผมก็ได้ SQL มาจากเรียนครับ แต่เป็นSQL ของ Oracle ก็เลยเอามาประยุกต์เรื่องไวยากรณ์แต่ก็คล้ายกันมากครับ ถ้าสนใจส่งที่อยู่มาครับ จะถ่ายเอกสารเข้าเล่มไปให้ครับ แต่เก็บเงินปลายทางน่ะ ประมาณเล่มละ ร้อยกว่าบาทครับ อยากให้เพราะเห็นว่าคุณyanee ให้อะไรในเวปบอร์ดนี้ก็มากทีเดียว....
ผมถูกใจครับ duklim@hotmail.com หรือ duklim@chaiyo.com
nat
14 ก.พ. 46 เวลา 16:08:02 น. --> 202.183.196.69,
  
ขอเชิญร่วมตอบคำถามครับ
 
ผู้ตอบ :
รหัสผ่าน :
รูปภาพ :
คำตอบ :