การเขียนโค้ดตรวจสอบข้อมูล และการออกแบบฐานข้อมูล
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 253   2
URL.หัวข้อ / URL
การเขียนโค้ดตรวจสอบข้อมูล และการออกแบบฐานข้อมูล

ผมอยากเรียนถามอาจารย์สภาพดังนี้ครับ
1. จากไฟล์ที่ผมจับเอาฟอร์มที่จะใช้เก็บข้อมูลตัวอย่างของโคแต่ละตัวที่อยู่ในฐานข้อมูล สิ่งที่ผมอยากจะได้ คือ ต้องการตรวจสอบว่าวันที่เข้าเยี่ยมฟาร์มครั้งสุดท้าย โคตัวที่อยู่ในเรคอร์ดปัจจุบันนี้ยังอยู่ในฟาร์ม หรือไม่ ถ้าหาก พบตรวจว่า ในช่อง Is in the Farm = Y เมื่อกดปุ่ม Add New Sample ก็จะยอมให้มีการเพิ่มเรคอร์ดใหม่ ได้ทันที แต่ถ้าหาก Is in the Farm= N ก็จะแสดงข้อความว่า โคตัวนี้ไม่ได้อยู่ในฟาร์มแล้ว คำถามที่อยากรบกวนอาจารย์ คือ ผมจะเขียนโค้ดตรวจสอบให้กับปุ่ม Add New Sample อย่างไร จึงจะได้ผลลัพท์อย่างที่ว่ามาครับ

2. ฐานข้อมูลที่ผมกำลังสร้างจะเป็นการเก็บข้อมูลโคที่มีการเปลี่ยนแปลงได้ตลอดเวลา ทุกครั้งที่ผมเข้าไปในฟาร์ม การเข้าเยี่ยมจะมีหลายครั้ง และมีการเจาะเลือดเก็บตัวอย่างของโคแต่ละตัวด้วย งานแรกที่ต้องทำคือ ตรวจสอบว่าโคทุกตัวที่ยังอยู่ในฟาร์ม เมื่อเข้าเยี่ยมฟาร์มครั้งที่ผ่านมา ยังคงอยู่ในฟาร์ม หรือไม่ และมีโคตัวไหนที่เพิ่มเข้ามาบ้าง ไม่ว่าจะเป็นเกิดในฟาร์ม หรือ ซื อเข้ามา โดยใช้ ฟิลด์ IsintheFarm ที่มีค่า Y และ N เป็นตัวแยก พร้อมกับวันเยี่ยมฟาร์ม ในกรณีอย่างนี้ ตามหลักการสร้างฐานข้อมูลที่ถูกต้อง ผมควรจะเก็บโคที่มีสถานภาพ Y และ N ไว้ในตารางเดียว หรือ แยกกันคนละตาราง แต่โครงสร้างตารางเหมือนกันครับ พอโคที่เปลี่ยนสถานภาพจาก Y เป็น N ก็ให้มีการอัพเดทข้อมูลในแต่ละตารางอีกที ผมอยากจะขอความเห็นจากอาจารย์ ว่าน่าจะทำอย่างไรดีครับ

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

1 @R04196
1. ถ้าออกแบบข้อมูลแบบ One-To-Many ก็ลองใช้ IN เข้าช่วย โดยการสร้างเป็น Query เพื่อนำไปเป็น Record Source ให้กับ Main Form ครับ

Select * From ตารางที่สร้างเป็น MainForm Where ID IN (Select Max([DateOfVisit]) From ตารางที่สร้างเป็นSubForm Where [IsInTheFarm]='Y' Group By ID);

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