|
Nhập hình
ảnh tự động trong Access
|
|
Đó hỏi:
Em đang làm một bài tập trên Access 2003 để quản lý
thông tin học sinh. Trên form nhập thông tin có phần
nhập ảnh của học sinh. Việc nhập ảnh này mất nhiều
thời gian. Có cách nào để nhập ảnh một cách tự động
khi đã có tập tin ảnh? Xin e-CHÍP chỉ giùm em với. |
|
<MuaMuaHa_72422@> |
|
Đây trả lời:
Một table của database Access chứa hình ảnh trong
một field có kiểu dữ liệu là OLE Object. Việc đưa dữ
liệu vào từ form được thực hiện thông qua Bound
Object Frame control. Mặc định, người sử dụng muốn
nhập hình ảnh phải bấm phím phải chuột, rồi chọn mục
Insert Object để chọn tập tin hình ảnh. Để nhập ảnh
tự động, bạn phải sử dụng mã lệnh VBA.
Bạn nên chứa tập tin ảnh theo cách sau: Phần đầu tên
tập tin trùng với Mã học sinh, phần đuôi là .BMP
hoặc .JPG. Ví dụ: ảnh của học sinh lớp 10A3 có ma
học sinh 10A3_001 sẽ được lưu dưới tên tập tin là
10A3_001.JPG. Các tập tin đặt trong một thư mục
riêng để dễ quản lý. Trong ví dụ này, tôi sử dụng
cùng thư mục chứa database.
Giả sử trên form nhập thông tin có một text box tên
MaHocSinh dùng để nhập dữ liệu cho field MaHocSinh
và một Bound Object Frame có tên HinhAnh dùng để
nhập dữ liệu cho field HinhAnh. Bạn thiết kế thêm
một nút lệnh có tên cmdNhapHinhAnh rồi gõ vào đoạn
mã 1.
Như vậy, mỗi lần nhập thông tin học sinh, khi bấm
nút cmdNhapHinhAnh, chương trình tự động kiểm tra mã
học sinh, nếu khác rỗng thì tìm kiếm tập tin hình
ảnh tương ứng, nếu tìm thấy thì tạo liên kết tập tin
này với field HinhAnh.
Bạn lưu ý, nếu kiểu đối tượng của field HinhAnh là
liên kết (acOLELinked) thì thuộc tính Action phải là
acOLECreateLink, nếu là kiểu nhúng (cOLEEmbedded)
thì thuộc tính Action phải là acOLECreateEmbed. Nếu
nhúng tập tin vào field sẽ làm cho kích thước table
tăng lên nhanh chóng. Microsoft khuyến khích sử dụng
kiểu liên kết như trong ví dụ đang xét: các tập tin
hình ảnh vẫn nằm trong thư mục đã định, khi sao chép
database bạn phải chép các tập tin này theo, vì
Access chỉ nhớ đường dẫn chứ không gắn nội dung hình
ảnh vào table. |
|
Đoạn
mã 1 |
Dim cPath ‘ Xài chung
cho toàn bộ form
Private Sub cmdNhapHinhAnh_Click()
If
IsNull(MaHocSinh) Then
MsgBox
"Mã học sinh không được để trống"
Exit
Sub
End If
Dim
cPathTapTinAnh As String, cTapTinAnh As String
cPathTapTinAnh = cPath & "\" & Me.MaHocSinh & ".JPG"
cTapTinAnh
= UCase(Me.MaHocSinh & ".JPG")
If
Dir(cPathTapTinAnh) <> cTapTinAnh Then
MsgBox
"Học sinh này chưa có ảnh !"
Exit Sub
End If
With
HinhAnh
.Class
= "Bitmap.Image" ' Tên class để nhận tập tin kiểu
hình ảnh.
.OLETypeAllowed = acOLELinked ‘ Kiểu đối tượng là
liên kết
.SourceDoc = cPathTapTinAnh
.Action = acOLECreateLink ‘ Liên kết hình ảnh với
field
End With
End Sub
Private Sub Form_Load()
cPath =
Application.CurrentProject.Path
End Sub |
|
CHƯƠNG CAN CHÍP |
|
Làm ẩn
hay hiện biểu tượng Recycle Bin của Vista |
|
Đó hỏi:
Tôi đang dùng Windows Vista, nhưng không hiểu sao
biểu tượng Recycle Bin không xuất hiện trên desktop.
Làm ơn chỉ giùm cách phục hồi biểu tượng này. |
|
<quanhi123456@> |
|
 |
|
Đây trả lời:
Nếu muốn cho ẩn hay hiện biểu tượng Recycle Bin trên
desktop, bạn hãy bấm phím phải chuột vào khoảng
trống trên màn hình desktop rồi chọn lịnh
Personalization trong menu ngữ cảnh > bấm chuột vào
mục Change desktop icons ở khung bên trái > dùng
chuột đánh dấu chọn (cho hiện) hay bỏ dấu chọn (cho
ẩn) mục Recycle Bin trong phần Desktop Icons > bấm
OK. |
|
Ẩn hay ịiện gạch dưới tên biểu
tượng |
|
Đó hỏi:
Hiện máy tính của
tôi, các biểu tượng đều bị gạch ngang dưới tên biểu
tượng. Xin quý báo giúp tôi loại bỏ các gạch dưới
này. |
|
<hongkhanh39@> |
|
Đây trả lời:
Hiện tượng này chỉ có khi bạn chọn chế độ bấm phím
chuột 1 lần lên biểu tượng để kích hoạt chương
trình. Để thay đổi, bạn mở Start | Control Panel và
bấm chuột vào biểu tượng Folder Option, trong bảng
General, bạn chọn mục Underline icon titles only
when I point at them để đường gạch dưới chỉ xuất
hiện khi bạn đưa chuột lên biểu tượng. Bạn cũng có
thể chọn chế độ bấm kép phím chuột lên biểu tượng
khi cần kích hoạt chương trình (Double-click to open
an item) để không cho xuất hiện gạch dưới nữa. |
|
Lê Hoàn |
|
[Đầu trang]
|