Kết nối cơ sở dữ liệu của Access có password

Liên hệ QC

transongngocquan

Thành viên hoạt động
Tham gia
10/5/07
Bài viết
180
Được thích
99
Khi kết nối ViDu1.mdb không có password thì được.
Khi đặt password cho ViDu2.mdb là 123456 thì khi kết nối nó báo lỗi : Run-time error '-2147217843 (80040e4d)' Cannot start your application. The workgroup information file is missing or opened exclusively by another user.

Cho tôi hỏi phải làm sao khi cài pass thì kết nối được?

Cám ơn nhiều !
 

File đính kèm

Mình cũng không rõ lý do, nhưng tìm được chuỗi kết nối này trên DDTH, bạn thử thay Test2 này xem nhé:

Mã:
Sub Test2()
Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
ChuoiSQL = "Select * from Table1"
TenFile = ThisWorkbook.Path & "\ViDu2.mdb"

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; jet OLEDB:Database Password=123456;" & _
                                             "Persist Security Info = true; " & _
                                             "Data Source= " & TenFile
cnn.Open
rs.Open ChuoiSQL, cnn


Range("A1").CopyFromRecordset rs


rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing

End Sub
 
Tất cả những gì về Connection String đều có thể tham khảo tại đây: http://www.connectionstrings.com/

Cụ thể là vấn đề của bạn (Truy cập MDB có pws hay ko có pws,...) thì tìm hiểu tại đây

Ngoài chuyển kể trên ra, liên quan tới Excel 1 chút thì mọi người có thể coi Excel là CSDL và sẽ làm việc như thế này:

Mã:
myspread = "C:\name.xls"
mysheet = "data"
mycol = "CustomerName"
rsvalue = "johndoe"
strSQL = "insert into [" & mysheet & "] (" & mycol & ") values ('" & rsvalue & "')"
 
 
sqlcon(strSQL)
	
	
 
function sqlcon(strSQL)
	Set adoConnection = CreateObject("ADODB.Connection")
	strconnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
		"Data Source=" & myspread & ";" & _
		"Extended Properties=" & chr(34) & "Excel 8.0;" & _
		"HDR=Yes;" & _
		"IMEX=1" & chr(34) & ";"
	adoConnection.Open strConnect
	adoConnection.execute strSQL
	adoConnection.close
	Set adoConnection = Nothing
	sqlcon = results
end function

Tương tự, làm việc với MS SQL thì simple nhất là thế này:

Mã:
sqlrun("select * from somewhere")
 
 
function sqlrun(strSQL)
     Set adoConnection = CreateObject("ADODB.Connection")
     strconnect = "DRIVER={SQL Server};Server=<myservername>;Database=<mydatabase>;"
     adoConnection.Open strConnect
     adoConnection.execute strSQL
     adoConnection.close
end function
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom