Kết Nối ADO từ file Excel đến file Access ở chế chỗ chỉ đọc

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

thetaihh

Thành viên mới
Tham gia
7/12/20
Bài viết
7
Được thích
0
Các bác cho em hỏi em muốn kết nối để lấy dữ liệu từ file access sang file excel ( chỉ để xem không sửa) thì chuỗi kết nối phải thêm tham số nào vậy
Em muốn cùng lúc nhiều máy trong mạng lan có thể kết nối và lấy dữ liệu từ 1 file đó . Chỉ 1 máy là được quyền thêm và sửa thôi
 
Các bác cho em hỏi em muốn kết nối để lấy dữ liệu từ file access sang file excel ( chỉ để xem không sửa) thì chuỗi kết nối phải thêm tham số nào vậy
Em muốn cùng lúc nhiều máy trong mạng lan có thể kết nối và lấy dữ liệu từ 1 file đó . Chỉ 1 máy là được quyền thêm và sửa thôi
Trước khi hỏi tại sao không hỏi Em ChatGPT chút xem sao ... nó cho hướng code hay code mẫu tuy nhiên cái đúng cái sai và chỉ có giá trị tham khảo là chính ... còn tuỳ khả năng ta vận dụng nó vào thực tiễn công việc của ta

Mã ChatGPT Viết
Mã:
Sub KetNoiADO_ChỉĐọc()
    Dim conn As Object
    Dim rs As Object
    Dim strConn As String
    Dim strSQL As String
    
    ' Tạo đối tượng Connection
    Set conn = CreateObject("ADODB.Connection")
    
    ' Thiết lập chuỗi kết nối
    ' Đảm bảo thay đổi đường dẫn tới tệp Access
    strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Path\To\Your\Database.accdb;Persist Security Info=False;Mode=Read"
    
    ' Mở kết nối
    conn.Open strConn
    
    ' Tạo đối tượng Recordset
    Set rs = CreateObject("ADODB.Recordset")
    
    ' Viết truy vấn SQL (ví dụ: lấy tất cả dữ liệu từ bảng "YourTableName")
    strSQL = "SELECT * FROM YourTableName"
    
    ' Mở Recordset với truy vấn SQL và kết nối
    rs.Open strSQL, conn
    
    ' Đọc dữ liệu từ Recordset và in ra cột A của Excel
    Dim i As Integer
    For i = 1 To rs.Fields.Count
        Cells(1, i).Value = rs.Fields(i - 1).Name
    Next i
    
    Dim row As Integer
    row = 2
    
    Do Until rs.EOF
        For i = 1 To rs.Fields.Count
            Cells(row, i).Value = rs.Fields(i - 1).Value
        Next i
        rs.MoveNext
        row = row + 1
    Loop
    
    ' Đóng kết nối và Recordset
    rs.Close
    conn.Close
    
    ' Giải phóng bộ nhớ
    Set rs = Nothing
    Set conn = Nothing
End Sub

gợi ý cho xong suy nghĩ mà tính he

1/ Nhiều máy trong LAN truy xuất tới 1 file hãy tính tới phân quyền Folder đó ... ngộ nhỡ ai đó lỡ tay xoá File thì sao !?

2/ Thong thả viết cái WebServer xong truy xuất dữ liệu từ xa ... hay viết cái gì đó mà mình có khả năng Miễn sao mục đích đạt được là ok

...............
thong thả dò đi xong tính tiếp...
 
Trước khi hỏi tại sao không hỏi Em ChatGPT chút xem sao ... nó cho hướng code hay code mẫu tuy nhiên cái đúng cái sai và chỉ có giá trị tham khảo là chính ... còn tuỳ khả năng ta vận dụng nó vào thực tiễn công việc của ta

Mã ChatGPT Viết
Mã:
Sub KetNoiADO_ChỉĐọc()
    Dim conn As Object
    Dim rs As Object
    Dim strConn As String
    Dim strSQL As String
  
    ' Tạo đối tượng Connection
    Set conn = CreateObject("ADODB.Connection")
  
    ' Thiết lập chuỗi kết nối
    ' Đảm bảo thay đổi đường dẫn tới tệp Access
    strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Path\To\Your\Database.accdb;Persist Security Info=False;Mode=Read"
  
    ' Mở kết nối
    conn.Open strConn
  
    ' Tạo đối tượng Recordset
    Set rs = CreateObject("ADODB.Recordset")
  
    ' Viết truy vấn SQL (ví dụ: lấy tất cả dữ liệu từ bảng "YourTableName")
    strSQL = "SELECT * FROM YourTableName"
  
    ' Mở Recordset với truy vấn SQL và kết nối
    rs.Open strSQL, conn
  
    ' Đọc dữ liệu từ Recordset và in ra cột A của Excel
    Dim i As Integer
    For i = 1 To rs.Fields.Count
        Cells(1, i).Value = rs.Fields(i - 1).Name
    Next i
  
    Dim row As Integer
    row = 2
  
    Do Until rs.EOF
        For i = 1 To rs.Fields.Count
            Cells(row, i).Value = rs.Fields(i - 1).Value
        Next i
        rs.MoveNext
        row = row + 1
    Loop
  
    ' Đóng kết nối và Recordset
    rs.Close
    conn.Close
  
    ' Giải phóng bộ nhớ
    Set rs = Nothing
    Set conn = Nothing
End Sub

gợi ý cho xong suy nghĩ mà tính he

1/ Nhiều máy trong LAN truy xuất tới 1 file hãy tính tới phân quyền Folder đó ... ngộ nhỡ ai đó lỡ tay xoá File thì sao !?

2/ Thong thả viết cái WebServer xong truy xuất dữ liệu từ xa ... hay viết cái gì đó mà mình có khả năng Miễn sao mục đích đạt được là ok

...............
thong thả dò đi xong tính tiếp...
cảm ơn bác nhé
lần sau e sẽ rút kinh nghiệm tìm kiếm trước
Bài đã được tự động gộp:

 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom