กระทู้เก่าบอร์ด อ.Yeadram
1,493 5
URL.หัวข้อ /
URL
ผมสามารถรวมคำสั่ง2บรรทัดนี้ได้ไหมครับ
DoCmd.RunSQL "INSERT INTO ComputerSetDetail (ComputerID) SELECT ComputerID FROM ComputerSet WHERE ComputerID =" & Val(Me.ComputerID)
DoCmd.RunSQL "INSERT INTO ComputerSetDetail (ProductID) SELECT =" & Val(Me.Combo7.Column(0))
คือพอRUNแล้ว ค่า2ตัวนี้มันอยู่คนละเรดคอร์ดกันครับ อยากให้อยู่ในเรคคอร์ดเดียวกันครับ
ขอบคุณมากๆครับ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R08897
จะลองแล้วมาตอบครับ
ขอบคุณมากๆครับ
ขอบคุณมากๆครับ
3 @R08902
ผมลองนำ Update ไปใช้กับ Combo ตัวอื่น มันทำให้ Update ค่าจาก Combo ตัวล่าสุด ทั้งตารางเลยครับ
4 @R08903
มันขึ้นอยู่กับเงื่อนไขครับ ผมก็ไม่รู้จะช่วยยังไง
เพราะผมไม่รู้ว่า แต่ละเรคคอร์ดของคุณมีอะไรที่แตกต่าง ที่ผมเขียนไป ผมเดาเอาเองครับ ว่าแต่ละเรคคอร์ดจะมีค่าของ ComputerID ไม่ซ้ำกัน ผมก็ใส่เงื่อนไขให้โดยยึดเอา ComputerID เป็นหลัก
แต่ถ้าคุณบอกว่า มันอัพเดตทั้งตาราง
ก็แสดงว่าเงื่อนไขมันไม่ทำงาน หรือทำงานไม่ถูกต้อง คุณก็ต้องหาเงื่อนไขใหม่ครับ
จากคำถามและคำตอบของคุณ ไม่สามารถรู้ได้ว่าคุณมีอะไรบ้างในมือ โครงสร้าง และลักษณะการจัดการกับตารางของคุณเป็นอย่างไร ก็แก้ไขคำสั่งให้ไม่ได้หรอกครับ
เอาเป็นว่า มันมีปัญหาที่เงื่อนไขครับ ( Where ) คุณต้องไปประยุกต์จัดการต่อเอาเองครับ ว่าควรใช้ Where อย่างไร มันถึงจะระบุเรคคอร์ดได้ เพื่อจะให้มัน update เฉพาะเรคคอร์ดที่ต้องการเท่านั้น ห้าม update เรคคอร์ดอื่นๆ ที่ไม่เกี่ยวข้อง
เพราะผมไม่รู้ว่า แต่ละเรคคอร์ดของคุณมีอะไรที่แตกต่าง ที่ผมเขียนไป ผมเดาเอาเองครับ ว่าแต่ละเรคคอร์ดจะมีค่าของ ComputerID ไม่ซ้ำกัน ผมก็ใส่เงื่อนไขให้โดยยึดเอา ComputerID เป็นหลัก
แต่ถ้าคุณบอกว่า มันอัพเดตทั้งตาราง
ก็แสดงว่าเงื่อนไขมันไม่ทำงาน หรือทำงานไม่ถูกต้อง คุณก็ต้องหาเงื่อนไขใหม่ครับ
จากคำถามและคำตอบของคุณ ไม่สามารถรู้ได้ว่าคุณมีอะไรบ้างในมือ โครงสร้าง และลักษณะการจัดการกับตารางของคุณเป็นอย่างไร ก็แก้ไขคำสั่งให้ไม่ได้หรอกครับ
เอาเป็นว่า มันมีปัญหาที่เงื่อนไขครับ ( Where ) คุณต้องไปประยุกต์จัดการต่อเอาเองครับ ว่าควรใช้ Where อย่างไร มันถึงจะระบุเรคคอร์ดได้ เพื่อจะให้มัน update เฉพาะเรคคอร์ดที่ต้องการเท่านั้น ห้าม update เรคคอร์ดอื่นๆ ที่ไม่เกี่ยวข้อง
5 @R08904
ขอบคุณมากๆครับ
Time: 0.3600s
คำสั่งหลังต้องใช้ Update ครับ อย่าไป insert เพียงแต่เราต้องกำหนดเงื่อนไขให้มันเพื่อให้มัน update ในรายการเดียวกันกับคำสั่งแรก
คำสั่งหลังต้องเป็น
docmd.runsql "Update ComputerSetDetail set ProductID =" & Val(Me.Combo7.Column(0)) & " WHERE ComputerID = " & Val(Me.ComputerID)
---------------------------------------------
หรือหากต้องการรวมให้เป็นคำสั่งเดียวกัน ก็ต้องเขียน statement ของคำสั่งแรกยาวหน่อย
sq = "INSERT INTO ComputerSetDetail (ComputerID, ProductID) Values(SELECT ComputerID FROM ComputerSet WHERE ComputerID =" & Val(Me.ComputerID) & ", " & Val(Me.Combo7.Column(0)) & ");"
docmd.runsql sq