-
06-10-2009, 06:25 AM #1Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
mở file Word có điều kiện từ combobox thì làm sao đây?
mở file Word có điều kiện thì phải làm sao hả các Bác?
vd: mình có 1 combobox có tên là cbchonmamon, trong đây e chứa MaMon từ Table trong e đã tạo, 1 nút commandbutton có tên là btxemnd và 1 số file Word chứa nội dung bài giảng của một số Môn học.
Lúc đầu e làm 1 form có tên là formxemndbaigiang, và gán một số Môn tương ứng với file Word e đang có, còn những Môn khác thì không có và e viết code này để đọc nội dung file Word khi tìm thấy điều kiện đúng, đoạn code như sau:
private sub btxemnd_Click()
Dim ht, congviec As String
congviec = Me.cbmonhoc.Value
Select Case congviec
Case "M02"
If MsgBox("Ban co muon xem Noi Dung Mon nay khong?", vbQuestion + vbYesNo, "HOI LAI") = vbYes Then
ht = Shell("WinWord.exe D:hichic:
Mong các Bác nào pro giúp e việc này, e xin thank trước!!!!View more random threads:
- Đi tìm đường dẫn của BACK END
- Đóng gói access
- Form tự đóng sau 5s ( tuỳ ý )
- File nào là Front End , File nào là Back End
- Làm sao Combobox lấy dữ liệu cột thứ 2 của bản
- Tắt mục
- Không đánh biến vào các Qerry nữa
- Gửi và truyền dữ liệu từ xa
- Đếm ngày trong một Tháng/Năm
- Cho mình hỏi có cách nào để kiểm tra 1 Control có nhận Focus hay không ?
-
06-10-2009, 03:21 PM #2Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
Gửi bởi nttien1234
1. Trong Table Danh sách môn học, bạn thêm một trường là FileName để chứa tên file word của môn học đó. Mục đích là khi NSD chọn mã môn học thì bạn đã có tên file .doc tương ứng của môn học này rồi và sẽ mở nó ra. Hàm để xác định tên file word thông qua mã môn học bạn viết như sau:
Function fTenFile(MaMon)
Dim db As Database, Rec As Recordset, mMaMon As String
If IsNull(MaMon) Or MaMon = "" Then
fTenFile = ""
Exit Function
End If
mMaMon = Trim$(MaMon)
Set db = CurrentDB()
Set Rec = db.OpenRecordset("tblDSMonHoc", DB_OPEN_DYNASET)
Rec.FindFirst "mMaMon='" & MaMon & "'"
If Rec.NoMatch Then
fTenFile = Null
Else
fTenFile = Rec!FileName
End If
Rec.Close
Set db = Nothing
End Function
2. Bạn sử dụng hàm để kiểm tra sự tồn tại của 1 file như sau:
Function fTonTaiTep(Path As String) As Boolean
If Dir$(Path) = "" Then
fTonTaiTep = False
Else
fTonTaiTep = True
End If
End Function
3. Bạn nên dùng phương thức CurrentProject.Path để xác định đường dẫn chứa các file .doc. Như vậy khi NSD sao chép chương trình đi bất kỳ vị trí nào trong máy thì chương trình của bạn vẫn chạy mà không phải sửa lại code.
*** Với ý tưởng của mình thì thủ tục btxemnd_Click sẽ như sau:
private sub btxemnd_Click()
Dim Tenfile As String
TenFile =CurrentProject.Path & fTenFile(Me.cbmonhoc.Value) & ".DOC"
if fTonTaiTep(TenFile) then
Shell "WinWord.exe " & TenFile, vbMaximizedFocus
else
MsgBox "Mon nay chua co Noi Dung", vbInformation, "THONG BAO"
end if
End Sub
Chúc thành công!
-
06-10-2009, 11:19 PM #3Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
bài viết rất hay, mình xin thank bạn trước, để mình làm thử rùi có j mình pm bạn sau!!!!:noinhiu:
thank you very much!!!
-----------------------------------------------------------------------------------------
Gửi bởi dongnamnb
Cái form để cập nhật Môn Học thì mình làm rùi, còn trong bảng Danh sách Môn Học mình thêm trường là fileName và chứa "tên file Word àh hay là nguyên 1 file Word luôn"???? Mình pó tay khúc này rùi, đoạn code của Bác đưa cho mình chạy thì nó bào lỗi này nè:
Run-time error: '3070'
The Microsoft Jet Database engine does not recognize 'mMaMon' as a vaild field name or expression.
và nó tô sáng cái dòng này nè:
Function fTenFile(mamon1)
Dim db As Database, Rec As Recordset, mMaMon As String
If IsNull(mamon1) Or mamon1 = "" Then
fTenFile = ""
Exit Function
End If
mMaMon = Trim$(mamon1)
Set db = CurrentDb()
Set Rec = db.OpenRecordset("T_DMMonHoc", DB_OPEN_DYNASET)
Rec.FindFirst "mMaMon='" & mamon1 & "'"
If Rec.NoMatch Then
fTenFile = Null
Else
fTenFile = Rec!fileName
End If
Rec.Close
Set db = Nothing
End Function
Giờ e cũng ko biết sao luôn.Mong bác giúp e với, e thank bác nhìu lắm!!!!!!
-
06-11-2009, 02:07 AM #4Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
mMaMon: là tên của 1 biến nhớ.
MaMon mới là tên của 1 filed trong T_DMMonHoc .
Sửa lại câu đó là:
Rec.FindFirst "MaMon='" & mMaMon & "'"
-
06-11-2009, 03:56 AM #5Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
Gửi bởi muontennguoi
Run-time error: '3265'
Item not found in this collection.
vậy theo Bác e nên thêm file Word vào trường tên là fileName như Bác dongnamnb nói thì phải làm sao??? E ko hiểu phần này nè!!!
theo e nghĩ thì lỗi này nó ko tìm thấy file Word nào để mở phải ko Bác? và e muốn thêm file Word vô trường là fileName thì phải làm sao?:gaitai:
-
06-11-2009, 08:22 AM #6Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
Gửi bởi nttien1234
Như vậy nếu muốn thêm môn học mới thì bạn sẽ tạo 1 cái Form để cho người ta cập nhật vào.
Bây giờ thêm 1 field và cũng cập nhật bằng cách dùng lại form đó (thêm 1 field nữa thôi) sao cho người dùng sẽ cập nhật table có dạng:
-
06-11-2009, 02:31 PM #7Silver member
- Ngày tham gia
- Sep 2015
- Bài viết
- 85
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
Gửi bởi nttien1234
Lỗi ở trên bạn sửa MaMon = Tên trường mã môn trong table của bạn và mMaMon = MaMon nhé. Thế này này:
Rec.FindFirst "Tên trường mã môn trong table của bạn='" & MaMon & "'"
Các thủ tục ở trên cũng chưa được test thử nên sẽ có lỗi. bạn khai báo lại biến và sửa lại tên trường đúng với CSDL của bạn thì sẽ chạy.
Nếu cần bạn cứ up lên đây, mọi người sẽ giúp bạn
-
06-11-2009, 03:03 PM #8Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
xin thank Bác dongnamnb trước, để mình test thử coi, rồi báo cho Bác biết!!!
thank you very much!!!:dangyeu:
-----------------------------------------------------------------------------------------
mình đã sửa lại như bạn nói và nó ko còn báo lỗi nữa, nhưng gặt nổi khi bấm nút cmdxemnd thì nó ko chịu mở file Word lên mà nó cứ báo là: Khong tim thay noi dung mon nay, mình cũng đành pó tay phần này rồi.
Nay mình up file lên mong bạn và các Bác nào pro trong diễn đàn giúp mình với:sohappy:
Link đây:
http://www.mediafire.com/download.php?z1jndnjzkzn
Trong file mình đã tạo 1 table là BaiGiangGV và chỉ có 3 trường: MaBG, TenBG, NoiDung, tại mình nghĩ để vào table DMMonHoc thì nó dài quá nên mình tách ra vậy cho dễ quản lý một chút ấy mà,trong form mình cũng đã tạo 1 form và đưa table đó vào, code thì mình cũng đã làm sẵn hết, mong các Bác pro xem và giúp mình với!!!
Mình xin thank các pro trước nha!!!:ngaytho:
-
06-12-2009, 05:45 AM #9Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
ko ai giúp e hết hả??? Bùn như con chuồn chuồn luôn???
:k4929481:
-
06-12-2009, 09:53 AM #10Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 1
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?
Bạn sửa lại 1 chút:
Private Sub cmdxemnd_Click()
Dim Tenfile As String
Tenfile = CurrentProject.Path & "\" & fTenFile(Me.mabg1.Value) & ".DOC"
If fTonTaiTep(Tenfile) Then
Shell "WinWord.exe " & """" & Tenfile & """", vbMaximizedFocus
Else
MsgBox "Mon nay chua co Noi Dung", vbInformation, "THONG BAO"
End If
End Sub
1/. thiếu dấu chéo, chuyện này chắc dễ hiểu.
2/. nếu tên file hoặc folder có chứa khoảng trống (VD "C:-/Document and Setting\") bạn phải bao nó lại bằng dấu nháy kép thì máy mới hiểu tòan bộ trong ngoặc đó là 1 tham số duy nhất.
Lợi ích khi sử dụng pallet nhựa An Giang Pallet nhựa An Giang là một trong những sản phẩm quan trọng trong ngành vận chuyển và lưu trữ hàng hóa tại khu vực miền Tây Nam Bộ. Được làm từ chất liệu...
Lợi ích khi sử dụng pallet nhựa An Giang