อยากให้แนปรูปได้มากกว่า 1 รูปและกำหนดให้แนบรูปไฟล์อื่นเพิ่มนอกจาก JPG


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

20 พ.ค. 62 , 15:13:41
อ่าน 2013 ครั้ง

aek

จากการนำโปรแกรมจากกระทู้ "การ Import ไฟล์รูปภาพ" ไปใช้งานถือว่าดีมากครับ แต่ถ้าเราต้องการให้สามารถแนบรูปได้มากว่า 1 รูป(รูปที่แนบมีหน้า 1 หน้า 2 หน้า3 ประมาณนี้ครับ) และเพิ่มนามสกุลไฟล์จาก JPG เป็นไฟล์รูปภาพอื่นต้องเพิ่มอย่างไรครับ ขอบคูณครับ  :smile: :smile:
« แก้ไขครั้งสุดท้าย: 20 พ.ค. 62 , 15:17:23 โดย aek »

 

20 พ.ค. 62 , 22:03:09
ตอบกลับ #1

ปิ่นณรงค์

อ้างถึง
เพิ่มนามสกุลไฟล์จาก JPG เป็นไฟล์รูปภาพอื่นต้องเพิ่มอย่างไรครับ



ถ้าจะเพิ่มการเก็บไฟล์รูปภาพประเภทอื่นๆ ด้วยลองใส่ตามนี้ครับมี 2 แบบให้เลือก
โค๊ด: [Select]
Private Sub Import_Click()
Dim File As FileDialog
Dim strPath, StrFile, SetPathon As String
If IsNull(Me.SetPath) Then
MsgBox "กรุณากำหนด Path ที่จะจัดเก็บก่อน", vbInformation, "แจ้งเตือนขั้นตอน"
Else
Set File = Application.FileDialog(msoFileDialogFilePicker)
With File
        .Title = "เลือกรูปภาพ"
        .Filters.Clear
        .Filters.Add "JPG", "*.JPG"
        .Filters.Add "BMP", "*.BMP"
        .Filters.Add "JPEG File ", "*.JPEG"
        .Filters.Add "GIF", "*.GIF"
        .Filters.Add "PNG", "*.PNG"
        .Filters.Add "TIFF", "*.TIFF"
        .Filters.Add "ALL Pictures", "*.JPG,*.BMP,*.JPEG,*.GIF,*.PNG,*.TIFF"
 End With
If File.Show Then
Me.PhotoPath = File.SelectedItems.Item(1)
End If
If Not IsNull(PhotoPath) Then
SetPathon = SetPath
strPath = Me.PhotoPath
StrFile = Right(strPath, Len(strPath) - InStrRev(strPath, "\"))
Me.SetPath = SetPathon & "\" & StrFile
End If
End If
End Sub

หรือแบบไม่ต้องกำหนด ประเภทไฟล์คือให้แสดงทุกรูปแบบนามสกุลไฟล์ที่เป็นรูปภาพตามที่เรากำหนดประมาณนี้ครับ

โค๊ด: [Select]
Private Sub Import_Click()
Dim File As FileDialog
Dim strPath, StrFile, SetPathon As String
If IsNull(Me.SetPath) Then
MsgBox "กรุณากำหนด Path ที่จะจัดเก็บก่อน", vbInformation, "แจ้งเตือนขั้นตอน"
Else
Set File = Application.FileDialog(msoFileDialogFilePicker)
With File
        .Title = "เลือกรูปภาพ"
        .Filters.Clear
        .Filters.Add "ALL Pictures", "*.JPG,*.BMP,*.JPEG,*.GIF,*.PNG,*.TIFF"
End With
If File.Show Then
Me.PhotoPath = File.SelectedItems.Item(1)
End If
If Not IsNull(PhotoPath) Then
SetPathon = SetPath
strPath = Me.PhotoPath
StrFile = Right(strPath, Len(strPath) - InStrRev(strPath, "\"))
Me.SetPath = SetPathon & "\" & StrFile
End If
End If
End Sub

ส่วนการเลือกรูปหลายรายการนั้น ต้องดูว่าท่านออกแบบตารางเก็บข้อมูลไว้แบบไหน ถึงจะแนะนำได้ครับ
« แก้ไขครั้งสุดท้าย: 20 พ.ค. 62 , 22:09:03 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: aek, apirak

20 พ.ค. 62 , 22:37:31
ตอบกลับ #2

aek

ผมออกแบบไว้ดังนี้ครับ

table ชื่อ picture
ใน table มีฟิล 4 ฟิล ดังนี้
ID (ตั้งเป็น auto) / no /photopath/outputpath

ืno=รหัสของไฟล์ที่แนบ
photopath=ที่อยู่ของไฟล์แนบ
outputpath=ที่อยู่ที่เก็บไฟล์แนบ

เวลาใช้งาน ผมใช้ =DLookUp("[OutputPath]","[PICTURE]","[NO]= Forms![RESULT]![NO]"ครับ
« แก้ไขครั้งสุดท้าย: 20 พ.ค. 62 , 22:43:00 โดย aek »

 

21 พ.ค. 62 , 21:44:41
ตอบกลับ #3

ปิ่นณรงค์

ผมได้ปรับปรุงโปรแกรมให้มีการจัดเก็บเป็นหมวดหมู่ นะครับ
ตารางมีดังนี้


Tbl_GroupNum ตารางนี้เก็บรหัสประจำกลุ่มของรูปภาพ สมมุติกลุ่ม 1 มีภาพ 1 2 3 4 5 6 ไปเรื่อยๆ ครับ
Tbl_Picture       ตารางนี้เก็บรหัสของกลุ่มไว้ และเก็บตำแหน่ง Path เดิมที่รูปภาพอยู่ และ ตำแหน่งรูปภาพใหม่ ที่เรา Copy ไปเก็บไว้โฟลเดอร์
TempPath        ตารางนี้เก็บตำแหน่ง Floder ที่ใช้ในการเก็บรูปภาพที่เราต้องการ โดยไปสร้าง Floder ไว้ให้เรียบร้อยแล้ว กำหนด Path ใน       
                      Combobox ครับ

การใช้งาน

1.เมื่อเราเปิดโปรแกรมมาโดยยังไม่ได้มีการเพิ่มข้อมูล NO จะเริ่มต้นให้เองที่เลข 1
2.กำหนด ตำแหน่งจัดเก็บไปยัง Floder ปลายทางให้เรียบร้อย
3.กด Import เลือกรูปที่ต้องการจัดเก็บ
4.กด Add เพื่อบันทึกรูปภาพไปยังตาราง และข้อมูลจะแสดงที่ ตารางด้านขวาขึ้นทันที
5.เมื่อเพิ่มรูปภาพใน Group เดิมเสร็จแล้ว ต้องการสร้าง Group ใหม่ สามารถกดที่ New Group ได้เลยครับ
6.ถ้าต้องการค้นหาหรือเรียกดู Group อื่น ก็ใส่รหัส Group ที่ textbox GOTO GROUP แล้วกด OK
7.เมื่อเลือกรูปภาพแล้วอยาก Clear Form เพื่อเอารูปภาพใหม่ กดปุ่ม Clear
8.คลิ๊กที่เลขลำดับด้านขวา จะแสดงรูปตัวอย่างของรูปภาพที่เรา Add ไปแล้ว


[info]อัพเดท ตัวใหม่ล่าสุดใช้การรันลำดับการนำเข้าด้วยครับ สะดวกต่อการตรวจสอบ[/info]
« แก้ไขครั้งสุดท้าย: 23 พ.ค. 62 , 14:00:03 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: มาลี, apirak

22 พ.ค. 62 , 10:22:26
ตอบกลับ #4

aek

ขอบคุณมากๆเลยครับ สุดยอดดังรูปจริงๆ :want: :want: :want:

 

22 พ.ค. 62 , 14:30:51
ตอบกลับ #5

apirak

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

ขอบคุณครับ

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

22 พ.ค. 62 , 14:37:11
ตอบกลับ #6

ปิ่นณรงค์

ยินดีครับ ที่จริงมันสามารถ Convert File รูป เป็นรูปแบบที่ต้องการได้ด้วยนะครับ เช่น ต้นฉบับเป็น .BMP จะแปลงเป็น .JPEG หรือ อื่นๆได้ โดยใช้ WIA
แต่จากความต้องการเจ้าของกระทู้ ไม่น่าจะใช้ในส่วนนี้ครับ  :cool: :cool:
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: mbbrid, aek, apirak

22 พ.ค. 62 , 15:42:40
ตอบกลับ #7

มาลี

สุดยอดเลยค่ะอาจารย์
หนูขออนุญาตโหลดไฟล์โปรแกรมตัวอย่างของอาจารย์
ไปเก็บไว้ศึกษาปรับประยุกต์ใช้งานต่อด้วยอีกคนนะคะ

ขอบคุณเจ้าของกระทู้นี้ด้วยเช่นกันค่ะ

 
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์, aek

14 มิ.ย. 62 , 11:40:37
ตอบกลับ #8

aek

ยินดีครับ ที่จริงมันสามารถ Convert File รูป เป็นรูปแบบที่ต้องการได้ด้วยนะครับ เช่น ต้นฉบับเป็น .BMP จะแปลงเป็น .JPEG หรือ อื่นๆได้ โดยใช้ WIA
แต่จากความต้องการเจ้าของกระทู้ ไม่น่าจะใช้ในส่วนนี้ครับ  :cool: :cool:

อ.ปิ่นณรงค์ ถ้าผมสนใจ function นี้ เพื่อเพื่มความสะดวกแก่ผู้ใช้งานจะได้ไม่ต้องแปลงไฟล์ รบกวน อ.ช่วยทำเป็นตัวอย่างให้หน่อยนะครับ ขอบคุณมากๆครับ :smile: :smile: :smile:
« แก้ไขครั้งสุดท้าย: 14 มิ.ย. 62 , 14:09:35 โดย aek »

 

14 มิ.ย. 62 , 15:52:23
ตอบกลับ #9

ปิ่นณรงค์

ลองศึกษา Function นี้ดูนะครับ
https://www.devhut.net/2017/05/14/vba-wia-convert-the-image-format/
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: O_o

14 มิ.ย. 62 , 19:15:54
ตอบกลับ #10

aek

ขอบคุณครับ เดี๋ยวจะขอลองศึกษาดูก่อนนะครับ :yuush:

 


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


 

Sitemap 1 2 3 4 5