Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Lỗi] Không chạy được file *.accdb !
#11
(30-03-13, 11:15 AM)tmtien261 Đã viết: Mình cũng gán qua biến Mydatabase theo trình tự như sau:
1. Trước khi chạy các Form "thực thi", chương trình mở Form gán đường dẫn (Form1). Sau khi nhất nút Button trình duyệt trên Form1 sẽ tìm đến và chọn file Mydata.accdb; Gán đường dẫn của file này vào Listbox.
2. Gán biến toàn cục Mydatabase vào đường dẫn vừa tìm được trong Listbox bằng lệnh: Mydatabase = Me.Listbox.RowSource
3. Tại "Private Sub" của chương trình khai báo:
...
Dim db as Database
Set db = OpenDatabase(Mydatabase)
...
Kết quả chương trình chạy nhưng vẫn báo bị lỗi như đã nêu. Không biết mình còn thiếu trình tự gì không ? Nhờ Xuân Thanh chỉ giúp !

1/ Đã nói là không gán Database nữa vì lệnh OpenDatabase không mở được Database
2/ Nếu trong cùng một máy thì dùng DAO kết nối. Nhớ chọn DAO3.6 hoặc cao hơn (Tools\Reference). Nếu chạy trong mạng, cách tốt nhất là dùng ADODB để kết nố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
#12
(30-03-13, 12:27 PM)Xuân Thanh Đã viết: 1/ Đã nói là không gán Database nữa vì lệnh OpenDatabase không mở được Database
2/ Nếu trong cùng một máy thì dùng DAO kết nối. Nhớ chọn DAO3.6 hoặc cao hơn (Tools\Reference). Nếu chạy trong mạng, cách tốt nhất là dùng ADODB để kết nối
Thân mến

Cảm ơn xt nhiều ! Xuân Thanh có thể hướng dẫn mình cách dùng ADODB để kết nối trong mạng Lan hoặc chỉ cho mình đường dẫn đến tài liệu dễ học tí hoặc file demo đc ko ? Mình đã Search Google nhưng khó hiểu quá. Làm phiền bạn hơi nhiều, chịu khó giúp nhé ! Thanks
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
#13
(31-03-13, 11:11 AM)tmtien261 Đã viết: Cảm ơn xt nhiều ! Xuân Thanh có thể hướng dẫn mình cách dùng ADODB để kết nối trong mạng Lan hoặc chỉ cho mình đường dẫn đến tài liệu dễ học tí hoặc file demo đc ko ? Mình đã Search Google nhưng khó hiểu quá. Làm phiền bạn hơi nhiều, chịu khó giúp nhé ! Thanks

Tham khảo tài liệu của tác giả Lê Văn Duyệt tại đây http://www.giaiphapexcel.com/forum/showt...3%ACnh-ADO
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
#14
(31-03-13, 12:39 PM)Xuân Thanh Đã viết: Tham khảo tài liệu của tác giả Lê Văn Duyệt tại đây http://www.giaiphapexcel.com/forum/showt...3%ACnh-ADO
Thân mến
Thanks XT ! Mình sẽ nghiên cứu sau. Nhưng không biết trước mắc khắc phục lỗi như trên như thế nào đây ? Nguyên nhân sinh ra lỗi là gì ? Có pro nào từng bị như thế ko nhỉ ? Hay vẫn cứ phải làm như "Noname" hướng dẫn !
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
#15
1/ Đưa đường dẫn chứa MyDatabase vào table
2/ Tạo sub kết nối đến đường dẫn trên
3/ Trong các thủ tục, sự kiện sẽ không set lại Database nữa
Theo hướng này bạn thử làm xem, kết hợp với hướng dẫn của bác XT nữa nhé
Chữ ký của Thanh Phương Em như cô gái còn son
Chờ người quân tử mỏi mòn tháng năm
Đêm đêm hết đứng lại nằm
Người đi đâu để âm thầm nhớ thương


Reply
Những người đã cảm ơn
#16
Xuân Thanh ơi làm phiền tí tí nhé !
Mình đã nghiên cứu DAO và ADO mấy ngày nay nhưng mình thật là "Khó đào tạo quá" chắc do "N lâu, D bên" nên vẫn chưa vận dụng được. Nhờ bạn "Khai sáng" tí nhé !
Mình có 1 Sub như thế này:

Private Sub LuuHangxuat()

Dim rs As Recordset
Dim db As Database
Set db = CurrentDb()
Set rs = db.OpenRecordset("tblHangxuat", dbOpenTable)
rs.Index = "Primarykey"
rs.Seek "=", Me.txtMahangxuatX
If rs.NoMatch Then
rs.AddNew
rs!SophieuxuatID = Me.txtSophieuxuatID
rs!MahangX = Me.txtMahangxuatX
rs!Mahang = Me.cboMahangxuat.Column(0)
rs!Tenhang = Me.cboMahangxuat.Column(1)
rs!Soluongxuat = 1
rs!Giaxuat = Me.cboMahangxuat.Column(2)
rs!Tienxuat = rs!Soluongxuat * rs!Giaxuat
rs.Update
Else
rs.Edit
rs!Soluongxuat = rs!Soluongxuat + 1
rs!Tienxuat = rs!Soluongxuat * rs!Giaxuat
rs.Update
End If
rs.Close
Set db = Nothing
End Sub

Khi chạy theo dạng Link Data hoặc dùng Split để tách table và ... thì phải khai báo địa chỉ db bằng địa chỉ tuyệt đối (Thay cho CurrentDB), xong lại bị xung đột liên tục như tmtien261 đã nêu.
Xuân Thanh chỉ giúp mình cách dùng DAO khai báo và kết nối với CSDL cụ thể với Sub này đển Sub này hoạt động OK.
Rất mong được chỉ dẫn ! Cảm ơn nhiều.
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
#17
Thanks XT. Mình đã làm được với DAO cho Sub trên rồi. Thay đổi một vài câu trúc SQL. Xin chia sẽ cho các ac như mình:
1.Phần khai báo:
Dim rs As DAO.Recordset
Dim db As DAO.Database

2. Phần thiết lập Connect:
Set db = OpenDatabase(Application.CurrentProject.Path + "\Tên csdl.accdb") hoặc ghi đường dẫn cụ thể.
hoặc Set db = CurrentDb() (Nếu là csdl hiện hành)
Set rs = db.OpenRecordset("tblXuathangban", dbOpenTable)

3. Phần thực thi:
rs.AddNew hoặc rs.Edit hoặc ...
rs.Fields("Sophieuxuat") = ...
rs.Fields("Tên fields") = ...
rs.Update
rs.Close
Set db = Nothing

Xin XT giải thích thêm: Hạn chế của DAO khi dùng trong mạng LAN là gì ? Tại sao phải dùng ADODB. Trường hợp chỉ sử dụng csdl Acccess trong mạng LAN thì sử dụng DAO vẫn OK chứ ?
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
#18
Bạn thử đi rồi sẽ biết. Có thế mới hiểu sâu được
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
#19
"XT" ơi !
Bạn có thể chỉ giúp mình cách tạo 1 function connection bằng ADODB được không ?
Mục đích để khi muốn Connection chỉ cần gọi function ra thôi.
Cảm ơn nhiều !
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


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Dòng chữ chạy trên form báo đến ngày sinh nhật tronghieu9792 1 121 20-10-16, 09:30 AM
Bài mới nhất: lamvankhanh
  Chèn file văn bản word vào access danhxetnghiem 10 437 11-10-16, 03:42 PM
Bài mới nhất: danhxetnghiem
  Không cho phép điều chỉnh kích thước của Form ChiMai 1 126 18-09-16, 01:27 PM
Bài mới nhất: ongke0711
  Lỗi khi chạy event hyuwoo 4 325 16-09-16, 10:39 AM
Bài mới nhất: hyuwoo
  Hightlight field nếu field được modify Anna 2 203 08-09-16, 10:14 AM
Bài mới nhất: ledangvan

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ơ