vuthaiha90 > 12-04-19, 12:03 PM
Xuân Thanh > 12-04-19, 01:05 PM
vuthaiha90 > 12-04-19, 04:19 PM
ongke0711 > 12-04-19, 11:22 PM
(12-04-19, 12:03 PM)vuthaiha90 Đã viết: Em chào các bác, em có vấn đề muốn hỏi như thế này: trong bản Word cần điền các thông tin như TenKH, DiaChi, NoiCongTac, SoTienVay, ThoiHanVay, TongThuNhap. Em cũng đã tạo Table bên access với các trường như vậy, giờ cho em hỏi là tương ứng với 1 dòng trong table sẽ ra 1 bản word có sẵn format chỉ điền thêm thông tin từ access vào thì làm cách nào ạ. File của em đây ạ
Set rst = db.OpenRecordset ("SELECT * FROM tblKhachHang WHERE [Print]=-1", dbOpenSnapShot)
If rst.BOF And Rst.EOF Then Exit Sub
rst.MoveFirst
Do While Not rst.EOF
Set doc = appWord.Documents.Open(FilePath)
With doc
.FormFields("fldHoTen").Result = rst!HoTen
.FormFields("fldDiaChi").Result = rst!DiaChi
...
.SaveAs FileName:="KhachHang_" & rst!MaKH & "_" & Format(Date, "ddmmyyyy")
End With
rst.MoveNext
Loop
vuthaiha90 > 13-04-19, 09:48 AM
(12-04-19, 11:22 PM)ongke0711 Đã viết:(12-04-19, 12:03 PM)vuthaiha90 Đã viết: Em chào các bác, em có vấn đề muốn hỏi như thế này: trong bản Word cần điền các thông tin như TenKH, DiaChi, NoiCongTac, SoTienVay, ThoiHanVay, TongThuNhap. Em cũng đã tạo Table bên access với các trường như vậy, giờ cho em hỏi là tương ứng với 1 dòng trong table sẽ ra 1 bản word có sẵn format chỉ điền thêm thông tin từ access vào thì làm cách nào ạ. File của em đây ạ
Vụ này cũng đơn giản là dùng vòng lặp thôi bạn.
- Việc xuất ra Word thì tôi nghĩ bạn đã biết rồi, không bàn tới nữa.
- Đối với table danh sách khách hàng cần xuất, bạn thêm một trường dạng yes/no đặt tên [Print]. Đây là thủ thuật để bạn chọn khách hàng nào cần in hợp đồng (Word) thì tick chọn checkbox trên Form.
- Dùng vòng lặp duyệt qua bảng danh sách KH này và chỉ lấy maKH nào có chọn Print = True thôi.
- Xuất Word theo từng record duyệt qua ở trên và lưu với tên là mã khách hàng + ngày giờ để để phân biệt file word nào là của khách hàng nào.
- Về code: demo
Mã PHP:Set rst = db.OpenRecordset ("SELECT * FROM tblKhachHang WHERE [Print]=-1", dbOpenSnapShot)
If rst.BOF And Rst.EOF Then Exit Sub
rst.MoveFirst
Do While Not rst.EOF
Set doc = appWord.Documents.Open(FilePath)
With doc
.FormFields("fldHoTen").Result = rst!HoTen
.FormFields("fldDiaChi").Result = rst!DiaChi
...
.SaveAs FileName:="KhachHang_" & rst!MaKH & "_" & Format(Date, "ddmmyyyy")
End With
rst.MoveNext
Loop
Xuân Thanh > 13-04-19, 10:29 AM
Sub MaiMer()
....
oDoc.OpenDataSource Name:=DatabaseName, _
SQLStatement:="SELECT * FROM [MyTable]"
....
End Sub
ongke0711 > 13-04-19, 01:28 PM
vuthaiha90 > 13-04-19, 07:45 PM
(13-04-19, 10:29 AM)Xuân Thanh Đã viết: 1
(13-04-19, 01:28 PM)ongke0711 Đã viết: 2
ongke0711 > 13-04-19, 08:27 PM
vuthaiha90 > 13-04-19, 08:49 PM