ต้องการสร้างปุ่มลบ Table ครับ



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

12 พ.ค. 61 , 22:20:54
อ่าน 526 ครั้ง

Eik Q Sang

ต้องการสร้างปุ่มลบ Table ครับ
« เมื่อ: 12 พ.ค. 61 , 22:20:54 »
ผมสร้างฟอร์มนำเข้าไฟล์ Excel โดยฟอร์มนี้จะเลือกไฟล์ที่เป็น Excel ก่อน แล้วจึงกดปุ่ม Import ไฟล์เข้ามา ซึ่งไฟล์ Excel นี้เป็นไฟล์ที่นำมาทำข้อมูลประจำ ดังนั้น หากเราเผลอไปกดปุ่ม Import ระบบจะสร้างชื่อ Table นั้นซ้ำ เช่น หลังจากกดปุ่ม Import ไฟล์จะถูกสร้างเป็น Table ชื่อว่า tblData ถ้ากดปุ่มนำเข้าซ้ำจะมีชื่อเทเบิ้ลมาเพิ่มเป็น tblData_1
คำถาม คือ ผมต้องการจะสร้างปุ่มไว้ลบเทเบิ้ลที่ขึ้นต้นด้วย tblData ทั้งหมด เพราะหากมีไฟล์ tblData_1 หรือ tblData_2 ไปเรื่อยๆ ผมจะได้ลบเทเบิ้ลนี้ทีเดียว จะมีวิธีการอย่างไรบ้างครับ ขอบคุณครับ

 

12 พ.ค. 61 , 23:26:48
ตอบกลับ #1

สันติสุข

> ต้องการสร้างปุ่มลบ Table ครับ
« ตอบกลับ #1 เมื่อ: 12 พ.ค. 61 , 23:26:48 »
ไม่ต้องไปนั่งไล่ลบทุกตัวที่ขึ้นต้นด้วย tblData หรอกครับ ลบแค่ตัวเดียวก่อนทำ Import ก็เพียงพอแล้ว   โดยที่ถ้าไม่มีเทเบิล tblData มาก่อน หรือว่าลบ tblData ได้ตามปกติ โปรแกรมก็จะ Import ไฟล์ Excel เข้ามา แต่ถ้าลบเทเบิลไม่ได้ ก็จะแสดงข้อผิดพลาดออกมาให้เห็นแทน

On Error Resume Next
DoCmd.DeleteObject acTable, "tblData"
If Err.Number > 0 and Err.Number <> 7874 Then
   Msgbox "ลบเทเบิล tblData ไม่ได้ เกิดข้อผิดพลาดรหัส " & Str$(Err.Number) & " " & Err.Description
   Exit Sub หรือ Exit Function
End If
On Error Goto 0
DoCmd.TransferSpreadsheet acImport  ...  <<< เข้าใจว่านี่คงเป็นคำสั่งเดิมในการนำเข้าไฟล์ Excel

« แก้ไขครั้งสุดท้าย: 13 พ.ค. 61 , 01:19:05 โดย สันติสุข »
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

13 พ.ค. 61 , 03:47:39
ตอบกลับ #2

Eik Q Sang

> > ต้องการสร้างปุ่มลบ Table ครับ
« ตอบกลับ #2 เมื่อ: 13 พ.ค. 61 , 03:47:39 »
ไม่ต้องไปนั่งไล่ลบทุกตัวที่ขึ้นต้นด้วย tblData หรอกครับ ลบแค่ตัวเดียวก่อนทำ Import ก็เพียงพอแล้ว   โดยที่ถ้าไม่มีเทเบิล tblData มาก่อน หรือว่าลบ tblData ได้ตามปกติ โปรแกรมก็จะ Import ไฟล์ Excel เข้ามา แต่ถ้าลบเทเบิลไม่ได้ ก็จะแสดงข้อผิดพลาดออกมาให้เห็นแทน

On Error Resume Next
DoCmd.DeleteObject acTable, "tblData"
If Err.Number > 0 and Err.Number <> 7874 Then
   Msgbox "ลบเทเบิล tblData ไม่ได้ เกิดข้อผิดพลาดรหัส " & Str$(Err.Number) & " " & Err.Description
   Exit Sub หรือ Exit Function
End If
On Error Goto 0
DoCmd.TransferSpreadsheet acImport  ...  <<< เข้าใจว่านี่คงเป็นคำสั่งเดิมในการนำเข้าไฟล์ Excel

ขอบคุณมากครับอาจารย์

 


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