แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Un

หน้า: 1 2 3 4 [5] 6
73
ปัญหานี้น่าจะเหมือนกับที่ผมเคยใช้ Tab Delimit เป็นตัวแบ่งข้อมูลใน Text file ที่ส่งออกทำให้การนำเข้าข้อมูลข้อไฟล์นี้ผิดพลาดไป
ปัจจุบันนี้ผมเปลี่ยนมาใช้เครื่องหมายคอมม่า (,) แทนยังไม่เจอปัญหาดังกล่าวเลย

ส่วนการเขียนโค๊ดเพื่อส่งออกข้อมูลยังมีความต้องการให้แนะนำอีกหรือเปล่าครับ
หากต้องการจะทำตัวอย่างเพื่อโพสประกอบคำแนะนำ เพราะมันมีเทคนิคประกอบการเขียนโค๊ดนิดหนึ่ง ซึ่งต้องใช้รูปประกอบด้วยครับ เพื่อความเข้าใจง่าย
โพสต์นี้ได้รับคำขอบคุณจาก: Un

74
ห้อง Ms Access อื่นๆ / Link SQL Server
« เมื่อ: 28 ม.ค. 62 , 15:51:06 »
หากต้องเชื่อมฐานข้อมูลจาก SQL Server โดยตัว Front End เป็น MS-Access

หลักการมีดังนี้ครับ
- ขั้นตอนที่ 1 สร้าง ODBC เพื่อ Connect ไปยัง MySQL Server
- ขั้นตอนที่ 2 ทำการ Link Table เข้ามาในไฟล์ Front End ที่กำลังใช้งานอยู่
- ขั้นตอนที่ 3 ในหน้าเขียนโค๊ด VBA ให้ติ๊กเลือก Tools --> Reference --> Microsoft DAO 3.6 Object libray

เมื่อต้องการจะจัดการกับข้อมูลใน Table สามารถใช้รูปแบบดังนี้

    Dim rst1, rst2, rst3, rst4, rst5, rst6, rst7, rst8 As DAO.Recordset

    Dim dbs As Database
    Set dbs = CurrentDb()
   
    Set rst1 = dbs.OpenRecordset("SELECT * from Table1", dbOpenDynaset, dbSeeChanges)
    'Add
    rst1.addnew
    rst1!Filed1 = "Test"
    rst1.update

    'Edit
    rst1.edit
    rst1!Filed1 = "Test"
    rst1.update

    'Del
    rst1.Delete

    rst1.close
    Set rst1 = nothing

จะเห็นว่า มีรูปแบบคำสั่ง    ", dbOpenDynaset, dbSeeChanges)   ต่อท้ายเพิ่มขึ้นมานิดหน่อย

ขอขอบคุณความรู้เกี่ยวกับ MS-Access จาก อ. สุภาพ ไชยา

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

75
ห้อง Ms Access อื่นๆ / : Link MySQL
« เมื่อ: 28 ม.ค. 62 , 14:27:21 »
ก็ฝากไว้เผื่อจะสามารถช่วยให้มิตรรักแฟนเพลงท่านหนึ่งท่านใด ก้าวพ้นปัญหาที่กำลังแก้อยู่ได้เร็วขึ้น
โพสต์นี้ได้รับคำขอบคุณจาก: Un

76
Line Feed มาจาก Co_unitdrug ครับ เข้าไปแก้ที่นี่ครับ ง่ายกว่าเยอะ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

77
ที่ฟิลด์นี้มี Line Feed ซ่อนอยู่ครับ ลองเปิดอยู่ที่ Text File แล้วกดลูกศรขวาไล่ไปทีละตัวอักษรดู

หลังคำว่า เม็ด ขวด จะกดแล้วไม่ไปไหน 1 เคาะ

(แก้ไข 1) ปล. ไม่แน่ใจว่าเป็น Line Feed หรือ Zero Space นะครับ หาเอง

(แก้ไข 2) มันคือ Line Feed
โพสต์นี้ได้รับคำขอบคุณจาก: Un

78
จะตอบไงดี
เกี่ยวแน่นอนครับ

คือผมทดสอบแล้ว ครั้งล่าสุด หลังจากพบว่าคุณกำหนดเป็น None ตอน Export เลยสามารถทำให้เกิดปัญหาแบบเดียวกับที่คุณเจอได้แล้ว
และการทดสอบก่อนหน้า ตอน Export ใช้ "" แต่ตอน Import ก็ใช้ "" ก็ทำได้อย่างไม่มีปัญหา ข้อมูลมาครบไม่ขึ้นเรคอร์ดใหม่


ลองดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

79
ผมเข้าใจแล้ว ว่าเกิดอะไรขึ้น

เนื่องจากตารางของคุณมีฟิลด์ว่างอยู่ การ Export โดยไม่ใช้ "" เป็นตัวกำหนดฟิลด์ ทำให้เกิดปัญหาในการ Export-Import ระหว่าง Text File

ต้องไม่ลืมนะครับว่า Text File เป็นการจัดเรียงข้อมูลโดยไม่มีขอบเขต แต่ Excel และ Access มีการใช้ขอบเขตข้อมูล

ดังนั้นการส่งข้อมูลจาก Text File โดยไม่ใด้ใช้การกำหนดขอบเขตข้อมูลมาตรฐาน (คือไม่ได้ใช้ "" แต่ใช้ตัว |) จึงไม่แปลกที่จะเกิดปัญหานี้

ข้อแนะนำคือเปลี่ยนมาใช้ตัว "" หรือ ; หรือ , หรือ Tab แทนการใช้ตัว | จะดีกว่า
โพสต์นี้ได้รับคำขอบคุณจาก: Un

80
แล้วการตั้งค่าของ Region / format /location /Administative เป็นอะไรอยู่ครับ



โพสต์นี้ได้รับคำขอบคุณจาก: Un

81
ผมลองโหลดตัวอย่างที่ให้มาลองดูนับ Column ได้ 17 (op1) เหลือสองอันท้ายไม่มีข้อมูล
ไม่มีข้อมูลแต่มี | ขั้นไว้ครับ ครบ 19 column
เมื่อส่งออกไปแล้ว ลองมาดูตารางที่ส่งออก มันก็ออกครบ 19
แต่ลองนำเข้ากลับมา มันเป็นแบบ รูปที่แสดงครับ

ไม่รู้ผมเข้าใจอะไรผิดไหมจากการเทสตัวอย่างผมกลับไปดู DispensedItem ได้ 17 column = (OP1) และว่างอีกสอง นะครับ :confused:
โพสต์นี้ได้รับคำขอบคุณจาก: Un

82
ผมลองโหลดตัวอย่างที่ให้มาลองดูนับ Column ได้ 17 (op1) เหลือสองอันท้ายไม่มีข้อมูล
โพสต์นี้ได้รับคำขอบคุณจาก: Un

83
ดูตรงปุ่ม Advanced.. ทั้ง Export และ Import ว่าตั้งค่าอะไรไว้เหมือนกันหรือเปล่า
โพสต์นี้ได้รับคำขอบคุณจาก: Un

84
ตอนนำเข้า ระบุหรือเปล่าว่าใช้ | เป็น delimiter
โพสต์นี้ได้รับคำขอบคุณจาก: Un

85
รบกวนอธิบายซักนิดส์ จะได้รู้ว่าขั้นตอนเป็นอย่างไร เอาข้อมูลจากออบเจ็กต์ไหนส่งออก
โพสต์นี้ได้รับคำขอบคุณจาก: Un

86
ลองส่งไฟล์มาให้ดูดีกว่าครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

87
ปัญหาคือตอน Import กลับมาถูกไหมครับ

คำถามคือ หลังจาก Export ตารางไปเป็น Text File ได้มีการแก้ไขข้อมูลอะไร ก่อนจะ Import กลับมาหรือเปล่า

ถ้าไม่ได้แก้ไขอะไร ก็ให้ใช้ Update Query เพื่อลบ Line Feed ออกจากข้อมูลในตารางก่อนการ Export โดยใช้
Replace([ชื่อฟิลด์],Chr(13) & Chr(10),"")

ถ้ามีการแก้ไขหลัง Export แต่ก่อน Import กลับเข้ามา ต้องหาว่าระหว่างแก้ข้อมูลมีการกด Enter หรือ Shift+Enter หรือไม่
โพสต์นี้ได้รับคำขอบคุณจาก: Un

88
เปลี่ยนมาใช้ Excel แทน Text File ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Un

89
มองไม่เห็นหรอกครับ ต้องเอามาเช็คใน Text File
คำสั่ง Line Feed คือ Shift+Enter ครับ มักซ่อนอยู่ใน Text หรือ Memo
โพสต์นี้ได้รับคำขอบคุณจาก: Un

90
ไม่ต้องงงครับ ถ้าเซลล์ไหนมีคำสั่ง Line Feed อยู่ มันก็ขึ้นเรคอร์ดใหม่ (เท่าที่นึกออกนะ)
โพสต์นี้ได้รับคำขอบคุณจาก: Un

หน้า: 1 2 3 4 [5] 6