-
Combo box giữa 2 file Access.
btnnhut > 05-07-17, 01:49 PM
Hôm nay mình có 1 vấn đề sau:
-Có 1 file access là DATA1 trong đó có data
- Và một 1 lfile Main, trong file Main có thiết kế 1 combo box để hiển thị 1 Field của table data trong file DATA1 (cụ thể là "so").
Mình gặp sự cố là không thể hiện hết dữ liệu của Field "so" trong data
Code mình đính kèm, bạn nào chỉ giáo được thì cám ơn nhe !
Điều kiện là không tạo 1 table nào ở file Main cả nhe! (vì cách này mình giải quyết được rồi).
https://drive.google.com/open?id=0BxlFQA...kE2enhJWEk -
RE: Combo box giữa 2 file Access.
ongke0711 > 05-07-17, 04:37 PM
Bạn dùng kiểu Loop Recordset để gán Value cho Combobox chi cho dài dòng và bạn cũng code sai. Bạn ngâm cứu lại các phương thức của Combobox đi.
Chỉ cần dùng lệnh Set là được rồi.
Set Me.cbDanhSach.Recordset = rs
Nếu muốn dùng Loop thì phải sửa lại:
-------------------------------------------------
Do Until rs.EOF
cbDanhSach.RowSourceType = "Value List"
cbDanhSach.AddItem rs!so
rs.MoveNext
Loop
-------------------------------------------------
Sau này chỉ cần hỏi là làm sao gán value cho combobox từ ADODB Recordset là người ta biết bạn đang dùng ADO để kết nối với nguồn dữ liệu khác rồi, cần gì diễn tả là có 2 table ở 2 nơi cho cho mắc công. Nói rõ nguồn dữ liệu khác kia là Excel, Access hay SQL Server. -
RE: Combo box giữa 2 file Access.
btnnhut > 06-07-17, 12:32 AM
(05-07-17, 04:37 PM)ongke0711 Đã viết: Bạn dùng kiểu Loop Recordset để gán Value cho Combobox chi cho dài dòng và bạn cũng code sai. Bạn ngâm cứu lại các phương thức của Combobox đi.
Chỉ cần dùng lệnh Set là được rồi.
Set Me.cbDanhSach.Recordset = rs
Nếu muốn dùng Loop thì phải sửa lại:
-------------------------------------------------
Do Until rs.EOF
cbDanhSach.RowSourceType = "Value List"
cbDanhSach.AddItem rs!so
rs.MoveNext
Loop
-------------------------------------------------
Sau này chỉ cần hỏi là làm sao gán value cho combobox từ ADODB Recordset là người ta biết bạn đang dùng ADO để kết nối với nguồn dữ liệu khác rồi, cần gì diễn tả là có 2 table ở 2 nơi cho cho mắc công. Nói rõ nguồn dữ liệu khác kia là Excel, Access hay SQL Server.
Cám ơn bạn đã chỉ giáo, góp ý. Phần đặt câu hỏi do mình chưa rành thuật ngữ chuyên ngành, nên không biết đặt sao để mọi người hiểu
Đây là link mình đã hoàn chỉnh theo 2 cách của bạn:
https://drive.google.com/open?id=0BxlFQA...WY4WWRHTG8 -
RE: Combo box giữa 2 file Access.
btnnhut > 06-07-17, 12:35 AM
-
RE: Combo box giữa 2 file Access.
ongke0711 > 06-07-17, 01:08 PM
(06-07-17, 12:32 AM)btnnhut Đã viết: Cám ơn bạn đã chỉ giáo, góp ý. Phần đặt câu hỏi do mình chưa rành thuật ngữ chuyên ngành, nên không biết đặt sao để mọi người hiểu
Đôi điều góp ý:
- Cái này không gọi là thuật ngữ chuyên ngành mà do bạn chưa ngâm cứu cái cơ bản của các kiểu kết nối CSDL (cơ sở dữ liệu) mà đã bắt tay vô viết code liền nên sẽ bị sai những cái cơ bản.
- Bạn phải hiểu rõ bạn sẽ dùng thư viện nào để kết nối, xử lý dữ liệu, dùng DAO, ADO, ODBC. Mỗi kiểu có bộ thư viện hàm, phương thức, cú pháp lệnh riêng của nó cũng như tổ chức CSDL (Linked table hay không).
Vd: File vừa rồi của bạn, đối với ComboBox:
Nếu dùng DAO thì sẽ không có lệnh Set Combobox.Recordset =… mà đổi lại là: Combobox.RecordSource=…
- Bên cạnh đó mỗi kiểu đối tượng có nhưng cái hay của nó tùy mô hình ứng dụng của bạn mà chọn cho nó tối ưu. Các hướng dẫn code về DAO thì rất nhiều trên mạng, còn ADO thì ít hơn. Nếu bạn không biết mình đang dùng thư viện nào thì làm sao tìm kiếm code trên mạng cho nó được. Giống như bạn đang dùng code của DAO áp dụng cho ADO, râu ông nọ cắm cằm bà kia vậy.