Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Lập trình bằng ADO trong Acess
#1
Chào các bạn!
Hiện nay mình đang lập trình trên Acess bằng kỹ thuật DAO và mình làm rất tốt tuy nhiên mình muốn tiếp cận đến công nghệ mới bằng kỹ thuật ADO bởi vì nếu lập trình được ADO thi rất có lợi thế nào mình chuyển qua VB.Net hoặc và những ngôn ngữ khác, cũng như mình có thể kết nối dữ liệu từ xa.
Những khi viết Mã bằng ADO còn bỡ ngỡ.
Mình đang muốn làm một dự án trên hai File.
Một là: Data chứa các bảng Acess.
hai là : File truy xuất dữ liệu.
Trong File truy xuất dữ liệu mình viết một hàm
MoKetnoi
Mã PHP:
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 "DATAKSan.mdb"
.Properties("Jet OLEDB:Database Password") = ""
.CursorLocation adUseClient
.Open
End With

End Sub 
mục dich hàm này sẽ được dùng nhiều lần trong các Form
Ở một Form nào đó VD form FRMDmphong mình muốn kết nối form nay với bảng TBPhong ở trong File Data thì trong sự kiện Loand Form mình chỉ cần gọi lại
Mã PHP:
Private Sub Form_Load()
Moketnoi

End Sub 
Mã PHP:
Dim lsSQL As String
Dim lrs 
As New ADODB.Recordset
lsSQL 
"select * from TBphong"
lrs.Open lsSQLcnnadOpenStaticadLockBatchOptimistic
Set Me
.Recordset lrs
Set lrs 
Nothing

End Sub 
Nhưng không thành công
Nó bào lỗi ở phần
.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0; data source=" & _
CurrentProject.Path & "DATAKSan.mdb"
Của thu tục kết nối.
Nhờ các bạn giúp đỡ Nếu có File Demo nào post lên cho mình tham khảo với
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#2
Mình nghĩ sai chỗ này:
data source=" & CurrentProject.Path & "DATAKSan.mdb"
Sửa lại là:
Mã:
data source=" & CurrentProject.Path & "\DATAKSan.mdb"

Dây là file DEMO đơn giản mình tải từ http://www.dbforums.com
Mình để nguyên file gốc (Zip) khi tải về.

Demo ADO Unbound form

Mình cũng đang nghiên cứu chủ đề này, ai có file Demo thì chia cùng sẻ với nha! 015
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn
#3
1/ Sửa theo MatTroiNguQuen
2/ Bạn phải xem mình đang dùng bộ Office nào mới có cách kết nối cụ thể ( Cái này nè : Provide.....)
3/ Đã định nghĩa biến thì phải Set biến, nếu không sẽ bị lỗi
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
Cảm ơn các bạn đã trả lời. Hiện mình đang dùng Office 2003
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#5
Bạn thử theo demo này thử nhé ! Mình tạo Function Connect và test OK !
Demo
Chúc bạn thành công !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn
#6
Bạn tmtien261 test thủ khi Connect_ADO và Connect_Data đều là file Access ver >= 2007 chưa? Nếu có thì gửi file demo lên cho mọi người tham khảo
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
Xin cảm ơn các bạn đã giúp đỡ.
Luôn tiện cho mình hỏi luôn Trong kỹ thuật DAO khi muốn đưa dữ liệu từ bảng này qua bảng khác thì mình viết
Mã PHP:
Dim tb1 As Recordsettb2 As Recordset
Set tb1 
CurrentDb.OpenRecordset("Bangkhach"dbOpenDynaset)
Set tb2 CurrentDb.OpenRecordset("Banghoadon"dbOpenDynaset)
Do 
Until tb2.EOF
If tb2!Makhach <> tb1!Makhach Then
tb1
.AddNew
tb1
!Makhach tb2!Makhach
tb1
!Tenkhach tb2!Tenkhach
tb1
!SoDT tb2!SoDT
Exit Do
tb1.Update
End 
If

tb2.MoveNext
Loop
tb1
.Close
tb2
.Close 
Còn trong ADO thì thủ tục đó mình có thể viết thể nào
Ở đây mình chưa rõ lắm mong các bạn giúp đỡ thêm
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#8
(08-12-13, 08:13 PM)Xuân Thanh Đã viết: Bạn tmtien261 test thủ khi Connect_ADO và Connect_Data đều là file Access ver >= 2007 chưa? Nếu có thì gửi file demo lên cho mọi người tham khảo
Thân mến

Mình đã test OK trên Acc2007. (Các bạn thay đổi đường dẫn trong Function theo đường dẫn của file Connect_Data.accdb)
Demo
Thân chào !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn
#9
1/ Cái mà tôi muốn nhắn nhủ mọi người là với mỗi bộ Office sẽ có cái Provider....khác nhau
2/ Bạn nào quan tâm tới ADO, tham khảo các bản Demo của bạn tmtien261
3/ Nhắc thêm bạn tmtien261 về việc sử dụng các thư viện cho hợp lý, nếu không sẽ chiếm dụng bộ nhớ quá nhiều không cần thiết và làm giảm tốc độ truy xuất dữ liệu
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
Tình hình là mình có làm một Form dạng Continuous Forms nhưng sau khi kết nôi các textbox và view len thi chi xuất hiện có một record duy nhật mặc du minh da dung Docmd.show record trong biến cố loand form cung nhu chon thuộc tính Continuous Forms cho Form ma vấn chỉ xuất hiện có một Rcord trong khi trong bảng có nhiều record vậy là sao hả các bạn?
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
Question [Help] Link tất các table trong một file.mdb bằng VBA MinhnHang 9 224 7 Giờ trước
Bài mới nhất: maidinhdan
  [Thủ Thuật] Tìm số thứ tự bị thiếu trong dãy toanle 8 204 07-12-16, 02:25 PM
Bài mới nhất: toanle
  Tránh xung đột dữ liệu trong access quocdung9999 16 1,693 23-11-16, 11:13 AM
Bài mới nhất: quocdung9999
  [Hỏi] Kết nối nhiều lần hay kết nối 1 lần trong ADO ưu điểm hơn Minh Tiên 1 124 10-11-16, 10:41 AM
Bài mới nhất: maidinhdan
  Summary bằng VBA trong MS Access. MinhnHang 6 320 08-11-16, 08:36 AM
Bài mới nhất: MinhnHang

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ