สอบถามการอัพโหลดไฟล์ Excel ใน MS Access



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

26 เม.ย. 64 , 09:40:00
ตอบกลับ #16

mtaccess

: สอบถามการอัพโหลดไฟล์ Excel ใน MS Access
« ตอบกลับ #16 เมื่อ: 26 เม.ย. 64 , 09:40:00 »
โค๊ด Addnew
โค๊ด: [Select]
AddnewSQL = "INSERT INTO dbo_TestTP ( CardID, TPNo, TPIssueDate, TPExpireDate ) " _
& "SELECT dbo_TempImportTP.CardID, dbo_TempImportTP.TPNo, dbo_TempImportTP.TPIssueDate, dbo_TempImportTP.TPExpireDate " _
& "FROM dbo_TempImportTP WHERE (((dbo_TempImportTP.CardID) Not In (select CardID from [dbo_TestTP])));"

โค๊ด Update
โค๊ด: [Select]
UpdateSQL = "UPDATE dbo_TestTP INNER JOIN dbo_TempImportTP ON dbo_TestTP.CardID = " _
& "dbo_TempImportTP.CardID SET dbo_TestTP.TPNo = [dbo_TempImportTP].[TPNo], dbo_TestTP.TPIssueDate = " _
& "[dbo_TempImportTP].[TPIssueDate], dbo_TestTP.TPExpireDate = [dbo_TempImportTP].[TPExpireDate] " _
& "WHERE (((dbo_TestTP.TPNo)<>[dbo_TempImportTP].[TPNo]) AND ((dbo_TestTP.CardID)=[dbo_TempImportTP].[CardID])) " _
& "OR (((dbo_TestTP.TPIssueDate)<>[dbo_TempImportTP].[TPIssueDate])) OR (((dbo_TestTP.TPExpireDate)<>[dbo_TempImportTP].[TPExpireDate]));"

ปรับเป็นแบบนี้นะครับ เราจะไม่ใช้ And เราจะใช้ OR นะครับ
เช็คฟิลล์ TP7No เพื่อความถูกต้องนะครับว่าที่ถูกต้องคือ TP7No  หรือ TPNo

ขอบคุณมากๆนะคะ เดี๋ยวจะลองดูนะคะ

 

26 เม.ย. 64 , 12:20:13
ตอบกลับ #17

mtaccess

: สอบถามการอัพโหลดไฟล์ Excel ใน MS Access
« ตอบกลับ #17 เมื่อ: 26 เม.ย. 64 , 12:20:13 »
ทำได้แล้วค่ะ ขอบคุณมากๆนะคะ

 

26 เม.ย. 64 , 14:33:57
ตอบกลับ #18

mtaccess

: สอบถามการอัพโหลดไฟล์ Excel ใน MS Access
« ตอบกลับ #18 เมื่อ: 26 เม.ย. 64 , 14:33:57 »
โค๊ด Addnew
โค๊ด: [Select]
AddnewSQL = "INSERT INTO dbo_TestTP ( CardID, TPNo, TPIssueDate, TPExpireDate ) " _
& "SELECT dbo_TempImportTP.CardID, dbo_TempImportTP.TPNo, dbo_TempImportTP.TPIssueDate, dbo_TempImportTP.TPExpireDate " _
& "FROM dbo_TempImportTP WHERE (((dbo_TempImportTP.CardID) Not In (select CardID from [dbo_TestTP])));"

โค๊ด Update
โค๊ด: [Select]
UpdateSQL = "UPDATE dbo_TestTP INNER JOIN dbo_TempImportTP ON dbo_TestTP.CardID = " _
& "dbo_TempImportTP.CardID SET dbo_TestTP.TPNo = [dbo_TempImportTP].[TPNo], dbo_TestTP.TPIssueDate = " _
& "[dbo_TempImportTP].[TPIssueDate], dbo_TestTP.TPExpireDate = [dbo_TempImportTP].[TPExpireDate] " _
& "WHERE (((dbo_TestTP.TPNo)<>[dbo_TempImportTP].[TPNo]) AND ((dbo_TestTP.CardID)=[dbo_TempImportTP].[CardID])) " _
& "OR (((dbo_TestTP.TPIssueDate)<>[dbo_TempImportTP].[TPIssueDate])) OR (((dbo_TestTP.TPExpireDate)<>[dbo_TempImportTP].[TPExpireDate]));"

ปรับเป็นแบบนี้นะครับ เราจะไม่ใช้ And เราจะใช้ OR นะครับ
เช็คฟิลล์ TP7No เพื่อความถูกต้องนะครับว่าที่ถูกต้องคือ TP7No  หรือ TPNo


ติดปัญหาตอนนำไปใช้กับ  Table จริงที่มีการบันทึกข้อมูลอยู่แล้ว มีข้อมูล ณ ตอนนี้ประมาณ 13,000 Record ค่ะ เดิมที่ให้บันทึกโดยการคีย์ทีละคน
ทดสอบอัพโหลดด้วย Table ที่สร้างใหม่ อัพโหลดได้ พอแก้เป็นชื่อ Table จริงที่ใช้งานอยู่ กับอัพโหลดเข้าไม่ได้เลยค่ะ ขึ้นจำนวนเป็น 0 ลองตรวจสอบข้อมูลก็ไม่ซ้ำ งงมากค่ะ แต่ติดตรงที่ Table เก่ามีการ Import Table ข้อมูลที่เคยเป็น MS access ไปเป็น SQL server รบกวนแนะนำอีกทีนะคะ ขอบคุณค่ะ

 

26 เม.ย. 64 , 15:02:02
ตอบกลับ #19

PNR

: สอบถามการอัพโหลดไฟล์ Excel ใน MS Access
« ตอบกลับ #19 เมื่อ: 26 เม.ย. 64 , 15:02:02 »
ผมไม่แน่ใจเหมือนกันครับ ถ้าตารางใหม่ addnew ได้ปกติ
ข้อสันนิษฐาน
   1.การกำหนดประเภทของข้อมูลว่าเหมือนกันหรือไม่(ดูจากตารางใหม่ที่เพิ่งสร้างและเพิ่มได้)
      เพราะบางครั้งเกิดปัญหาการแปลงชนิดข้อมูลไม่ถูกต้องทำให้ไม่สามารถเพิ่มใหม่ได้
   2.ข้อมูลมี primary key แล้วหรือไม่
   3.เช็คการกำหนดค่าซ้ำ(ดูจากตัวที่เพิ่มได้ก็ได้ครัข)

รอน้าๆ ผู้ที่ใช้งาน SQL SERVER โดยตรงมาแชร์ประสบการณ์ตรงส่วนนี้
  :yuush:
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

26 เม.ย. 64 , 16:16:21
ตอบกลับ #20

mtaccess

: สอบถามการอัพโหลดไฟล์ Excel ใน MS Access
« ตอบกลับ #20 เมื่อ: 26 เม.ย. 64 , 16:16:21 »
ผมไม่แน่ใจเหมือนกันครับ ถ้าตารางใหม่ addnew ได้ปกติ
ข้อสันนิษฐาน
   1.การกำหนดประเภทของข้อมูลว่าเหมือนกันหรือไม่(ดูจากตารางใหม่ที่เพิ่งสร้างและเพิ่มได้)
      เพราะบางครั้งเกิดปัญหาการแปลงชนิดข้อมูลไม่ถูกต้องทำให้ไม่สามารถเพิ่มใหม่ได้
   2.ข้อมูลมี primary key แล้วหรือไม่
   3.เช็คการกำหนดค่าซ้ำ(ดูจากตัวที่เพิ่มได้ก็ได้ครัข)

รอน้าๆ ผู้ที่ใช้งาน SQL SERVER โดยตรงมาแชร์ประสบการณ์ตรงส่วนนี้
  :yuush:

ลอกและ Copy ตัวเก่ามาเลยค่ะ กำหนดค่าต่างๆเหมือนกันหมดเลย

 

26 เม.ย. 64 , 17:16:54
ตอบกลับ #21

mtaccess

: สอบถามการอัพโหลดไฟล์ Excel ใน MS Access
« ตอบกลับ #21 เมื่อ: 26 เม.ย. 64 , 17:16:54 »
แก้ปัญหาได้แล้วค่ะ โดยการสร้าง Table ใหม่แล้ว Import ข้อมูลทั้งหมดจาก Table เก่าเข้ามาค่ะ ขอบคุณทุกการแนะนำและวิธีการช่วยเหลือต่างๆนะคะ ขอบคุณมากๆค่ะ

 


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