นำรายชื่อไฟล์ในโฟลเดอร์ มาไว้ใน combobox



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

05 ก.พ. 61 , 13:54:25
อ่าน 670 ครั้ง

UnKnown

คุณ กิติศักดิ์ Original post


เราจะสามารถนำรายชื่อไฟล์ทั้งหมด มาแสดงใน combo box ได้อย่างไรครับ
« แก้ไขครั้งสุดท้าย: 04 เม.ย. 61 , 19:49:46 โดย UnKnown »

 

06 ก.พ. 61 , 14:47:02
ตอบกลับ #1

TTT

> นำรายชื่อไฟล์ในโฟลเดอร์ มาไว้ใน combobox
« ตอบกลับ #1 เมื่อ: 06 ก.พ. 61 , 14:47:02 »
สมมุติไฟล์เป้าหมายของคุณอยู่ที่ Path C:\Data\Files\
- ที่ Combobox สมมุติให้ชื่อ Combo1 ให้ใส่โค้ดลงใน Event > On Got Focus
โค๊ด: [Select]
    Dim strFile As String, nFiles As String
    strFile = Dir("C:\Data\Files\", vbNormal)
    Do While strFile <> ""
        nFiles = nFiles & ";" & strFile
        strFile = Dir()
    Loop
    Me.Combo1.RowSource = Mid(nFiles, 2)
ประมาณนี้ครับ ปรับใช้ดู

ลืมบอกไปว่าใน Property ของ Combobox ใน Data > Row Source Type ให้กำหนดเป็น Value List
« แก้ไขครั้งสุดท้าย: 06 ก.พ. 61 , 14:49:24 โดย TTT »
ฐานข้อมูลเป็นเรื่องใกล้ตัว ใครๆก็ทำฐานข้อมูลเองได้นะครับhttp://www.youtube.com/c/AccessCreator link
 

06 ก.พ. 61 , 14:51:48
ตอบกลับ #2

ปิ่นณรงค์

> นำรายชื่อไฟล์ในโฟลเดอร์ มาไว้ใน combobox
« ตอบกลับ #2 เมื่อ: 06 ก.พ. 61 , 14:51:48 »
เราจะสามารถนำรายชื่อไฟล์ทั้งหมด มาแสดงใน combo box ได้อย่างไรครับ

นำคำสั่งนี้ไปไว้ใน Module ก่อนครับ
โค๊ด: [Select]
Public Function fnGetFilenames(Folder As String) As String

    Dim strPath As String
    Dim strFileName As String
   
    strPath = Replace(Folder & "\", "\\", "\")
   
    strFileName = Dir(strPath & "*")
    Do
        fnGetFilenames = fnGetFilenames & ";" & strFileName
        strFileName = Dir()
    Loop While Len(strFileName) > 0
   
    If Len(fnGetFilenames) > 0 Then fnGetFilenames = Mid(fnGetFilenames, 2)
   
End Function
ตั้งค่า ชนิดแหล่งข้อมูลแถว ของ Combobox เป็น "รายการค่า" หรือ  "Value List" ในเมนูภาษาอังกฤษ
กำหนด Event ของ Combobox เป็น  GotFogus
ดังนี้

โค๊ด: [Select]
Private Sub comboFilenames_GotFocus()
Me.comboFilenames.RowSource = fnGetFilenames("C:\")
End Sub

***หมายเหตุ (ตรง comboFilenames คือชื่อของ Combobox ครับ ส่วนตำแหน่ง ("C:\") สามารถเปลี่ยนตำแหน่งได้ ตัวอย่าง
     
โค๊ด: [Select]
Me.comboFilenames.RowSource = fnGetFilenames("D:\Program\myProgram\")
« แก้ไขครั้งสุดท้าย: 06 ก.พ. 61 , 15:12:12 โดย bookungth »
:love: :grin:
 

06 ก.พ. 61 , 21:50:14
ตอบกลับ #3

UnKnown

> นำรายชื่อไฟล์ในโฟลเดอร์ มาไว้ใน combobox
« ตอบกลับ #3 เมื่อ: 06 ก.พ. 61 , 21:50:14 »
คุณ กิติศักดิ์ Original post


ของอาจารย์ TTT ได้ตรงความต้องการครับ
ของอาจารย์ bookungth ต้องขอลองก่อน
« แก้ไขครั้งสุดท้าย: 04 เม.ย. 61 , 19:50:11 โดย UnKnown »

 

07 ก.พ. 61 , 09:44:57
ตอบกลับ #4

ปิ่นณรงค์

> นำรายชื่อไฟล์ในโฟลเดอร์ มาไว้ใน combobox
« ตอบกลับ #4 เมื่อ: 07 ก.พ. 61 , 09:44:57 »
ตอนแรกผมไม่เห็นว่าอาจารย์ TTT มาตอบแล้วครับ

ผมนี้ FC อาจารย์ TTT เหมือนกันครับพี่
ส่วนแบบของผมลองดูครับแบบที่แนะนำไปเพื่อใช้งานได้
:love: :grin:
 

07 ก.พ. 61 , 12:03:16
ตอบกลับ #5

TTT

> นำรายชื่อไฟล์ในโฟลเดอร์ มาไว้ใน combobox
« ตอบกลับ #5 เมื่อ: 07 ก.พ. 61 , 12:03:16 »
@bookungth หลายคนหลายความคิดดีแล้วครับ

ปล. ไม่เคยรู้ว่ามี FC ด้วย เคยแต่เป็น FC คนอื่นเหมือนกัน ขอบคุณครับ
ฐานข้อมูลเป็นเรื่องใกล้ตัว ใครๆก็ทำฐานข้อมูลเองได้นะครับhttp://www.youtube.com/c/AccessCreator link
 

08 ก.พ. 61 , 22:09:06
ตอบกลับ #6

UnKnown

> นำรายชื่อไฟล์ในโฟลเดอร์ มาไว้ใน combobox
« ตอบกลับ #6 เมื่อ: 08 ก.พ. 61 , 22:09:06 »
คุณ กิติศักดิ์ Original post

ขอบพระคุณอาจารย์ทั้งสองครับ ผมก็ FC อาจารย์ TTT เหมือนกัน แต่ของ @bookungth  จะขอติดตามผลงานต่อไปครับ กราบขอบพระคุณทั้งสองท่านเป็นอย่างสูง
« แก้ไขครั้งสุดท้าย: 04 เม.ย. 61 , 19:50:27 โดย UnKnown »

 


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