Căn bản về truy vấn CSDL online từ Excel đến Server.

Liên hệ QC

Lê Phát Huy

Thành viên hoạt động
Tham gia
8/12/14
Bài viết
105
Được thích
84
Donate (Paypal)
Donate
Như các bạn cũng đã biết thì để làm việc với CSDL online là việc rất cần cho mỗi chúng ta về việc cập nhật, truy vấn để làm báo biểu, cho dù bạn ở nhà hay đi công tác xa cũng vẫn có thể xử lý được dữ liệu.

Được sự cho phép dùng CSDL của bạn LeHongDuc ở bài File minh họa việc kết nối đến dữ liệu SQL Server từ file MS. Access, tôi xin viết vài bài về truy vấn dữ liệu bằng Excel đến Server.
Do kiến thức còn nhiều hạn chế nên không tránh sai xót, mình rất mong các bạn cùng nhau thảo luận và cho ý kiến phản hồi để ngày càng hoàn thiện hơn.

Mục lục:
1. Bài 1: Kết nối với CSDL
2.

Tôi sẽ viết bài ở các phần sau:
 
Lần chỉnh sửa cuối:
Bài 1: Kết nối với CSDL:

Các bạn tạo 1 file Excel mới, đặt tên sheet là ServerName, vùng dữ liệu A1:B4 các bạn điền thông tin như hình sau:

server.jpg

Tạo xong như hình trên, các bạn nhấn tổ hợp phím Alt+F11 để vào cửa sổ code, Vào Insert chọn Module, sau đó chép code sau vào module:

Mã:
Option Explicit
Public Cn As Object


'Mo ket noi den CSDL
Sub MoKetNoi()
    Dim strServerName As String, strDatabaseName As String, strUserID  As String, strPassword As String
    With Sheets("ServerName")
        strServerName = .Range("B1") ' Server name
        strDatabaseName = .Range("B2") 'Database name
        strUserID = .Range("B3") 'User name
        strPassword = .Range("B4") 'Password
    End With
    'Khoi tao ket noi den CSDL
    Set Cn = CreateObject("ADODB.Connection")
    Cn.Open "Driver={SQL Server};Server=" & strServerName & ";Database=" & strDatabaseName & _
    ";Uid=" & strUserID & ";Pwd=" & strPassword & ";"
     If Cn.State = 1 Then MsgBox "Ban da ket noi thanh cong voi CSDL"
End Sub

Sau cùng là các bạn nhấn F5 để chạy Sub MoKetNoi ở trên, nếu hiện kết quả như hình sau thì có nghĩa là các bạn đã thành công.

KetNoiThanhCong.jpg
 
Lần chỉnh sửa cuối:
Chào các Bạn,
Do cái server của tôi bị sự cố nên xin các Bạn chuyển sang server sau:
Server Name: mssql.quantribanhang.vn
Data Name: danhba
User Name: nhanvien1
Password: Nv0123456
 
Chào các Bạn,
Do cái server của tôi bị sự cố nên xin các Bạn chuyển sang server sau:
Server Name: mssql.quantribanhang.vn
Data Name: danhba
User Name: nhanvien1
Password: Nv0123456

Tôi không test được với thông tin trên. Mong bạn phản hồi sớm.
Xin cảm ơn.
 
cả 2 host quantribanhang.ddns.net & mssql.quantribanhang.vn đều không connect được ?! bạn vui lòng xem lại giúp!
 
Đề tài này nếu chỉ dựa vào CSDL nằm tại máy chủ của một công ty kinh doanh phần mềm bán hàng với tên miền như trên và chỉ dừng ở kết nối không có ý nghĩa nhiều cho học tập và có hướng quảng cáo cho cty kinh doanh pmbh.

Về kết nối CSDL chỉ cần phân loại CSDL sau đó dùng ConnectionString tại trang này
http://www.connectionstrings.com/
http://www.connectionstrings.com/sql-server/

Sau khi connect tới CSDL bằng ConnectionString (các bạn nhớ là kết nối với nhiều loại CSDL: Access, Excel, MS SQL Server, MySQL,....) thì việc còn lại là việc truy vấn đẩy dữ liệu vào recordset.

Có recordser thì đẩy vào Excel thông qua hàm của RANGE.CopyFromRecordset().

Những giải thích của tôi trên là cho mọi CSDL nhé. Các bạn không nên lấy một CSDL với tên miền của một công ty kinh doanh phần mềm bán hàng vào bài viết mang tính học hỏi này. Vì người học rất mơ hồ không biết CSDL là gì. Ở đâu mà có. Cơ chế nào cho phép online? Người học làm thế nào để tạo CSDL SQL Server, Làm sao chia sẻ online,.... Nếu không viết được những ý đó thì bài viết trên không có giá trị như tiêu đề đặt ra.
 
Đề tài này nếu chỉ dựa vào CSDL nằm tại máy chủ của một công ty kinh doanh phần mềm bán hàng với tên miền như trên và chỉ dừng ở kết nối không có ý nghĩa nhiều cho học tập và có hướng quảng cáo cho cty kinh doanh pmbh.

Về kết nối CSDL chỉ cần phân loại CSDL sau đó dùng ConnectionString tại trang này
http://www.connectionstrings.com/
http://www.connectionstrings.com/sql-server/

Sau khi connect tới CSDL bằng ConnectionString (các bạn nhớ là kết nối với nhiều loại CSDL: Access, Excel, MS SQL Server, MySQL,....) thì việc còn lại là việc truy vấn đẩy dữ liệu vào recordset.

Có recordser thì đẩy vào Excel thông qua hàm của RANGE.CopyFromRecordset().

Những giải thích của tôi trên là cho mọi CSDL nhé. Các bạn không nên lấy một CSDL với tên miền của một công ty kinh doanh phần mềm bán hàng vào bài viết mang tính học hỏi này. Vì người học rất mơ hồ không biết CSDL là gì. Ở đâu mà có. Cơ chế nào cho phép online? Người học làm thế nào để tạo CSDL SQL Server, Làm sao chia sẻ online,.... Nếu không viết được những ý đó thì bài viết trên không có giá trị như tiêu đề đặt ra.
Chào các Bạn,
Nếu Bác Tuân đã nói như thế, tôi xin ngắt server, vừa mất công vừa thêm tai tiếng.
Cũng xin nói thêm: qua việc này tôi chẳng có ý quảng cáo chi cả.
Xin cảm ơn các Bạn.
 
Đề tài này nếu chỉ dựa vào CSDL nằm tại máy chủ của một công ty kinh doanh phần mềm bán hàng với tên miền như trên và chỉ dừng ở kết nối không có ý nghĩa nhiều cho học tập và có hướng quảng cáo cho cty kinh doanh pmbh.

Về kết nối CSDL chỉ cần phân loại CSDL sau đó dùng ConnectionString tại trang này
http://www.connectionstrings.com/
http://www.connectionstrings.com/sql-server/

Sau khi connect tới CSDL bằng ConnectionString (các bạn nhớ là kết nối với nhiều loại CSDL: Access, Excel, MS SQL Server, MySQL,....) thì việc còn lại là việc truy vấn đẩy dữ liệu vào recordset.

Có recordser thì đẩy vào Excel thông qua hàm của RANGE.CopyFromRecordset().

Những giải thích của tôi trên là cho mọi CSDL nhé. Các bạn không nên lấy một CSDL với tên miền của một công ty kinh doanh phần mềm bán hàng vào bài viết mang tính học hỏi này. Vì người học rất mơ hồ không biết CSDL là gì. Ở đâu mà có. Cơ chế nào cho phép online? Người học làm thế nào để tạo CSDL SQL Server, Làm sao chia sẻ online,.... Nếu không viết được những ý đó thì bài viết trên không có giá trị như tiêu đề đặt ra.
Tôi không có ý gì khác ngoài việc truyền tải chút ít những gì cho những người mới bắt đầu làm quen với dữ liệu online, ngay từ đầu bài viết tôi đã có nói.
Đề tài này chưa dừng lại ở cái kết nối mà bạn đã và đang nghĩ, việc bạn đưa link đó chưa hẳn có người áp dụng được.
Tôi định viết tiếp chứ không phải đơn thuần chỉ kết nối với CSDL. Nhưng bạn nói thế thì tôi cũng không còn lửa để mà tiếp tục rồi.
Xin lỗi bạn LeHongDuc vì đã đem đến sự phiền phức cho bạn.
Sau cùng là xin lỗi tất cả những bạn đã mất thời gian để đọc đề tài này.
 
Web KT
Back
Top Bottom