ออกแบบโปรแกรมเลือกไฟล์แล้วนำไปเก็บไว้ที่ต้องการ



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

11 พ.ค. 61 , 11:25:44
อ่าน 685 ครั้ง

kitisak

ต้องการออกแบบโปรแกรมดังนี้ครับ
1. เลือกไฟล์ ที่ต้องการ
2. เปลี่ยนชื่อไฟล์ ตามที่เรากำหนด โดยใช้ชื่อไฟล์เป็น ปปดดวว (ปี เดือน วัน)
3. copy ไฟล์นั้นแล้วนำไปลงไว้ที่ โฟลเดอร์ D:\iDoc
พอจะทำอย่างไรได้บ้างใน access ครับ

 

11 พ.ค. 61 , 16:24:40
ตอบกลับ #1

ปิ่นณรงค์

ต้องการออกแบบโปรแกรมดังนี้ครับ
1. เลือกไฟล์ ที่ต้องการ
2. เปลี่ยนชื่อไฟล์ ตามที่เรากำหนด โดยใช้ชื่อไฟล์เป็น ปปดดวว (ปี เดือน วัน)
3. copy ไฟล์นั้นแล้วนำไปลงไว้ที่ โฟลเดอร์ D:\iDoc
พอจะทำอย่างไรได้บ้างใน access ครับ

สวัสดีครับ ผมได้ลองทำโปรแกรมแบบที่ต้องการให้ดูตัวอย่างนะครับ
เมื่อเปิดมา ถ้าเรากด เลือกไฟล์ จะมี Dialog ให้เราเลือกไฟล์

เมื่อกดเลือกแล้ว ก็ไปกำหนด ชื่อใหม่ได้ครับ


เมื่อเราตั้งชื่อเสร็จกด ส่งออกไฟล์ จะได้ไฟล์ดังในรูป


ตัวอย่างคำสั่ง

โค๊ด: [Select]
Private Sub Command13_Click()
Call Copy
End Sub
Private Sub Import_Click()
Dim f As Object
Set f = Application.FileDialog(3)
f.AllowMultiSelect = True
If f.Show Then
    For i = 1 To f.SelectedItems.Count
        sFile = filename(f.SelectedItems(i), sPath)
        Me.GetFileName = sFile
        Me.GetFilePath = sPath
    Next
End If
End Sub
Sub Copy()
Dim sPath, sfilename, sLink, Snow, sCopyInto, myOutput As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Snow = Now
Snow = Format(Date, "YYYYMMDD")
sfilename = GetFileName
myOutput = Right(sfilename, Len(sfilename) - InStrRev(sfilename, "."))
sPath = GetFilePath
sLink = sPath & sfilename
sCopyInto = "D:\iDoc\" & Me.NewName & Snow & "." & myOutput
fso.CopyFile sLink, sCopyInto
Set fso = Nothing
End Sub
Public Function filename(ByVal strPath As String, sPath) As String
    sPath = Left(strPath, InStrRev(strPath, "\"))
    filename = Mid(strPath, InStrRev(strPath, "\") + 1)
End Function
ตัวอย่างด้านล่าง
« แก้ไขครั้งสุดท้าย: 11 พ.ค. 61 , 16:40:07 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

11 พ.ค. 61 , 16:43:18
ตอบกลับ #2

kitisak

ขอขอบพระคุณ คุณ Newbies เป็นอย่างสูงครับ

 

11 พ.ค. 61 , 16:45:20
ตอบกลับ #3

ปิ่นณรงค์

ถ้า Drive D ยังไม่มี Floder ชื่อ iDoc ก็ไปสร้างไว้ก่อนนะครับ
ถ้าต้องกันวันที่ yymmdd แก้เป็น
โค๊ด: [Select]
Snow = Format(Date, "YYMMDD")
« แก้ไขครั้งสุดท้าย: 12 พ.ค. 61 , 08:11:18 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

13 พ.ค. 61 , 19:32:18
ตอบกลับ #4

kitisak

ขอสอบถามเพิ่มเติมครับ ถ้าต้องการให้ ไดอะล็อกซ์บ๊อกซ์ ที่ขึ้นมาให้เลือกไฟล์ เราจำกำหนดให้เลือกได้เฉพาะไฟล์รูปภาพได้ไหมครับ

 

13 พ.ค. 61 , 20:24:48
ตอบกลับ #5

ปิ่นณรงค์

ขอสอบถามเพิ่มเติมครับ ถ้าต้องการให้ ไดอะล็อกซ์บ๊อกซ์ ที่ขึ้นมาให้เลือกไฟล์ เราจำกำหนดให้เลือกได้เฉพาะไฟล์รูปภาพได้ไหมครับ
ได้ครับกำหนดนามสกุลของประเภทรูป bmp jpg ประมาณนั้น เดี่ยวกลับไปแก้ให้ครับ
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

15 พ.ค. 61 , 08:59:20
ตอบกลับ #6

ปิ่นณรงค์

ขอสอบถามเพิ่มเติมครับ ถ้าต้องการให้ ไดอะล็อกซ์บ๊อกซ์ ที่ขึ้นมาให้เลือกไฟล์ เราจำกำหนดให้เลือกได้เฉพาะไฟล์รูปภาพได้ไหมครับ

Private Sub Import_Click()
Dim f As Object
Set f = Application.FileDialog(3)
f.AllowMultiSelect = True
f.Filters.Clear
f.Filters.Add "Picture Files", "*.bmp;*.jpg;*.gif;*.png"

If f.Show Then
    For i = 1 To f.SelectedItems.Count
        sFile = filename(f.SelectedItems(i), sPath)
        Me.GetFileName = sFile
        Me.GetFilePath = sPath
    Next
End If
End Sub

อันนี้เป็นส่วนที่ต้องเพิ่มใหม่นะครับ
ตัวอย่างด้านล่าง
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak


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