PDA

View Full Version : Connect tới file mdb của access ...nằm ở máy khác..!



Bin_NT
26-06-2003, 20:29
Tôi đang muốn dùng VB kết nối tới một file access mà nó nằm ở máy khác có ai có cách nào không , giúp tui với ...
À đừng bảo tui share môt file qua lan rồi lấy connectionstring nha , cách này bấc tiện lắm . Với lại tui đang dùng các máy con là win98 workgroup.

deadman
27-06-2003, 13:52
Theo ý kiến của tôi, việc connect VB đến file mdb của access nằm ở máy khác là 1 ý kiến không tốt lắm. Vì những lý do sau: hệ thống chậm khi truy xuất dữ liệu nhiều, việc quản lý nhiều connection của Access sẽ không tốt. Nên theo ý kiến của tôi ông anh nên dùng SQL Server thi hơn. Còn không biết về SQL Server ông anh có thể dùng qua ODBC với file của minh xem sao.
Hy vọng nhận được ý kiến của ông anh.

Bin_NT
27-06-2003, 19:13
Khoan hãy bàn đến việc truy suất thế nào... tui đang muốn biết là có thể connect như trên là có được không ...bằng cách nào (trừ cách share file mdb) bạn có thể nói rõ hơn không .Còn SQL thì chỉ dùng trên mái 2000 thôi , máy win98 connect tới SQL 2000 thì được .

White_Rose
28-06-2003, 01:44
Theo tớ là không. Access không phải là DBMS theo dạng server/client.

crazyman
30-06-2003, 10:13
To WR: U nhầm ở đây chúng ta không quan tâm xem Access có phải là dạng DB cho s/c hay ko mà chúng ta cần dùng MSJet để connect.
To Bin_NT: Đây chỉ là code để connect dạng s/c không bit' có dùng cho workgroup được ko U có thể thử.
' Example code for ****ConnJetODBC
'
' To try this example, do the following:
' 1. Create a new form
' 2. Create a command button 'cmdTest'
' 3. Create a listbox 'lstProducts'
' 4. Create a text box 'txtConnect'
' 5. Paste all the code from this example to the new form's module.

' This example assumes that the sample files are located in the
' directory named by the following constant.
Private Const mcstrExamplePath = "c:\vbsbsamp"
Private WithEvents mADOConnJetODBC As ****COnnJetODBC

Private Sub cmdtest_Click()
' Example code for ****ConnJetODBC
'-------------------------------
' This example creates the ****ConnJetODBC object. The connection
' is made asynchronously. When the connection is complete, the
' ConnectComplete event is used to open a recordset using the
' connection

lstProducts.AddItem "Connecting..."
lstProducts.Refresh

Set mADOConnJetODBC = New ****COnnJetODBC
With mADOConnJetODBC
.UserID = "Admin"
.Password = ""
.CursorLocation = adUseServer
.DataSource = mcstrExamplePath & "\sample.mdb"
.Mode = adModeRead

.OpenConnection

End With

End Sub

Private Sub Form_Load()
cmdTest.Caption = "Test"
End Sub


Private Sub mADOConnJetODBC_ConnectComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
Dim rstProducts As ADODB.Recordset
Dim strSQL As String

strSQL = "select ProductName from Products Order by ProductName"

If pError Is Nothing Then
If pConnection.State = adStateOpen Then
txtConnect = pConnection.ConnectionString
Set rstProducts = pConnection.Execute(strSQL)
If Not rstProducts.EOF Then
lstProducts.Clear
Do Until rstProducts.EOF
lstProducts.AddItem rstProducts("ProductName")
rstProducts.MoveNext
Loop

End If

Else
lstProducts.Clear
lstProducts.AddItem "Connection failure, invalid state"
MsgBox "Unable to open the connection"
End If
Else
lstProducts.Clear
lstProducts.AddItem "Connection failure"
MsgBox "Unable to open the connection"

End If


End Sub

Bin_NT
05-07-2003, 10:49
ko được bạn a` ! bạn nói rõ hơn phần code na`o của module , na`o của class na`o của form ...theo như bạn khai báo
Private Const mcstrExamplePath = "c:\vbsbsamp"
thì phần này là một nơi cố định chứa database cũng giống như việc chia sẽ file database để cho máy khác connect tới....

Bạn thấy PWS của window ko nó đâu có share file database ra đâu mà vẫn cho phép kết nối từ máy khác tới máy chứa data theo giao thức http dạng web. Tui muốn hỏi các bạn có cách làm tương tự ở VB ko ...việc này xem ra cực kỳ khó khăn đây ... xin nhờ các cao thủ VB giúp đỡ!

NumPad0
05-07-2003, 16:27
JetODBC có thể kết nối được với DSN qua network được mà !

crazyman
05-07-2003, 19:52
uh, xin lỗi vì không hiểu ý của Bin_NT!
Để mình xem lại đã bởi chưa có thử lần nào!
có cả code Vb cho connect dạng http nhưng không bit' cho Db có được không!
Chờ mình vài hôm đã nha!