Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tự động thêm hình vào attachment field hoặc OLE Object
#1
Mình đang kẹt chỗ này nhờ bạn nào pro chỉ giúp;

+ Mình có table như bên dưới ;
+ data hình tại c:\img\[ mã hàng ].jpg

Yêu cầu: Mình muốn nhờ các bạn tạo Marco tự động chèn hình dựa trên mã hàng trong table vào cột attachmetns hoặc OLE object.
Mong các bạn chỉ giúp. Xin cảm ơn

[img][Hình: hinhmau.png][/img]
Chữ ký của thanbai241090 Xin chào, mình là thanbai241090, Tham gia http://thuthuataccess.com/forum từ ngày 23-04 -14.
Những người đã cảm ơn
#2
(23-04-14, 07:11 PM)thanbai241090 Đã viết: Mình đang kẹt chỗ này nhờ bạn nào pro chỉ giúp;

+ Mình có table như bên dưới ;
+ data hình tại c:\img\[ mã hàng ].jpg

Yêu cầu: Mình muốn nhờ các bạn tạo Marco tự động chèn hình dựa trên mã hàng trong table vào cột attachmetns hoặc OLE object.
Mong các bạn chỉ giúp. Xin cảm ơn

[img][Hình: hinhmau.png][/img]

Mình có một bài trả lời cho bạn danhxetnghiem về việc có nên lưu ảnh trong csdl không. Theo mình, mặc dù access cho phép làm điều đó, nhưng không nên tính đến việc này vì nó nguy hiểm đến sự an toàn của csdl và làm cho csdl nảy nở nhanh lắm. Chưa kể đến việc bạn sẽ cần đến nhiều thủ tục đưa ảnh ra ngoài ổ đĩa, cập nhập ảnh ...vv.
[quote thư gửi bạn Đinh Tiến Danh]

Bạn Danh xem thủ tục này

Mã PHP:
Private Sub cmdCaptureImage_Click()
    
txtLocation Replace(txtLocation"avi""jpg")
    If 
Dir(AppFolders.WorkingFolder "\" & txtLocation) <> "" Then Kill AppFolders.WorkingFolder & "\" & txtLocation
    vcx.SaveFrameJPG AppFolders.WorkingFolder & "
\" & txtLocation, 90
    'show it on screen
    Image25.Picture = AppFolders.WorkingFolder & "
\" & txtLocation
End Sub 
Thủ tục này thực hiện việc lưu một ảnh Jpeg vào thư mục làm việc của chương trình. Nếu muốn, bạn chỉ cần tạo một thư mục chẳng hạn imgages sau đó lưu file vào đó, địa chỉ lưu sẽ là như thế này.
AppFolders.WorkingFolder & "\images\" & txtLocation
Địa chỉ tương đối sẽ là
"\images\" & txtLocation
Sau này khi chuyển chương trình đi đâu thì nó vẫn đúng đường dẫn thật.
Khi mở file chỉ cần thêm đường dẫn chương trình đang chạy hiện tại CurrentProject.App là mở được ảnh!
Còn việc lưu tên file dưới dạng ngày tháng
thì bạn có thể thay thế thành
"\images\" & format(now(),"hh_mm_mm_dd_yyyy") & ".jpg"
Và bạn cập nhập đoạn này vào bảng dữ liệu với các thủ tục SQL thông thường!
Khi cần thì mở ra!
....
Xin chia sẻ như vậy!

[/quote]
Khuyến nghị Chỉ nên lưu đường dẫn của ảnh mà thôi, sau đó khi cần truy xuất ảnh, hãy dùng một picturebox để liên kết và hiển thị.
Cách chèn đơn giản là dùng truy vấn append hoặc update.
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Những người đã cảm ơn Noname
#3
Bạn Danh xem thủ tục này

Mã PHP:
Private Sub cmdCaptureImage_Click()
    
txtLocation Replace(txtLocation"avi""jpg")
    If 
Dir(AppFolders.WorkingFolder "\" & txtLocation) <> "" Then Kill AppFolders.WorkingFolder & "\" & txtLocation
    vcx.SaveFrameJPG AppFolders.WorkingFolder & "
\" & txtLocation, 90
    'show it on screen
    Image25.Picture = AppFolders.WorkingFolder & "
\" & txtLocation
End Sub 
Thủ tục này thực hiện việc lưu một ảnh Jpeg vào thư mục làm việc của chương trình. Nếu muốn, bạn chỉ cần tạo một thư mục chẳng hạn imgages sau đó lưu file vào đó, địa chỉ lưu sẽ là như thế này.
AppFolders.WorkingFolder & "\images\" & txtLocation
Địa chỉ tương đối sẽ là
"\images\" & txtLocation
Sau này khi chuyển chương trình đi đâu thì nó vẫn đúng đường dẫn thật.
Khi mở file chỉ cần thêm đường dẫn chương trình đang chạy hiện tại CurrentProject.App là mở được ảnh!
Còn việc lưu tên file dưới dạng ngày tháng
thì bạn có thể thay thế thành
"\images\" & format(now(),"hh_mm_mm_dd_yyyy") & ".jpg"
Và bạn cập nhập đoạn này vào bảng dữ liệu với các thủ tục SQL thông thường!
Khi cần thì mở ra!
....
Xin chia sẻ như vậy!

[/quote]
Khuyến nghị Chỉ nên lưu đường dẫn của ảnh mà thôi, sau đó khi cần truy xuất ảnh, hãy dùng một picturebox để liên kết và hiển thị.
Cách chèn đơn giản là dùng truy vấn append hoặc update.
[/quote]

Bạn làm cho mình file demo được hong?
Mình chỉ cần lưu đường dẫn file ảnh tương đối và cách truy xuất nó. Mình bí vụ này rổi.
Chữ ký của changkhoonline77 Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Những người đã cảm ơn
#4
(24-04-14, 07:28 PM)changkhoonline77 Đã viết: Bạn làm cho mình file demo được hong?
Mình chỉ cần lưu đường dẫn file ảnh tương đối và cách truy xuất nó. Mình bí vụ này rổi.
Bạn không cần phải demo cụ thể đến thế, hãy xem ví dụ này nhé:
1. Bạn có 1 trường trong CSDL là ImagePath
2. Trong thư mục ứng dụng của bạn, có một thư mục chứa ảnh như là image chẳng hạn.
Khi bạn cần tải ảnh vào một PictureBox thì đơn giản là đặt thuộc tính Picture của đối tượng PictureBox thành
PictureABC.Picture=CurrentProject.Path & "\image" & ImagePath
trong sự kiện tải ảnh.
Trong đó ImagePath có cú pháp luôn là
Tenanh.Jpg hoặc Thumuc1\Anh1.Jpg
Đấy là các địa chỉ tương đối, khi di chuyển chương trình đi đâu thì nó cũng luôn cập nhập được đường dẫn tuyệt đối bằng thuộc tính CurrentProject.Path (Thuộc tính này trả về đường dẫn chương trình Access của bạn).
Xin chia sẻ như thế nhé!
Thân!
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Những người đã cảm ơn
#5
(24-04-14, 10:16 PM)paulsteigel Đã viết:
(24-04-14, 07:28 PM)changkhoonline77 Đã viết: Bạn làm cho mình file demo được hong?
Mình chỉ cần lưu đường dẫn file ảnh tương đối và cách truy xuất nó. Mình bí vụ này rổi.
Bạn không cần phải demo cụ thể đến thế, hãy xem ví dụ này nhé:
1. Bạn có 1 trường trong CSDL là ImagePath
2. Trong thư mục ứng dụng của bạn, có một thư mục chứa ảnh như là image chẳng hạn.
Khi bạn cần tải ảnh vào một PictureBox thì đơn giản là đặt thuộc tính Picture của đối tượng PictureBox thành
PictureABC
.Picture=CurrentProject.Path & "\image" & ImagePath
trong sự kiện tải ảnh.
Trong đó ImagePath có cú pháp luôn là
Tenanh.Jpg hoặc Thumuc1\Anh1.Jpg
Đấy là các địa chỉ tương đối, khi di chuyển chương trình đi đâu thì nó cũng luôn cập nhập được đường dẫn tuyệt đối bằng thuộc tính CurrentProject.Path (Thuộc tính này trả về đường dẫn chương trình Access của bạn).
Xin chia sẻ như thế nhé!
Thân!
Mình không hiểu ở chỗ màu đỏ.
PictureBox là gì?
sự kiện tải ảnh là onload ak?
Chữ ký của changkhoonline77 Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Những người đã cảm ơn
#6
1/ Bài viết của anh paulsteigel là rất rõ ràng, chỉ là quên chưa nói khi ta thực hiện ở form vì ở table không thấy được ảnh, chỉ khi làm trên form ,mới chèn được ảnh và nhìn thấy nó
2/ Loại bài này đã có rất nhiều trên diễn đàn, chỉ là các bạn không chịu tìm trước khi đặt câu hỏi
Các bạn tham khảo tại đây

http://thuthuataccess.com/forum/thread-81.html
http://thuthuataccess.com/forum/thread-3227.html

Thân mến
Xin close topic
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Ngày tháng tự động theo hệ thống trungminh 3 250 10-09-16, 12:33 PM
Bài mới nhất: cpucloi
  [Help] ràng buộc dữ liệu giữa 2 field trong 2 bảng khác nhau hoangtiep 5 281 08-07-16, 05:07 PM
Bài mới nhất: maidinhdan
  [Help] Tự động chọn dữ liệu theo cột đằng trước minbk 10 1,709 05-06-16, 10:32 AM
Bài mới nhất: tacongthang
  Gán dữ liệu cho tất cả các field trav2t 3 399 02-02-16, 12:52 PM
Bài mới nhất: lehongduc
  [Help] Code không hoạt động được với Linked table vulhu06 2 370 26-01-16, 02:30 PM
Bài mới nhất: lttruc682

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ