สมัครสมาชิก
 

ออกแบบตารางเก็บข้อมูลแบบประจำปี



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

13 พ.ย. 62 , 11:04:32
อ่าน 166 ครั้ง

thanapol.w

  • สมาชิกไท.Access
  • กระทู้: 10

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

สวัสดีครับ
ต้องการให้ช่วยออกแบบตารางสำหรับเก็บข้อมูลการเพาะปลูกของเกษตรกร   การทำนาแต่ละปี
โดยลักษณะของข้อมูลมีดั้งนี้

คอลัม 1 คือ รหัสแปลงนา
คอลัม 2 คือ รหัสของเกษตรกร
คอลัม 3 คือ ชื่อเกษตรกร
คอลัม 4 คื่อ เนื้อที่(ไร่)
คอลัม 5 คือ  สายพันธุ์ข้าวที่ปลูก
ซึ่งข้อมูลในตารางนี้เป็นข้อมูล 1 ปี ปัจจุบันเก็บใน Excel แยกชิตตามปี

ความต้องการ คือ ต้องการเก็บข้อมูลนี้ทุกฤดูการเพาะปลูกหรือทุกปี  ซึ่งแต่ละปีข้อมูลออกเปลี่ยนไป เช่น เนื้อที่แต่ละแปลงลดลง  เปลี่ยนสายพันธุ์ข้าว
ให้มีการข้อมูลการเปลี่ยนแปลงของข้อมูลแต่ละปีด้วยครับ  เช่น แปลง F837-P1 ปีนี้เนื้อที่ลดลงจากปีที่แล้ว 1 ไร่  เพราะอะไร

อาจจะอธิบายงงหน่อย นะครับ  สามารถสอบถามเพิ่มเติมได้ครับ

ขอขอบคุณทุกท่านล่วงหน้าครับ

 

13 พ.ย. 62 , 11:44:02
ตอบกลับ #1

nonc31

: ออกแบบตารางเก็บข้อมูลแบบประจำปี
« ตอบกลับ #1 เมื่อ: 13 พ.ย. 62 , 11:44:02 »
คงประมาณนี้ คร่าวๆ

 
โพสต์นี้ได้รับคำขอบคุณจาก: thanapol.w

13 พ.ย. 62 , 11:51:31
ตอบกลับ #2

thanapol.w

  • สมาชิกไท.Access
  • กระทู้: 10

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: ออกแบบตารางเก็บข้อมูลแบบประจำปี
« ตอบกลับ #2 เมื่อ: 13 พ.ย. 62 , 11:51:31 »
อยากได้ ตารางเทียบแต่ละปีครับ เช่นเนื้อที่ปี นี้   กับปี หน้า  ของแต่ละแปลง ลดลงกี่ไร่  เหตุผล ด้วยครับ

ปัจจุบันทำแบบนี้ครับ ถ้าย้ายมา Access ต้องทำเป็นแบบไหนครับ

 

14 พ.ย. 62 , 07:44:30
ตอบกลับ #3

PNR

: ออกแบบตารางเก็บข้อมูลแบบประจำปี
« ตอบกลับ #3 เมื่อ: 14 พ.ย. 62 , 07:44:30 »
ข้อมูลประจำปีมาจาก 2 ตารางใช่หรือเปล่าครับเช่น Area2018 กับ Area2019
สร้าง Union Query และ Group By Field ID กับ MEMBER_ID  ครับ

หรือการ Join Table เชื่อมความสัมพันธ์ของ Field ID และ MEMBER_ID ของสองตารางเข้าด้วยกันและดึง Area...... ของทั้งสองปีลงมา
และสร้าง Field ลบจำนวนแปลงขึ้นมา  /  ส่วนของ remake ใช้การดึงค่าที่มีมาแสดงทั้งสองอย่างได้
เช่น area2018 Remark1 ระบุ  ขุดบ่อปลา
      area2019 Remark2 ระบุ  ตัดถนนเข้าสวน

ตรงField Remark เราก็ระบุเช่น SRemark:Remark1 & "," & Remark2
ข้อมูลที่แสดงจะได้เป็น ขุดบ่อปลา,ตัดถนนเข้าสวน เป็นต้น
หรือถ้าจะแสดง remark แค่ปีล่าสุดเท่านั้นก็ดึง remark2 มาแสดงได้เลย

หรือถ้าไม่อยาก Fix ปีทั้งสองไว้แบบตายตัว จะสร้างฟอร์มกำหนดปีที่จะแสดงข้อมูลก็ทำได้เหมือนกันครับ
โดยใช้การUnion Query ข้อมูลทั้ง 2 ตารางเข้าด้วยกันและกรองข้อมูลจาก Control ระบุปีมาก่อนแล้วสร้างคิวรี่ย่อยในการแสดงข้อมูล
« แก้ไขครั้งสุดท้าย: 14 พ.ย. 62 , 07:56:35 โดย PNR »
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: thanapol.w

14 พ.ย. 62 , 09:24:27
ตอบกลับ #4

thanapol.w

  • สมาชิกไท.Access
  • กระทู้: 10

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: ออกแบบตารางเก็บข้อมูลแบบประจำปี
« ตอบกลับ #4 เมื่อ: 14 พ.ย. 62 , 09:24:27 »
ข้อมูลประจำปีมาจาก 2 ตารางใช่หรือเปล่าครับเช่น Area2018 กับ Area2019
สร้าง Union Query และ Group By Field ID กับ MEMBER_ID  ครับ

หรือการ Join Table เชื่อมความสัมพันธ์ของ Field ID และ MEMBER_ID ของสองตารางเข้าด้วยกันและดึง Area...... ของทั้งสองปีลงมา
และสร้าง Field ลบจำนวนแปลงขึ้นมา  /  ส่วนของ remake ใช้การดึงค่าที่มีมาแสดงทั้งสองอย่างได้
เช่น area2018 Remark1 ระบุ  ขุดบ่อปลา
      area2019 Remark2 ระบุ  ตัดถนนเข้าสวน

ตรงField Remark เราก็ระบุเช่น SRemark:Remark1 & "," & Remark2
ข้อมูลที่แสดงจะได้เป็น ขุดบ่อปลา,ตัดถนนเข้าสวน เป็นต้น
หรือถ้าจะแสดง remark แค่ปีล่าสุดเท่านั้นก็ดึง remark2 มาแสดงได้เลย

หรือถ้าไม่อยาก Fix ปีทั้งสองไว้แบบตายตัว จะสร้างฟอร์มกำหนดปีที่จะแสดงข้อมูลก็ทำได้เหมือนกันครับ
โดยใช้การUnion Query ข้อมูลทั้ง 2 ตารางเข้าด้วยกันและกรองข้อมูลจาก Control ระบุปีมาก่อนแล้วสร้างคิวรี่ย่อยในการแสดงข้อมูล

อันนี้เป็นแบบถ้าแต่ละปี แยกตารางกันใช่ไหมครับ แล้วถ้าทำตารางแปลงนาเป็น 1 ตาราง แล้วใน field ฤดูกาลผลิตลง แบบความคิดเห็นที่ 2  จะต้องทำเทียบเนื้อที่อย่างไร
- และอีก 1 อย่าง คือถ้าทำตารางเดียว จะใช้ อะไรเป็น คีย์หลัก เพราะรหัสแปลงก็จะซ้ำกัน

 

14 พ.ย. 62 , 11:01:21
ตอบกลับ #5

PNR

: ออกแบบตารางเก็บข้อมูลแบบประจำปี
« ตอบกลับ #5 เมื่อ: 14 พ.ย. 62 , 11:01:21 »
อ้างถึง
ถ้าทำตารางแปลงนาเป็น 1 ตาราง แล้วใน field ฤดูกาลผลิตลง แบบความคิดเห็นที่ 2  จะต้องทำเทียบเนื้อที่อย่างไร
- และอีก 1 อย่าง คือถ้าทำตารางเดียว จะใช้ อะไรเป็น คีย์หลัก เพราะรหัสแปลงก็จะซ้ำกัน

ถ้าสังเกตุดีๆ ข้อมูล FieldID MemberID ตัวเดียวกัน ใช้ GroupBy ได้เลย ถ้ามันเหมือนกันก็จะเหลืออันเดียวแล้วครับ

ส่่งตัวอย่างมาทางไลน์ครับผมทำให้
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: thanapol.w


บอร์ดเรียนรู้ Access สำหรับคนไทย