mở file Word có điều kiện từ combobox thì làm sao đây?

nttien1234

New Member
Hội viên mới
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:-/QLBAIGIANG\gtvb.doc", vbMaximizedFocus)
End If
Case "M05"
If MsgBox("Ban muon xem Noi Dung Mon nay khong?", vbQuestion + vbYesNo, "HOI LAI") = vbYes Then
ht = Shell("WinWord.exe D:-/QLBAIGIANG\gtword.doc", vbMaximizedFocus)
End If
Case "M08"
If MsgBox("Ban muon xem Noi Dung Mon nay khong?", vbQuestion + vbYesNo, "HOI LAI") = vbYes Then
ht = Shell("WinWord.exe D:-/QLBAIGIANG\gtaccess.doc", vbMaximizedFocus)
End If
Case Else
MsgBox "Mon nay chua co Noi Dung", vbInformation, "THONG BAO"
End Select
End If
End If
End Sub

Xem đoạn code thì các Bác đã hiểu e muốn làm j rồi phải ko, nhưng e muốn là khi 1 ng khác cập nhật thêm 1 Môn mới thì làm sao khi ng đó click nút btxemnd thì nó hiểu để mở file Word của Môn đó lên, chẳng lẽ mỗi lần cập nhật một Môn mới thì phải 1 lần viết code àh,:hichic:

Mong các Bác nào pro giúp e việc này, e xin thank trước!!!!
 
Ðề: 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!!!
-----------------------------------------------------------------------------------------
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

Chúc thành công!

Bác có thể nói cụ thể lại phần này được không, mình ko rõ lắm?

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!!!!!!
 
Sửa lần cuối:
Ðề: 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 & "'"
 
Ðề: 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 & "'"

e đã sửa lại chỗ đó như Bác muontennguoi nói, và nó bào lỗi là:

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:
 
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?

e đã sửa lại chỗ đó như Bác muontennguoi nói, và nó bào lỗi là:

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:

giả sử bạn có T_DMMonHoc gồm 2 field là : MaMon và TenMonHoc

mamon| tenmonhoc
M02| Visual Basic
M05 | Microsoft Word
M08 | Microsoft Access

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:
mamon| tenmonhoc | filename
M02| Visual Basic | gtvb
M05 | Microsoft Word | gtword
M08 | Microsoft Access | gtaccess
 
Ðề: 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:
 
Sửa lần cuối:
Ðề: 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:
 
Ðề: 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.
 
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?

cám ơn Bác muontennguoi nhìu lắm!!!

Cuối cùng e cũng làm đc rùi!!!! Ôi vui quá là vui!!!!

Nhân đây e cũng thank 2 Bác muontennguoi và Bác dongnamnb nhìu nhìu lắm!!!!

:danhtrong::dotphao::noinhiu::noinhiu:
-----------------------------------------------------------------------------------------

thank nha Bác dongnamnb!!!! Vui ơi là Vui!!!!:danhtrong:
 
Sửa lần cuối:
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?

Xem lại thì có vẻ cách viết như vậy hơi dài. Mình ngồi lọ mọ 1 lúc test thử thấy cái này ngắn và dễ hiểu hơn 1 chút.
Private Sub Command2_Click()
Dim file As String
file = CurrentProject.Path & "\" & Me.cmb1 & ".doc"
MsgBox file
If (Dir(file) <> "") Then


Shell "WinWord.exe " & """" & file & """", vbMaximizedFocus
Else
MsgBox "Khong co"
End If
End Sub

với cmb1 là combobox nằm trên form và được gán bằng tên file word(trường Noidung)
 
Ðề: mở file Word có điều kiện từ combobox thì làm sao đây?

thank bác behattieu, xem ra cách này ngắn hơn!!! để e làm thử :k6175436:
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top