อ้างชื่อไฟล์มาตรวจสอบในตาราง


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

30 พ.ค. 66 , 09:48:11
อ่าน 696 ครั้ง

Un

ผมมี Text File ใช้ชื่อเป็นเลข 13 หลัก (เลขบัตร ปชช)
อยู่ใน Folder C:\temp ตัวอย่าง C:\temp\1234512345123.txt
ผมจะตรวจสอบว่า คนๆ นี้(ชื่อไฟล์) มีอยู่ในฐานข้อมูลรึยัง โดย
ดูจาก  Record ในฟิลด์ ชื่อ CID จากตาราง Person ชนิดข้อมูล เป็น Text
ผมต้องเขียนโค็ตยังงัยครับ ให้ถ้ามี เลข 13 หลักนี้อยู่แล้ว
บอกว่ามีแล้ว ถ้ายังไม่มีบอกว่ายังไม่มี ขอบพระคุณครับ

 

30 พ.ค. 66 , 12:36:08
ตอบกลับ #1
: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #1 เมื่อ: 30 พ.ค. 66 , 12:36:08 »
สรุปความต้องการคือ ตรวจสอบ textfile ที่เป็น 13 ทุกไฟล์ใน folder นั้นๆ ไล่ทีละไฟล์ว่ามี cid หรือยังโดยเทียบกับฟิลด์ cid ในตาราง person
เมื่อเช็คแล้วให้อัพเดตฟิลด์ Status ว่ามีหรือไม่มีใช่ไหมครับ
ประเด็นคือจะ Input ทีละไฟล์ไปตรวจสอบ หรือสแกนชื่อไฟล์ทั้งหมดไปตรวจสอบทีเดียว

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

30 พ.ค. 66 , 12:56:40
ตอบกลับ #2
: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #2 เมื่อ: 30 พ.ค. 66 , 12:56:40 »
หลักการคร่าวๆ คือผมแนะนำให้สร้าง batch file เพื่อรันคำสั่งนี้
dir /s /b *.txt  > ScanCID.txt
ผลลัพธ์ที่ได้คือ มันจะ scan ชื่อไฟล์นามสกุล .txt ทั้งหมดใน Folder
ไปเขียนลงใน textfile ชื่อ ScanCID.txt จะได้ผลลัพธ์ตามภาพ
จากนั้นเขียน code เพื่อวนลูปอ่าน textfile มาทีละบรรทัดแล้วตัดสตริงเอาเฉพาะ 13 หลัก
เพื่อส่งไปตรวจสอบ cid ในตาราง person ครับ
** พอดีผมมีไฟล์ภาพ อยู่ d:\photo เลยทำเป็นตัวอย่าง **
« แก้ไขครั้งสุดท้าย: 30 พ.ค. 66 , 13:47:50 โดย พีระณัฐ สุขกำเนิด »

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

30 พ.ค. 66 , 14:23:28
ตอบกลับ #3

Un

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #3 เมื่อ: 30 พ.ค. 66 , 14:23:28 »
ขอโทษครับมาตอบช้า เลยเข้าใจผิด
ชื่อไฟล์เป็นเลข 13 หลัก มีไฟลด์เดียว
ต้องการคำสั่งไปดูว่า ชื่อไฟล์นั้น
มีอยู่ในฐานเราแล้วรึยัง ถ้ามีขึ้ม msgbox ว่ามี
ประมาณนี้ครับ
« แก้ไขครั้งสุดท้าย: 30 พ.ค. 66 , 14:30:10 โดย Un »

 

30 พ.ค. 66 , 15:37:54
ตอบกลับ #4
: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #4 เมื่อ: 30 พ.ค. 66 , 15:37:54 »
ไม่ได้ตรวจสอบเรื่อยๆ ใช่ไหม ถ้าค้นไฟล์เดียวทำไมไม่เอาไปค้นใน Database โดยตรงเลย
หรือแต่ต้องการ code ในการแก้ปัญหาเฉยๆ เช่น เอา 13 หลักมา Input ใน Textbox แล้วไปค้นหาในฐานเลย หรือยังไง

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

30 พ.ค. 66 , 15:50:56
ตอบกลับ #5

Un

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #5 เมื่อ: 30 พ.ค. 66 , 15:50:56 »
ไม่ได้ตรวจสอบเรื่อยๆ ใช่ไหม ถ้าค้นไฟล์เดียวทำไมไม่เอาไปค้นใน Database โดยตรงเลย
หรือแต่ต้องการ code ในการแก้ปัญหาเฉยๆ เช่น เอา 13 หลักมา Input ใน Textbox แล้วไปค้นหาในฐานเลย หรือยังไง
มันเป็นระบบอันตโนมัติครับ ถ้าทำยากๆ คนใช้ไม่ใช้
ทำจริงๆ มันยากกว่านี้ ผมถามแค่คำสั่ง เดี๋ยวต้องเอาไปดัดแปลงอีกเยอะครับ

 

30 พ.ค. 66 , 16:13:32
ตอบกลับ #6
: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #6 เมื่อ: 30 พ.ค. 66 , 16:13:32 »
แอดไลน์ผมมาครับ ID : gerbkeeb จะคุยสะดวกกว่า ผมว่าไม่น่าจะยาก

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

30 พ.ค. 66 , 22:46:11
ตอบกลับ #7

nonc31

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #7 เมื่อ: 30 พ.ค. 66 , 22:46:11 »
ไม่รู้ใช่ป่าวแบบนี้

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

31 พ.ค. 66 , 08:49:33
ตอบกลับ #8

Un

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #8 เมื่อ: 31 พ.ค. 66 , 08:49:33 »
ไม่รู้ใช่ป่าวแบบนี้
ยังไม่ใช่ครับอาจารย์

ผมขออธิบายใหม่เลย
ผมใช้โปรแกรมสำเร็จรูปดึงข้อมูลจาก บัตรประชาชน
จะได้ Text ไฟล์ ชื่อเป็นเลข 13 หลัก ดังนี้
C:\temp\1234512345123.txt
ไฟล์อยู่ใน Drive C Folder temp ชื่อไฟล์ 1234512345123.txt
คราวนี้จะมาเขียน Access ให้ กดปุ่ม มันไปอ่ายชื่อไฟล์ 1234512345123
แล้วมาตรวจสอบกับ ฟิลด์ CID ในตาราง Person ว่า
มีเลข 13 หลักนี้รึยัง ถ้ามี ก็ Msgbox ว่ามี ถ้าไม่มี ก็บอกว่าไม่มี
แบบนี้ครับ

 

31 พ.ค. 66 , 09:23:44
ตอบกลับ #9

chai

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #9 เมื่อ: 31 พ.ค. 66 , 09:23:44 »
วน loop อ่านชื่อไฟล์ใน folder แล้วเอาชื่อไฟล์ตัด .txt ออก
จากนั้น ไป count record
count=DCount("*","table","[cid]="' & cid จากชื่อไฟล์ &"'")
if count=0
   msgbox
end if

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

31 พ.ค. 66 , 09:38:46
ตอบกลับ #10

Un

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #10 เมื่อ: 31 พ.ค. 66 , 09:38:46 »
วน loop อ่านชื่อไฟล์ใน folder แล้วเอาชื่อไฟล์ตัด .txt ออก
จากนั้น ไป count record
count=DCount("*","table","[cid]="' & cid จากชื่อไฟล์ &"'")
if count=0
   msgbox
end if
ทำแบบนี้ผมเข้าใจครับ แต่ผมไม่รู้คำสั่ง ผมไม่ได้เรียนมาโดยตรง ทำได้จากตัวอย่างในเวปนี้แหละครับ

 

31 พ.ค. 66 , 10:10:59
ตอบกลับ #11

chai

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #11 เมื่อ: 31 พ.ค. 66 , 10:10:59 »
ลองเอาไปประยุกต์ดูนะครับ

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

31 พ.ค. 66 , 10:35:53
ตอบกลับ #12

Un

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #12 เมื่อ: 31 พ.ค. 66 , 10:35:53 »
ลองเอาไปประยุกต์ดูนะครับ
มันก็ไม่ใช่แบบนี้ครับ

เอาง่ายๆ เลย ผมอ้างอิงไฟล์นอกฐานข้อมูลไม่เป็น

 

31 พ.ค. 66 , 13:31:15
ตอบกลับ #13
: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #13 เมื่อ: 31 พ.ค. 66 , 13:31:15 »
โปรแกรมสำเร็จรูปที่ว่ามันอ่านทีละคน แล้วมาพักใน c:\temp ซึ่ง Cid จะเปลี่ยนไปเรื่อยๆ
พอเสร็จแล้ว CID นี้จะถูกลบไปไหม หรือมี่ไฟล์อื่นสะสมไปเรื่อยๆ
เพราะเวลาจะเขียนให้ acess กดปุ่มไปอ่านชื่อไฟล์ มันจะรู้ได้ไงว่าจะเช็คไฟล์ไหน
สมมติมีหลายไฟล์ งั้นก็ต้องกดปุ่มเพื่อ Browse ไป select เอาไฟล์นั้น ๆ
after update คือได้ชื่อไฟล์มาวางใน Text box แล้วค่อยส่งไปเช็คในตาราง

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

31 พ.ค. 66 , 18:10:33
ตอบกลับ #14

OddyWriter

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #14 เมื่อ: 31 พ.ค. 66 , 18:10:33 »
ใช้ไฟล์นี้ดึงชื่อไฟล์เข้ามาในฐานข้อมูล แล้วสั่ง Unmatched Query หาไฟล์ที่ชื่อไม่ตรงกันออกมาครับ
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: Un

01 มิ.ย. 66 , 12:17:57
ตอบกลับ #15
: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #15 เมื่อ: 01 มิ.ย. 66 , 12:17:57 »
ขออนุญาตท่าน OddyWriter เอาไฟล์มาแก้ไขปรับปรุงครับ
ตัวนี้เสร็จเลยผมจำลองฐาน Person ที่มี cid มาให้เลยในตัว
กดปุ่มเดียวนำเข้าตรวจสอบอัพเดต status จบ

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

01 มิ.ย. 66 , 12:40:39
ตอบกลับ #16

Un

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #16 เมื่อ: 01 มิ.ย. 66 , 12:40:39 »
ใช้ไฟล์นี้ดึงชื่อไฟล์เข้ามาในฐานข้อมูล แล้วสั่ง Unmatched Query หาไฟล์ที่ชื่อไม่ตรงกันออกมาครับ
ขอบคุณครับอาจารย์ แบบที่ต้องการเลย เอามาปรับปรุงอีกนิดนึง ใช้ได้หลายแบบเลย

 

01 มิ.ย. 66 , 12:42:17
ตอบกลับ #17

Un

: อ้างชื่อไฟล์มาตรวจสอบในตาราง
« ตอบกลับ #17 เมื่อ: 01 มิ.ย. 66 , 12:42:17 »
ขออนุญาตท่าน OddyWriter เอาไฟล์มาแก้ไขปรับปรุงครับ
ตัวนี้เสร็จเลยผมจำลองฐาน Person ที่มี cid มาให้เลยในตัว
กดปุ่มเดียวนำเข้าตรวจสอบอัพเดต status จบ
ขอบคุณครับ

 


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


 

Sitemap 1 2 3 4 5