Dùng chức năng Link Table mà Access đã trang bị sẵn đó bạn.Tạo Form bằng Access nhưng lấy Source từ Access khác. mình muốn mỗi lần mình mở form lên nó sẽ tự động nạp dữ liệu trong table Access kia lên. Bạn Làm giúp mình với mình cảm ơn!
Mình không rành lắm về Access bạn có thể làm giúp dùm mình 1 chương trình mẫu đươc không. Mình vô cùng cảm ơn các bạn
Private Sub Form_Load()
Dim db As DAO.Database, rs As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM [Shnguon$]"
Set db = OpenDatabase(CurrentProject.Path & _
"\THUONGMAI.xls", 0, 1, "Excel 8.0;HDR=Yes;")
Set rs = db.OpenRecordset(strSQL)
rs.MoveFirst
Do
With Me.ListView3.ListItems.Add
.Text = rs.Fields(0)
.SubItems(1) = rs.Fields(1)
.SubItems(2) = rs.Fields(2)
.SubItems(3) = rs.Fields(3)
.SubItems(4) = rs.Fields(4)
End With
rs.MoveNext
Loop Until rs.EOF
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
End Sub
Bạn ấy muốn lấy dữ liệu từ Excel, mình có ví dụ thế này:
Mã:Private Sub Form_Load() Dim db As DAO.Database, rs As DAO.Recordset Dim strSQL As String strSQL = "SELECT * FROM [Shnguon$]" Set db = OpenDatabase(CurrentProject.Path & _ "\THUONGMAI.xls", 0, 1, "Excel 8.0;HDR=Yes;") Set rs = db.OpenRecordset(strSQL) rs.MoveFirst Do With Me.ListView3.ListItems.Add .Text = rs.Fields(0) .SubItems(1) = rs.Fields(1) .SubItems(2) = rs.Fields(2) .SubItems(3) = rs.Fields(3) .SubItems(4) = rs.Fields(4) End With rs.MoveNext Loop Until rs.EOF rs.Close: Set rs = Nothing db.Close: Set db = Nothing End Sub
Bạn tải về giải nén ra rồi thử nha (Xin lỗi mình chưa sử lý Font chữ)
Tạo Form bằng Access nhưng lấy Source từ Access khác. mình muốn mỗi lần mình mở form lên nó sẽ tự động nạp dữ liệu trong table Access kia lên. Bạn Làm giúp mình với mình cảm ơn!
Bạn có thể cập nhật trực tiếp vào bảng dữ liệu, thêm xóa hay chỉnh sửa tùy ý.Mình cảm ơn bạn domfootwear cai ADOAccess của bạn đúng ý mình rồi. bây giờ bạn viết thêm có mình có thể lưu vào và xoá table file access Data từ form chính access vidu. Mình cảm ơn rất nhiều
Mình gởi file lên bạn làm dùm mình nhé sau mình làm nó báo lỗi. Mình có thể thiết kế nút nhập sữa xóa bình thường được không bạn! bạn làm dùm mình luôn nhé. Cảm ơn nhiều!
Option Compare Database
Public cnn As New ADODB.Connection
Public Sub Moketnoi()
With cnn
.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0; data source=" & _
CurrentProject.Path & "\QLCB.mdb"
.Properties("Jet OLEDB:Database Password") = "123"
.CursorLocation = adUseClient
.Open
End With
End Sub
Option Compare Database
Private Sub Form_Load()
Moketnoi
End Sub
Private Sub Form_Unload(Cancel As Integer)
cnn.Close
End Sub
Private Sub Load_Click()
Dim lsSQL As String
Dim lrs As New ADODB.Recordset
lsSQL = "select * from QL_DM_DTAO"
lrs.Open lsSQL, cnn, adOpenStatic, adLockBatchOptimistic
Set Me.Recordset = lrs
Set lrs = Nothing
End Sub
Thì bạn đưa sự kiện Load_Click của nút load dữ liệu vào sự kiện Form_Load là được.Bạn ơi cho mình hỏi có phương pháp nào mà mình có thể cho no tự động load lên mỗi lần mình mở form lên không. Bạn chỉ dùm mình cái đó với. Mình cảm ơn nhiều
Code trong form F_TenCTy bạn thêm như sau:ok mình cám ơn bạn nhiều lắm nhưng mà sao mình làm trên form nó có 2 subform thì bị nó báo lỗi với lại các textbox mình dùng hàm count và sum nó không có tác dụng gì hết bạn xem chỉnh lại dùm mình với mình cảm ơn
Private Sub Form_Load()
Dim lsSQL, lsSQL1 As String
Moketnoi
Dim lrs As New ADODB.Recordset
lsSQL = "select * from T_CongTy"
lsSQL1 = "select * from T_nhanviencty"
lrs.Open lsSQL, cnn, adOpenStatic, adLockBatchOptimistic
Set Me.Recordset = lrs
lrs.Close
lrs.Open lsSQL1, cnn, adOpenStatic, adLockBatchOptimistic
Set Me.Child7.Form.Recordset = lrs
[B][COLOR=#ff0000] Me.Child7.Form.Text7 = lrs.RecordCount[/COLOR][/B]
lrs.Close
'Moketnoi
End Sub