- Tham gia
- 13/6/06
- Bài viết
- 4,788
- Được thích
- 10,298
- Giới tính
- Nam
- Nghề nghiệp
- Giáo viên, CEO tại Bluesofts
Lập trình kết nối CSDL trong máy tính phần lớn chúng ta quen kết nối tới CSDL nằm tại máy có file chương trình chạy, hoặc trong mạng LAN, ít người biết tới kết nối qua Internet, có thể từ trước chúng ta không có giải pháp nào cho việc này...
Video này tôi hướng dẫn mọi người dùng ADO kết nối tới CSDL Access trong mạng LAN, với các CSDL khác như Excel, Foxpro, SQL Server.... cũng tương tự, chỉ khác phần khai báo ConnectionString. Đây là đoạn video hướng dẫn căn bản và đơn giản tối đa để những người mới học lập trình CSDL có thể thực hành và làm ngay được.
Các CSDL Access, Excel, Foxpro, Paradox,... chỉ có thể chia sẻ qua mạng LAN và có những hạn chế về bảo mật, không thể chia sẻ qua Internet. Trong video này tôi đưa ra một giải pháp mới với Add-in A-Tools cho phép chúng ta kết nối CSDL qua Internet với những loại CSDL mà bình thường không thể làm được.
Hy vọng video giúp ích được nhiều người bước đầu tiếp cận vào lập trinhg CSDL trong Excel và những người đã làm và tìm ra được giải pháp mới cho việc kết nối CSDL qua internet vào Excel.
[GPECODE=vb]
'Cách làm kết nối CSDL qua LAN bằng ADO
Sub GetDataFromADO_Recordset()
Dim cnn As New ADODB.Connection
Dim RST As ADODB.Recordset
Dim cFileName As String
cFileName = "\\192.168.1.115\Access Databases\Example.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cFileName
Set RST = cnn.Execute("select * from dmkh")
Range("A5").CopyFromRecordset RST
RST.Close
Set RST = Nothing
cnn.Close
Set cnn = Nothing
End Sub
Sub ExxecuteCommandWithADO()
Dim cnn As New Connection
Dim RST As Recordset
Dim cFileName As String, X As Long
'Folder "\\192.168.1.115\Access Databases" is share full
cFileName = "\\192.168.1.115\Access Databases\Example.mdb"
'Connect to Access database
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cFileName
cnn.Execute "DELETE FROM dmkh WHERE MA_KH LIKE 'NEW%'", X
cnn.Execute "INSERT INTO dmkh (MA_KH,TINH_TP) VALUES ('NEW 102','HN')", X
Set RST = cnn.Execute("SELECT * FROM dmkh", X)
'Close connection and free memory
RST.Close
Set RST = Nothing
cnn.Close
Set cnn = Nothing
End Sub
'Cách làm kết nối CSDL qua internet bằng A-Tools
Sub GetRecordSetFromServer()
Dim Xnet As New BSNetwork
Dim cnn As BSConnection
Dim RST As ADODB.Recordset
If Not Xnet.Connected Then
If Not Xnet.Connect("bluesofts.dyndns.org", "user") Then Exit Sub
End If
Set cnn = Xnet.OpenConnection("MDB")
Set RST = cnn.ExecSql("SELECT * FROM DMKH")
Range("G6:M1000").ClearContents
Range("G6").CopyFromRecordset RST
RST.Close
Set RST = Nothing
cnn.Close
Set cnn = Nothing
Set Xnet = Nothing
End Sub
Sub DoExecuteCommandINSERT()
Dim Xnet As New BSNetwork
Dim cnn As BSConnection
Dim X As Long
If Not ConnectToServer Then Exit Sub
Set cnn = Xnet.OpenConnection("MDB")
X = cnn.ExecSqlCmd("INSERT INTO dmkh (MA_KH,TINH_TP) VALUES ('NEW 102','HN')")
MsgBoxW2 "Records affected: " & X, , "INSERT"
cnn.Close
Set cnn = Nothing
Set Xnet = Nothing
End Sub
[/GPECODE]
Download tài liệu hướng dẫn và mã nguồn ví dụ trong video
Video này tôi hướng dẫn mọi người dùng ADO kết nối tới CSDL Access trong mạng LAN, với các CSDL khác như Excel, Foxpro, SQL Server.... cũng tương tự, chỉ khác phần khai báo ConnectionString. Đây là đoạn video hướng dẫn căn bản và đơn giản tối đa để những người mới học lập trình CSDL có thể thực hành và làm ngay được.
Các CSDL Access, Excel, Foxpro, Paradox,... chỉ có thể chia sẻ qua mạng LAN và có những hạn chế về bảo mật, không thể chia sẻ qua Internet. Trong video này tôi đưa ra một giải pháp mới với Add-in A-Tools cho phép chúng ta kết nối CSDL qua Internet với những loại CSDL mà bình thường không thể làm được.
Hy vọng video giúp ích được nhiều người bước đầu tiếp cận vào lập trinhg CSDL trong Excel và những người đã làm và tìm ra được giải pháp mới cho việc kết nối CSDL qua internet vào Excel.
[video=youtube;lSyoR1XFte8]https://www.youtube.com/watch?v=lSyoR1XFte8&feature=youtu.be&list=PLZi2tdQERHM09nzkoiavJO4pHcED1NmOQ[/video]
[GPECODE=vb]
'Cách làm kết nối CSDL qua LAN bằng ADO
Sub GetDataFromADO_Recordset()
Dim cnn As New ADODB.Connection
Dim RST As ADODB.Recordset
Dim cFileName As String
cFileName = "\\192.168.1.115\Access Databases\Example.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cFileName
Set RST = cnn.Execute("select * from dmkh")
Range("A5").CopyFromRecordset RST
RST.Close
Set RST = Nothing
cnn.Close
Set cnn = Nothing
End Sub
Sub ExxecuteCommandWithADO()
Dim cnn As New Connection
Dim RST As Recordset
Dim cFileName As String, X As Long
'Folder "\\192.168.1.115\Access Databases" is share full
cFileName = "\\192.168.1.115\Access Databases\Example.mdb"
'Connect to Access database
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cFileName
cnn.Execute "DELETE FROM dmkh WHERE MA_KH LIKE 'NEW%'", X
cnn.Execute "INSERT INTO dmkh (MA_KH,TINH_TP) VALUES ('NEW 102','HN')", X
Set RST = cnn.Execute("SELECT * FROM dmkh", X)
'Close connection and free memory
RST.Close
Set RST = Nothing
cnn.Close
Set cnn = Nothing
End Sub
'Cách làm kết nối CSDL qua internet bằng A-Tools
Sub GetRecordSetFromServer()
Dim Xnet As New BSNetwork
Dim cnn As BSConnection
Dim RST As ADODB.Recordset
If Not Xnet.Connected Then
If Not Xnet.Connect("bluesofts.dyndns.org", "user") Then Exit Sub
End If
Set cnn = Xnet.OpenConnection("MDB")
Set RST = cnn.ExecSql("SELECT * FROM DMKH")
Range("G6:M1000").ClearContents
Range("G6").CopyFromRecordset RST
RST.Close
Set RST = Nothing
cnn.Close
Set cnn = Nothing
Set Xnet = Nothing
End Sub
Sub DoExecuteCommandINSERT()
Dim Xnet As New BSNetwork
Dim cnn As BSConnection
Dim X As Long
If Not ConnectToServer Then Exit Sub
Set cnn = Xnet.OpenConnection("MDB")
X = cnn.ExecSqlCmd("INSERT INTO dmkh (MA_KH,TINH_TP) VALUES ('NEW 102','HN')")
MsgBoxW2 "Records affected: " & X, , "INSERT"
cnn.Close
Set cnn = Nothing
Set Xnet = Nothing
End Sub
[/GPECODE]
Download tài liệu hướng dẫn và mã nguồn ví dụ trong video
Lần chỉnh sửa cuối: