-
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:
- Giúp em tồn kho với cả nhà ơi!
- TIP : Ẩn Table trong ACCESS .
- Bắt sự kiện Report được in ra máy in?
- Xóa các record trong table access
- Hỏi query Xuất Nhập Tồn
- Chuyên đề ứng dụng : Thiết kế chương trình Sổ Quỹ Tiền Mặt(Phần 2 - Query và Report)
- Làm sao để ghi dữ liệu vào record?
- Làm thế nào để chặn thông báo lỗi của Query !
- [Help] Về refresh dữ liệu trong access 2007
- giúp em sử dụng đoạn code này với!!!
-
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.
Tương tự như nguyên lý hoạt động của trứng rung tình ái wireless, Svakom cũng được tích hợp tính năng điều khiển từ xa để người dùng dễ dàng điều chỉnh hơn trong quá trình tự sướng. Tuy nhiên, điểm...
Chày rung không dây Svakom Elva khiến các cô sung và sướng