Câu hỏi

26/04/2013 21:51
Hỏi về kết nối CSDL Access với Visual Basic, và cách đọc file excel rồi xuất báo cáo trong Visual Basic
Chào cả nhà. Mình bây giờ mới tập toẹ về lập trình VB cho mình hỏi chút nhé.
Mình lập trình bằng VB6 thì có thể liên kết với Access 2003 được không. và mình muốn xuất báo cáo sang dạng file word và excel thì làm thế nào?
2 việc này thực sự rất quan trọng với mình Các bạn giúp mình với!
Uni2805
26/04/2013 21:51
ducvan1993
26/04/2013 21:51
thieugia88
26/04/2013 21:51
Handoivodoi
26/04/2013 21:51
thieugia88
26/04/2013 21:51
Mình lập trình bằng VB6 thì có thể liên kết với Access 2003 được không. và mình muốn xuất báo cáo sang dạng file word và excel thì làm thế nào?
2 việc này thực sự rất quan trọng với mình Các bạn giúp mình với!
Danh sách câu trả lời (6)

Trích dẫn:
Từ bài viết của vietnam
* Đầu tiên bạn phải có 1 CSDL Access với tên là QuanLyGiDo.mdb(đặt tên tùy ý).
* Vào VB 6.0 tạo 1 Project mới, thiết kế 1 Form với đầy đủ các Control mà bạn cần.
* Vào menu Project chọn References, đánh dấu check vào Microsoft ActiveX Data Objects 2.8 Library rùi chọn OK.
* Trên thanh Standard chọn nút thứ 2 từ trái sang, click vào tam giác nhỏ quay xuống màu đen chọn Module. Bắt đầu viết code kết nối CSDL, như sau:
'Khai báo biến
Option Explicit
Public cn As New ADODB.Connection 'ngay chổ này, nếu bạn không vào Project --> References chọn Microsoft ActiveX Data Objects 2.8 Library thì chấm (.) nó sẽ không ra Connection đâu.
Sub Connect()
If cn.State = adStateClosed Then
cn.Provider = "Microsoft.jet.OLEDB.4.0"
cn.ConnectionString = App.Path & "QuanLyGiDo.mdb"
cn.Open
End If
End Sub 'Kết thúc module Connect
* Quay lại Form thiết kế gọi thủ tục Connect, như sau:
Private Sub Form_Load()
Call Module1.Connect
.....
End Sub
===> Thế là xong dữ liệu đã được kết nối. Để hiễn thị dữ liệu trên Form thì bạn phải khai báo các RecordSet cần thiết theo yêu cầu Form của bạn nữa, ...
Còn về kết nối bạn có thể thử dùng Merge Field từ MS Word, cũng tốt lắm đó . Làm cái form xong xuôi rồi mới select cái database (tức là cái Excel file mình muốn report). Mày mò chút thì ra. Mình không biết Excel file của bạn format nó như thế nào nên khó chỉ. Nhưng nếu biết dùng Merge Fields của Word rồi thì làm được ngay.
Chúc bạn thành công !
* Đầu tiên bạn phải có 1 CSDL Access với tên là QuanLyGiDo.mdb(đặt tên tùy ý).
* Vào VB 6.0 tạo 1 Project mới, thiết kế 1 Form với đầy đủ các Control mà bạn cần.
* Vào menu Project chọn References, đánh dấu check vào Microsoft ActiveX Data Objects 2.8 Library rùi chọn OK.
* Trên thanh Standard chọn nút thứ 2 từ trái sang, click vào tam giác nhỏ quay xuống màu đen chọn Module. Bắt đầu viết code kết nối CSDL, như sau:
'Khai báo biến
Option Explicit
Public cn As New ADODB.Connection 'ngay chổ này, nếu bạn không vào Project --> References chọn Microsoft ActiveX Data Objects 2.8 Library thì chấm (.) nó sẽ không ra Connection đâu.
Sub Connect()
If cn.State = adStateClosed Then
cn.Provider = "Microsoft.jet.OLEDB.4.0"
cn.ConnectionString = App.Path & "QuanLyGiDo.mdb"
cn.Open
End If
End Sub 'Kết thúc module Connect
* Quay lại Form thiết kế gọi thủ tục Connect, như sau:
Private Sub Form_Load()
Call Module1.Connect
.....
End Sub
===> Thế là xong dữ liệu đã được kết nối. Để hiễn thị dữ liệu trên Form thì bạn phải khai báo các RecordSet cần thiết theo yêu cầu Form của bạn nữa, ...
Còn về kết nối bạn có thể thử dùng Merge Field từ MS Word, cũng tốt lắm đó . Làm cái form xong xuôi rồi mới select cái database (tức là cái Excel file mình muốn report). Mày mò chút thì ra. Mình không biết Excel file của bạn format nó như thế nào nên khó chỉ. Nhưng nếu biết dùng Merge Fields của Word rồi thì làm được ngay.
Chúc bạn thành công !
bay jo ban co them hinh` anh? huong dan thi tot hon chu noi the nay thi hoi kho hieu?

bac nao co the giup minh khong minh dang lam de tai ma khong biet cach lap trinh nhu sao
1, 2, 3 co the truy xuat danh sach file word ra.16
tu 16 co the truy xuat file word ra khung 8 file word nam trong databate co sang va datbate co the duoc up date thuong xuyên
toi can gap lambac nao biet giup toi voii
mail cua toi
phantandat3000@yahoo.com
phantandat3000@gmail.com
phone 0909072804
069637800 dat
1, 2, 3 co the truy xuat danh sach file word ra.16
tu 16 co the truy xuat file word ra khung 8 file word nam trong databate co sang va datbate co the duoc up date thuong xuyên
toi can gap lambac nao biet giup toi voii
mail cua toi
phantandat3000@yahoo.com
phantandat3000@gmail.com
phone 0909072804
069637800 dat

tao modul ket noi voi access
khai bao va thiet dat mot voi co so du lieu minh da tao. neu muon biet cu the ban hay tim phan co tu hoc vb tg 21 ngay. su dung ado.
khai bao va thiet dat mot voi co so du lieu minh da tao. neu muon biet cu the ban hay tim phan co tu hoc vb tg 21 ngay. su dung ado.

* Đầu tiên bạn phải có 1 CSDL Access với tên là QuanLyGiDo.mdb(đặt tên tùy ý).
* Vào VB 6.0 tạo 1 Project mới, thiết kế 1 Form với đầy đủ các Control mà bạn cần.
* Vào menu Project chọn References, đánh dấu check vào Microsoft ActiveX Data Objects 2.8 Library rùi chọn OK.
* Trên thanh Standard chọn nút thứ 2 từ trái sang, click vào tam giác nhỏ quay xuống màu đen chọn Module. Bắt đầu viết code kết nối CSDL, như sau:
'Khai báo biến
Option Explicit
Public cn As New ADODB.Connection 'ngay chổ này, nếu bạn không vào Project --> References chọn Microsoft ActiveX Data Objects 2.8 Library thì chấm (.) nó sẽ không ra Connection đâu.
Sub Connect()
If cn.State = adStateClosed Then
cn.Provider = "Microsoft.jet.OLEDB.4.0"
cn.ConnectionString = App.Path & "\QuanLyGiDo.mdb"
cn.Open
End If
End Sub 'Kết thúc module Connect
* Quay lại Form thiết kế gọi thủ tục Connect, như sau:
Private Sub Form_Load()
Call Module1.Connect
.....
End Sub
===> Thế là xong dữ liệu đã được kết nối. Để hiễn thị dữ liệu trên Form thì bạn phải khai báo các RecordSet cần thiết theo yêu cầu Form của bạn nữa, ...
Còn về kết nối bạn có thể thử dùng Merge Field từ MS Word, cũng tốt lắm đó . Làm cái form xong xuôi rồi mới select cái database (tức là cái Excel file mình muốn report). Mày mò chút thì ra. Mình không biết Excel file của bạn format nó như thế nào nên khó chỉ. Nhưng nếu biết dùng Merge Fields của Word rồi thì làm được ngay.
Chúc bạn thành công !
* Vào VB 6.0 tạo 1 Project mới, thiết kế 1 Form với đầy đủ các Control mà bạn cần.
* Vào menu Project chọn References, đánh dấu check vào Microsoft ActiveX Data Objects 2.8 Library rùi chọn OK.
* Trên thanh Standard chọn nút thứ 2 từ trái sang, click vào tam giác nhỏ quay xuống màu đen chọn Module. Bắt đầu viết code kết nối CSDL, như sau:
'Khai báo biến
Option Explicit
Public cn As New ADODB.Connection 'ngay chổ này, nếu bạn không vào Project --> References chọn Microsoft ActiveX Data Objects 2.8 Library thì chấm (.) nó sẽ không ra Connection đâu.
Sub Connect()
If cn.State = adStateClosed Then
cn.Provider = "Microsoft.jet.OLEDB.4.0"
cn.ConnectionString = App.Path & "\QuanLyGiDo.mdb"
cn.Open
End If
End Sub 'Kết thúc module Connect
* Quay lại Form thiết kế gọi thủ tục Connect, như sau:
Private Sub Form_Load()
Call Module1.Connect
.....
End Sub
===> Thế là xong dữ liệu đã được kết nối. Để hiễn thị dữ liệu trên Form thì bạn phải khai báo các RecordSet cần thiết theo yêu cầu Form của bạn nữa, ...
Còn về kết nối bạn có thể thử dùng Merge Field từ MS Word, cũng tốt lắm đó . Làm cái form xong xuôi rồi mới select cái database (tức là cái Excel file mình muốn report). Mày mò chút thì ra. Mình không biết Excel file của bạn format nó như thế nào nên khó chỉ. Nhưng nếu biết dùng Merge Fields của Word rồi thì làm được ngay.
Chúc bạn thành công !

Cái này là bạn dùng Vb 6 hay VB.NET vậy.
Cách trên tớ nghĩ bạn gold nói đúng rồi cách thứ 2 khá hay
Còn về in ra word thì
Nếu dùng VB.NET thì bạn có thể dùng thư viện Microsoft Word object Library 11.0 ( Add reference ->Com), còn nếu dùng vb 6 thì cũng có một thư viện như vậy nhưng mình không nhớ tên.
Bạn ghi trực tiếp ra file và định dạng đoạn text xuất ra qua đối tượng Document.
Các giao tiếp của thư viện này bạn có thể kiếm trên các bộ tìm kiếm.
![[:-/]](/images/wys/yahoo_question.gif)
![[:-/]](/images/wys/yahoo_question.gif)
![[:D]](/images/wys/yahoo_bigsmile.gif)
Nếu dùng VB.NET thì bạn có thể dùng thư viện Microsoft Word object Library 11.0 ( Add reference ->Com), còn nếu dùng vb 6 thì cũng có một thư viện như vậy nhưng mình không nhớ tên.
Bạn ghi trực tiếp ra file và định dạng đoạn text xuất ra qua đối tượng Document.
Các giao tiếp của thư viện này bạn có thể kiếm trên các bộ tìm kiếm.
Trả lời câu hỏi
Câu hỏi lĩnh vực Lập trình
Rao vặt Siêu Vip