ขอคำแนะนำ วิธีนำ record จาก table A ไป able B



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

06 ต.ค. 63 , 21:40:29
อ่าน 258 ครั้ง

kunlek

มีตาราง A และตาราง ฺB เหมือนกัน แต่ตาราง B ขาดรายการบิลที่ป้อนในเดือนมีนาคม 63(date_sale) ทั้งเดือน เราจะใช้ query แบบ append ได้ไหมครับ และ criteria จะระบุช่วงเดือนอย่างไร?

 

07 ต.ค. 63 , 08:31:50
ตอบกลับ #1

PNR

: ขอคำแนะนำ วิธีนำ record จาก table A ไป able B
« ตอบกลับ #1 เมื่อ: 07 ต.ค. 63 , 08:31:50 »
มีตาราง A และตาราง ฺB เหมือนกัน แต่ตาราง B ขาดรายการบิลที่ป้อนในเดือนมีนาคม 63(date_sale) ทั้งเดือน เราจะใช้ query แบบ append ได้ไหมครับ และ criteria จะระบุช่วงเดือนอย่างไร?

ใช้Append ได้ครับแต่เงื่อนไขก็คือ ที่ Field date_sale ของตาราง A
โดยใช้การระบุช่วงเดือนโดยใช้ Between

สมมุติชื่อฟอร์ม ชื่อ FormName
มี textbox 2 ตัวชื่อ DateStart และ DateEnd เพื่อใช้ในการระบุวันที่เริ่มต้น และวันที่สิ้นสุด

สร้างปุ่มขึ้นมา 1 ปุ่ม ใส่โค้ดนี้เข้าไป

Dim strSQL As String
strSQL = "INSERT INTO TableB SELECT TableA.* FROM TableA  WHERE TableA.date_sale Between [forms]![FormName]![DateStart] And [forms]![FormName]![DateEnd];"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
« แก้ไขครั้งสุดท้าย: 07 ต.ค. 63 , 08:45:32 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

13 ต.ค. 63 , 19:35:41
ตอบกลับ #2

kunlek

: ขอคำแนะนำ วิธีนำ record จาก table A ไป able B
« ตอบกลับ #2 เมื่อ: 13 ต.ค. 63 , 19:35:41 »
เนื่องจาก table A และ Table B อยู่คนละ file.mdb ครับ 
ถ้า Table B เป็น table ที่อยู่ d:\MM.mdb  เราจะอ้างอิงเขียนตรง INSERT INTO table b จะเขียนได้อย่างไรครับ

 

14 ต.ค. 63 , 08:25:26
ตอบกลับ #3

PNR

: ขอคำแนะนำ วิธีนำ record จาก table A ไป able B
« ตอบกลับ #3 เมื่อ: 14 ต.ค. 63 , 08:25:26 »
เนื่องจาก table A และ Table B อยู่คนละ file.mdb ครับ 
ถ้า Table B เป็น table ที่อยู่ d:\MM.mdb  เราจะอ้างอิงเขียนตรง INSERT INTO table b จะเขียนได้อย่างไรครับ


แบบนี้ครับ
โค๊ด: [Select]
Dim strSQL As String
strSQL = "INSERT INTO TableB IN 'D:\mm.mdb' SELECT TableA.* FROM TableA  WHERE TableA.date_sale Between [forms]![FormName]![DateStart] And [forms]![FormName]![DateEnd];"

DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 

16 ต.ค. 63 , 22:50:32
ตอบกลับ #4

kunlek

: ขอคำแนะนำ วิธีนำ record จาก table A ไป able B
« ตอบกลับ #4 เมื่อ: 16 ต.ค. 63 , 22:50:32 »
Private Sub Command0_DblClick(Cancel As Integer)
Dim strSQL As String
strSQL = "INSERT INTO voucher_s1 SELECT voucher_s.* FROM WHERE (((voucher_s1.voucher_s_id)=[ãÊèàÅ¢·ÕèºÔÅ]));"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End Sub


***ทำไม ติด debug ครับ

 

16 ต.ค. 63 , 22:57:02
ตอบกลับ #5

kunlek

: ขอคำแนะนำ วิธีนำ record จาก table A ไป able B
« ตอบกลับ #5 เมื่อ: 16 ต.ค. 63 , 22:57:02 »
runtime error '3070'
The Microsoft Access database engine does not recognize'voucher_s.*' as a valid field name or expression

 

16 ต.ค. 63 , 23:50:08
ตอบกลับ #6

kunlek

ทำไมโอนพร้อมกัน ไม่ได้
« ตอบกลับ #6 เมื่อ: 16 ต.ค. 63 , 23:50:08 »
ต้องการโอนข้อมูล ตาราง Voucher_s กับ Voucher_s1 และ Fsale กับ Fsale1  ถ้าใส่ code นี้ จะโอนไปเฉพาะตาราง Fsale แต่ถ้าโอนทีละตารางโอนได้ครับ ขอคำแนะนำครับท่าน.....

Private Sub Command0_DblClick(Cancel As Integer)
Dim strSQL As String
strSQL = "INSERT INTO voucher_s  SELECT voucher_s1.* FROM voucher_s1 WHERE (((voucher_s1.voucher_s_id)=[เลขที่บิล]));"
strSQL = "INSERT INTO fsale  SELECT fsale1.* FROM fsale1 WHERE (((fsale1.voucher_s_id)=[เลขที่บิล]));"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End Sub

 

18 ต.ค. 63 , 09:24:18
ตอบกลับ #7

PNR

: ขอคำแนะนำ วิธีนำ record จาก table A ไป able B
« ตอบกลับ #7 เมื่อ: 18 ต.ค. 63 , 09:24:18 »
Private Sub Command0_DblClick(Cancel As Integer)
Dim strSQL As String
strSQL = "INSERT INTO voucher_s1 SELECT voucher_s.* FROM WHERE (((voucher_s1.voucher_s_id)=[ãÊèàÅ¢·ÕèºÔÅ]));"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End Sub



***ทำไม ติด debug ครับ
voucher_s.* FROM ...... WHERE
หลัง From ต้องมีชื่อตารางหรือคิวรี
« แก้ไขครั้งสุดท้าย: 19 ต.ค. 63 , 08:43:28 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 


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