สอบถามการ Export to excel จากข้อมูลที่เราค้นหาใน continuous form สามารถทำได้ไหม



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

03 ส.ค. 64 , 11:22:59
อ่าน 188 ครั้ง

001Jetnipit

ผมสร้างปุ่ม Export to excel จากคนที่สอนใน Youtube  แต่มันสามารถดึงมาจากตารางหรือคิวรี่เท่านั้นซึ่งมันจะมาทั้งหมดเลยครับ เลยอยากสอบถามว่า ถ้าเราจะ Export จากข้อมูลที่เราค้นหามา ไม่ทราบว่าต้องทำอย่างไรครับ




โค้ดปุ่ม Export ครับ

 

03 ส.ค. 64 , 13:24:08
ตอบกลับ #1

PNR

Dim strOutFile As String
On Error Resume Next
Me.Dirty = False
   CurrentDb.QueryDefs("qryPTT").sql = Me.RecordSource    'นำ RecordSource ของฟอร์มนิแหละครับมาใช้
strOutFile = "E:\Test.xlsx" 'ตำแหน่งที่ให้นำไฟล์ Export ไปวาง
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "qryPTT", strOutFile, False



โดย ผมได้นำ ข้อมูลจากตาราง PTT ทั้งหมด มาสร้าง Query ชื่อ QryPTT แล้วใช้ QueryDefs
Time to stop for me  :dizzy:
 

03 ส.ค. 64 , 14:21:57
ตอบกลับ #2

001Jetnipit

โดย ผมได้นำ ข้อมูลจากตาราง PTT ทั้งหมด มาสร้าง Query ชื่อ QryPTT แล้วใช้ QueryDefs

คือ Form นี้ผมใช้ Query ดึงข้อมูลมาจาก Ptt แต่เอามาแค่บางฟิล แล้วก็สร้างฟิลใหม่ใน Query เพิ่มที่จะคำนวณเวลามาโชว์ครับ

ผมลองทำตามโค้ดพี่พอกดปุ่ม มันไม่มีอะไนเกิดขึ้นครับ ไม่ทราบว่าเป็นเพราะว่าผมไม่ได้เอาข้อมูลทุกฟิลจาก Ptt มาใส่ ใน Query หรือเปล่าครับ






 

03 ส.ค. 64 , 14:44:18
ตอบกลับ #3

PNR

ลองเช็ค ไปทาง Floder testProject แล้วใช่ไหมครับ ว่าไม่มีไฟล์ excel ที่ export มา
Time to stop for me  :dizzy:
 

03 ส.ค. 64 , 14:49:48
ตอบกลับ #4

001Jetnipit

ลองเช็ค ไปทาง Floder testProject แล้วใช่ไหมครับ ว่าไม่มีไฟล์ excel ที่ export มา

เพิ่งลบไปตะกี้ครับ แล้วพอเปิด Form ใหม่มันขึ้นแบบนี้ครับ


 

03 ส.ค. 64 , 15:16:35
ตอบกลับ #5

PNR

ส่ง รหัส anydesk มาทางข้อความหน่อยครับ
ผมรีโมทไปแก้ให้
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

03 ส.ค. 64 , 15:43:02
ตอบกลับ #6

001Jetnipit

ส่ง รหัส anydesk มาทางข้อความหน่อยครับ
ผมรีโมทไปแก้ให้

ส่งข้อความไปแล้วครับ

 

04 ส.ค. 64 , 09:52:03
ตอบกลับ #7

001Jetnipit

พี่่ครับคือมันยังติดปัญหาอยู่ครับ ที่เราทำได้คือมันจะมาตามที่เรากรองข้อมูล แต่มันมาทุกฟิลครับผมต้องการแค่บางฟิล

- ผมอยากได้แค่บางฟิลเลยสร้าง Query ใหม่เอาแค่ฟิลที่ต้องการ (ID, Name, Ptt1_Start, Ptt1_Exp, Department)
- ใน Sub ที่ใช้ไว้ค้นหา ให้ดึงการค้นมามาจาก Table แทน (วิธีนี้จะช่วยให้โค้ดไม่ Error ไปทับกับโค้ด Export)






ปัญหาคือ
1.พอผมกด Export รายชื่อมันมาตามที่เรากรองครับ แต่ Query ผมถูกเขียนทับเหมือนเป็น Table เลย คือหลังจากกด Export เอามาทุกฟิลมาใส่ใน Query ผมเองเลยครับ
2.เมื่อ Sub ดึงข้อมูลมาจาก Table ในการค้นหาผมจึงไม่สามารถค้นหาอายุได้ครับ เพราะผมมาทำใน Query โดยการสร้างฟิลอายุขึ้นมาใหม่ ปัญหาคือมันอาจถูกเขียนทับจากโค้ด Export กับเวลากด Clear การค้นหาใน Query มันไม่ Clear การกรองให้ครับ มันจะยึดตามการ Export ล่าสุด(เช่น Export การตลาด ใน Query ก็จะมีแค่ Department การตลาด) จึงทำให้ถ้าหากเราเอา Combobox อายุไปอิงกับข้อมูลในQuery ข้อมูลมันก็จะมาแค่ที่มีใน Query เพราะมันไม่ได้ Clear การกรองออกครับ



เลยอยากสอบถามพี่ว่า ปัญหามันอยู่ที่อะไรแล้วเราต้องแก้ยังไงหรอครับ ตอนนี้โหดร้ายสุดคือมันเอาข้อมูลตาม Table มาเขียนทับใน Query ครับ   :dizzy: :dizzy:

 

04 ส.ค. 64 , 10:02:53
ตอบกลับ #8

PNR

ตอบ ข้อความผมด้วยครับ ผมส่ง ID LINE ไปให้แล้ว

Time to stop for me  :dizzy:
 

04 ส.ค. 64 , 10:07:57
ตอบกลับ #9

001Jetnipit

ตอบ ข้อความผมด้วยครับ ผมส่ง ID LINE ไปให้แล้ว

Inbox  ไปแล้วครับ

 


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