แสดงกระทู้

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 - Note Ekkachai

หน้า: [1]
1
ทำตามที่บอกได้แล้วครับ ขอบคุณมากๆครับ

2
ผมใช้Office2016และเก็บรูปภาพเป็นพาธไฟล์เมื่อเปิดฟอร์มรูปภาพจะไม่โชว์ ต้องแก้ไขอย่างไรให้เปิดฟอร์มแล้วมีภาพทันทีครับ

3
ขอบคุณครับท่านอาจารย์ที่สละเวลามาช่วยตอบ ผมทำตามที่อาจารย์แนะนำแล้วครับคือเปลี่ยนชื่อไฟล์เอาอาจจะช้าหน่อยหากต้องรีบออกเอกสาร แต่ก็ทำให้ข้อมูลอยู่ด้วยกันดูแลง่าย ขอบคุณครับที่ช่วยชี้แนะ

4
ยังรอท่านอาจารย์อยู่นะครับ หรือมีอาจารย์ท่านไหนสะดวกไหมครับ รบกวนด้วยครับ ขอบคุณครับ

5
ขอบคุณครับอาจารย์ที่สละเวลามาช่วยตอบ ผมลองพิจารณาวิธีที่อาจารย์แนะนำแล้วดีมากเลยครับ
เพียงแต่ผมต้องการความเร็วในการออกเอกสารผมจึงคิดอีกวิธีในการนำเข้าข้อมูลและขอสอบถามเพิ่มเติมดังนี้ครับ

ผมติดที่กล้องจะอัพรูปอัตโนมัติโดยรันเป็น IMG_0001 ไปเรื่อยๆซึ่งทับกับไฟล์รูปที่มี

ผมจึงอยากจะสร้างโฟลเดอร์ใหม่อีก 1 โฟลเดอร์แล้วให้โปรแกรมเห็นรูปทั้งโฟลเดอร์เก่าและใหม่ ซึ่งโค้ดปกติที่ผมใช้คือ

Option Compare Database
Option Explicit

Public Function iFileDialog() As String
 Const msoFileDialogFilePicker = 3
 Const msoFileDialogViewDetails = 2
 Dim fd As Object, varltems As Variant, flPath As Variant
 Set fd = Application.FileDialog(msoFileDialogFilePicker)
 With fd
    .Title = "Choose"
    .InitialView = msoFileDialogViewDetails
    .Filters.Clear
    .Filters.Add "Image", "*.jpg;*.png;*.bmp"
    .Filters.Add "All Files", "*.*"
    .filterIndex = 1
    .InitialfileName = CurrentProject.Path & "\Picture"
    If fd.show = True Then
        iFileDialog = Trim(.SelectedItems.Item(1))
    End If
  End With
End Function

แล้วเอกสารแต่ละชุดผมจะมีรูปเพียง 3 รูป ซึ่งรูปนั้นจะถูกแสดงโดยใช้โค้ดนี้ครับ

Option Compare Database

Private Sub Command15_Click()
 Dim iPath As String
 iPath = iFileDialog
 If iPath & "" <> "" Then
  Me.Photo1 = Mid(iPath, InStrRev(iPath, "\") + 1)
 End If
End Sub

Private Sub Command16_Click()
 Dim iPath As String
 iPath = iFileDialog
 If iPath & "" <> "" Then
  Me.Photo2 = Mid(iPath, InStrRev(iPath, "\") + 1)
 End If
End Sub

Private Sub Command17_Click()
 Dim iPath As String
 iPath = iFileDialog
 If iPath & "" <> "" Then
  Me.Photo3 = Mid(iPath, InStrRev(iPath, "\") + 1)
 End If
End Sub

ผมต้องแก้ไขอะไร อย่างไรบ้างครับ

6
รบกวนด้วยครับอาจารย์ ขอบคุณครับ :love:

7
ในโฟลเดอร์Pictureจะมีรูปเยอะอยู่แล้ว ติดตรงที่กล้องที่ถ่ายจะบันทึกชื่อไฟล์ซ้ำกับรูปที่เคยมี

ผมเลยกำหนดให้กล้องสร้างโฟลเดอร์ขึ้นมาไว้ในโฟลเดอร์Picture โดยจะตั้งอัตโนมัติเป็นปีเดือนวัน เช่น 2018-8-18

ผมจะแก้ยังไงดีครับ โดยโค้ดที่ใช้อยู่ในปัจจุบันคือ

Option Compare Database
Option Explicit

Public Function iFileDialog() As String
 Const msoFileDialogFilePicker = 3
 Const msoFileDialogViewDetails = 2
 Dim fd As Object, varltems As Variant, flPath As Variant
 Set fd = Application.FileDialog(msoFileDialogFilePicker)
 With fd
    .Title = "Choose"
    .InitialView = msoFileDialogViewDetails
    .Filters.Clear
    .Filters.Add "Image", "*.jpg;*.png;*.bmp"
    .Filters.Add "All Files", "*.*"
    .filterIndex = 1
    .InitialfileName = CurrentProject.Path & "\Picture"
    If fd.show = True Then
        iFileDialog = Trim(.SelectedItems.Item(1))
    End If
  End With
End Function

ขอบคุณครับ

หน้า: [1]