VicoTas
Câu hỏi
dang duc thang thang_star
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!

Danh sách câu trả lời (6)
avatar Uni2805 26/04/2013 21:51
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 !
bay jo ban co them hinh` anh? huong dan thi tot hon chu noi the nay thi hoi kho hieu?
Đức Vân ducvan1993 26/04/2013 21:51
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
Mạnh Linh thieugia88 26/04/2013 21:51
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.
avatar Handoivodoi 26/04/2013 21:51
* Đầ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 !
Mạnh Linh thieugia88 26/04/2013 21:51
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.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
Lê Văn Tùng Các bạn cho mình hỏii down phần lay limits và annotation ở đâu , chỉ giúp mình với?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Thu Trang Hỏi về việc bị phá Yahoo?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Phương [CODE C]Đến chỗ nhập họ tên thì ct thoát ra cái vèo??

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Lê Thị Hoa Hồng Cần Gấp:Nhập ma trận vuông cấp N(1<=N<=10).Tìm ma trận chuyển vị(đổi dòng thành cột).Sắp xếp các phần tử tăng dần trái qua phải,trên xuống dưới

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Link Có bác nào chạy được ct C này không??

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

nophoto Cho em hỏi về kĩ thuật lập trình?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Vinh C++ nè Dân Công Nghệ Thông Tin vào hộ cái, gấp lắm rồi !!!

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

vietnamconnection Cho em hỏi máy laptop của em tự nhiên bi phóng to một góc màn hình lên?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

nophoto Hướng dẫn tạo chữ động không cần phần mềm?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

nophoto Các môn thể dục cho học sinh cấp 3 đem lại ích lợi gì ?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Đức Việt Cho mình hỏi là trường CĐ NGHỀ và CĐ chính quy khác nhau thế nào ?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Đức Cảnh Cách học hiệu quả lập trình C trên Windows như thế nào ?

Đăng lúc: 21:50 - 26/04/2013 trong Lập trình

Hin Hỏi chỗ thực tập lập trình ?

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

lighting Laptop Toshiba 1860 có nâng cấp được card màn hình không ?

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

Hương Làm cho mình bài tập lớn này?

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Giúp mình câu pascal tí với?

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

Link Lỗi không nhận driver của modem blub com bcom 5360 qua cổng usb?

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

Vinh Bạn nào có bài tập trắc ngiệm tin học lớp 11(phần pascal) giúp mih với.co link nao không chỉ nhé

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

Hin Ai biết tải Microsoft Frontpage 2002 ở link nào không?

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

dang duc thang Cách cài đặt microsoft visual basic 2008?

Đăng lúc: 21:49 - 26/04/2013 trong Lập trình

Rao vặt Siêu Vip