maidinhdan > 24-10-17, 12:25 AM
(22-10-17, 10:22 PM)phungminhluan Đã viết: Hôm nay xin nhờ ace giúp đỡ như sau: mình muốn tạo code cho nút lệnh chọn file hình ảnh dùng hàm getfile nhưng sau khi chọn file xong thì copy file đã chọn qua thư mục chỉ định đồng thời đổi tên file đó theo cấu trúc tên định sẵn là mã đối tượng+ các chữ cái đầu trong tên đối tượng +năm sinh của đối tượng liên quan trong cùng record, sau đó mới lấy đường dẫn của file mới đổi tên lưu vào textBOx
ongke0711 > 24-10-17, 01:02 PM
(22-10-17, 10:22 PM)phungminhluan Đã viết: Hôm nay xin nhờ ace giúp đỡ như sau: mình muốn tạo code cho nút lệnh chọn file hình ảnh dùng hàm getfile nhưng sau khi chọn file xong thì copy file đã chọn qua thư mục chỉ định đồng thời đổi tên file đó theo cấu trúc tên định sẵn là mã đối tượng+ các chữ cái đầu trong tên đối tượng +năm sinh của đối tượng liên quan trong cùng record, sau đó mới lấy đường dẫn của file mới đổi tên lưu vào textBOx
Function CopyFileHinh(strImagePath As String, strFolderPath As String)
Dim answer As Integer
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strFolderPath) Then
answer = MsgBox("File da ton tai o foleder nay. " _
& "Ban co muon tiep tuc? Neu tiep luc Luu, " _
& "file cu se bi xoa!", _
vbInformation + vbYesNo)
If answer = vbNo Then
Exit Function
End If
Kill strFolderPath
End If
CopyFileHinh = fso.CopyFile(strImagePath, strFolderPath, True)
Set fso = Nothing
End Function
Private Sub cmdThemHinh_Click()
Dim strHinh As String
Dim strFolderLuuHinh As String
Dim strHinhLuu As String
Dim strTenFileHinh As String
Dim strTen As String
strTen = ConvertToUnSign(Mid(Me.txtTenNV, InStrRev(Me.txtTenNV, " ") + 1, 1)) 'Chuyen sang tieng Viet khong dau de tranh loi'
strTenFileHinh = Me.txtMaNV & strTen & Format(Me.txtNamSinh, "ddmmyyyy") & ".jpg"
strHinh = getFile
If strHinh = "" Then
MsgBox "Ban khong chon file nao.", vbCritical, "Canh bao"
Exit Sub
End If
If MsgBox("Chon Folder de luu anh nhân viên", vbInformation + vbOKCancel, "Chon Folder luu") = vbCancel Then
Exit Sub
Else
strFolderLuuHinh = getFolder
If strFolderLuuHinh = "" Then
MsgBox "Ban khong chon Folder nao de luu.", vbCritical, "Canh bao"
Exit Sub
Else
strHinhLuu = strFolderLuuHinh & "\" & strTenFileHinh
CopyFileHinh strHinh, strHinhLuu
Me.txtHinh = strHinhLuu
'Debug.Print strHinh & vbCrLf; strFolderLuuHinh & vbCrLf; strHinhLuu
End If
End If
End Sub
Function ConvertToUnSign(ByVal sContent As String) As String
Dim i As Long
Dim intCode As Long
Dim sChar As String
Dim sConvert As String
ConvertToUnSign = AscW(sContent)
For i = 1 To Len(sContent)
sChar = Mid(sContent, i, 1)
If sChar <> "" Then
intCode = AscW(sChar)
End If
Select Case intCode
Case 273
sConvert = sConvert & "d"
Case 272
sConvert = sConvert & "D"
Case 224, 225, 226, 227, 259, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861, 7863
sConvert = sConvert & "a"
Case 192, 193, 194, 195, 258, 7840, 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862
sConvert = sConvert & "A"
Case 232, 233, 234, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879
sConvert = sConvert & "e"
Case 200, 201, 202, 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878
sConvert = sConvert & "E"
Case 236, 237, 297, 7881, 7883
sConvert = sConvert & "i"
Case 204, 205, 296, 7880, 7882
sConvert = sConvert & "I"
Case 242, 243, 244, 245, 417, 7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901, 7903, 7905, 7907
sConvert = sConvert & "o"
Case 210, 211, 212, 213, 416, 7884, 7886, 7888, 7890, 7892, 7894, 7896, 7898, 7900, 7902, 7904, 7906
sConvert = sConvert & "O"
Case 249, 250, 361, 432, 7909, 7911, 7913, 7915, 7917, 7919, 7921
sConvert = sConvert & "u"
Case 217, 218, 360, 431, 7908, 7910, 7912, 7914, 7916, 7918, 7920
sConvert = sConvert & "U"
Case 253, 7923, 7925, 7927, 7929
sConvert = sConvert & "y"
Case 221, 7922, 7924, 7926, 7928
sConvert = sConvert & "Y"
Case Else
sConvert = sConvert & sChar
End Select
Next
ConvertToUnSign = sConvert
End Function
maidinhdan > 25-10-17, 10:21 PM
(24-10-17, 01:02 PM)ongke0711 Đã viết:Link file demo: http://www.mediafire.com/file/8uyli055p1...Folder.mdbMã PHP:Function CopyFileHinh(strImagePath As String, strFolderPath As String)
Dim answer As Integer
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strFolderPath) Then
answer = MsgBox("File da ton tai o foleder nay. " _
& "Ban co muon tiep tuc? Neu tiep luc Luu, " _
& "file cu se bi xoa!", _
vbInformation + vbYesNo)
If answer = vbNo Then
Exit Function
End If
Kill strFolderPath
End If
CopyFileHinh = fso.CopyFile(strImagePath, strFolderPath, True)
Set fso = Nothing
End Function
Function CopyFileHinh(strImagePath As String, strFolderPath As String)
Dim answer As Integer
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
If strImagePath<> strFolderPath then CopyFileHinh = fso.CopyFile(strImagePath, strFolderPath, True)
Set fso = Nothing
End Function
phungminhluan > 26-11-17, 01:24 PM
phungminhluan > 23-04-18, 01:37 PM
bvchauthanh > 14-10-19, 03:59 PM
ongke0711 > 14-10-19, 05:36 PM
(14-10-19, 03:59 PM)bvchauthanh Đã viết: Tiêu đề: Cách lưu hình ảnh vào trong table
Nội dung:
Hiện mình muốn tạo form để lưu hình ảnh vào trong table với trường có kiểu attachment. Mong mọi người giúp đỡ. Chân thành cám ơn
p/s: lưu trực tiếp từ table mình làm được, nhưng muốn tạo form để chọn file ảnh để lưu giống như lưu đường dẫn file ảnh vậy đó
bvchauthanh > 14-10-19, 08:19 PM
(14-10-19, 05:36 PM)ongke0711 Đã viết: Bạn xem bài này: https://thuthuataccess.com/forum/post-29...l#pid29691
Tôi dùng Image Control và lưu đường dẫn (Text) ảnh vào table chứ không dùng Field kiểu OLE Object hoặc Attachment.
- Lưu đường dẫn thì sẽ không làm file CSDL nặng thêm.
- Lưu kiểu Attachment, OLE là lưu trực tiếp vào Table. Làm dung lượng file accbd, mdb sẽ phình lên nếu nhiều hình.
bvchauthanh > 14-10-19, 09:38 PM
(14-10-19, 08:19 PM)bvchauthanh Đã viết:(14-10-19, 05:36 PM)ongke0711 Đã viết: Bạn xem bài này: https://thuthuataccess.com/forum/post-29...l#pid29691
Tôi dùng Image Control và lưu đường dẫn (Text) ảnh vào table chứ không dùng Field kiểu OLE Object hoặc Attachment.
- Lưu đường dẫn thì sẽ không làm file CSDL nặng thêm.
- Lưu kiểu Attachment, OLE là lưu trực tiếp vào Table. Làm dung lượng file accbd, mdb sẽ phình lên nếu nhiều hình.
Tks ongke0711 đã trả lời, vì mình chỉ cần lưu vài hình + tránh người dùng lỡ tay xóa => mất file, nên lấy ý tưởng nhét hình vào database, lục internet cả buổi chiều cuối cùng cũng có cách, nhưng giờ muốn hiển thị file Attachment đó lên control Image đang gặp khó, có cao nhân nào giúp mình 1 tay với! tks all!
ongke0711 > 14-10-19, 10:48 PM
(14-10-19, 09:38 PM)bvchauthanh Đã viết: Đã tìm ra được phương án cho ý tưởng này, sẵn đây share luôn cho ace nào cần dùng
Vui lòng tham khảo tại đây!