Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Không nhập liệu được bằng Form
#1
Em đang tạo Form (F_NhapLieu) nhập liệu. Khi thiết kế xong, em nhấn chọn nút Mới và nhập liệu. Nhưng có một số trường không nhập được thông tin, cụ thể như sau:
1.   Số phiếu em không nhập được.
-     Số phiếu này mình có thể thiết lập để cho nó chạy tự động tăng dần? (Chỉ cần nhập số phiếu cần ban đầu)
-     Ngày không nhập được
-     Khóa không nhập được
-     Tình trạng không nhập được
-     KH chăm sóc không nhập được
ð Nguyên nhân là gì? Cách khắc phục?
2.   Lấy dữ liệu, cụ thể các trường:
-     Tên khách hàng, em muốn khi chọn Mã khách hàng thì nó chọn thông tin khách hàng tương ứng..
-     Người giao dịch, em muốn khi chọn Mã khách hàng thì nó chọn thông tin người giao dịch tương ứng.
-     Địa chỉ, em muốn khi chọn Mã khách hàng thì nó chọn thông tin địa chỉ tương ứng.
Nhờ các anh/chị chỉ thêm cho em nhé!

Tải file
Chữ ký của ChiMai ChiMai,gia nhập Thủ Thuật Access từ 14-07 -16.
Reply
Những người đã cảm ơn
#2
ặc. Bạn không đưa file lên đây thì sao biết được nguyên nhân không nhập được chứ.
thế này nhé: không nhập được có nhất nhiều nguyên nhân, bạn thử xem nó rơi vào trường hợp naof?
có thế các textbox của bạn để looker là yes; hoặc forms bạn chưa lấy nguồn cho các textbox đó.
còn câu 2:
ví dụ table Khach có fiel MaKH; NgGD(người giao dịch); HT (họ tên); và DC(địa chỉ) thì để nhập MaKH và 1 textbox hiện họ tên thì bạn cho textbox đó như sau: =MaKH.column(2)
còn textbox người giao dịch : = MaKH.column(1)
còn textbox địa chỉ : = MaKH.column(3)
còn tùy table của bạn có cấu trúc như thế nào. nhớ rằng số 1; 2 ;3 là thứ tự từ trên xuống của fiel trong talbe được đếm từ 0 (chính là MaKH).
Vậy bạn áp dụng cho phù hợp với bài của mình nhé.
Chữ ký của zinzin8x zinzin8x,gia nhập Thủ Thuật Access từ 19-01 -16.
Reply
Những người đã cảm ơn ChiMai
#3
ờ sory bạn có file đính kèm nhỉ. nhưng mà tiếc quá lại là accdb lên mình không giúp thêm được nữa. mình xài access 2003. nhưng đại loại câu 2 thì như mình nói nha. hii
Chữ ký của zinzin8x zinzin8x,gia nhập Thủ Thuật Access từ 19-01 -16.
Reply
Những người đã cảm ơn
#4
Bạn ChiMai có thể convert về acc2003 vì trong forum này đa số dùng acc2003 rất rất ít người dùng acc2007 acc2010
Chữ ký của chuvoicon Xin chào, mình là chuvoicon, Tham gia http://thuthuataccess.com/forum từ ngày 18-11 -13.
Reply
Những người đã cảm ơn
#5
1. Bạn không nhập liệu được là do cái Record source của bạn không cho nhập liệu. Record source của bạn là SELECT query kết hợp 2 bảng thông qua INNER JOIN. Bạn đổi quan hệ 2 bảng này thành RIGHT JOIN là nhập được thôi.
Mã PHP:
SELECT KHTiemNang.SoPhieuKHTiemNang.NgayKHTiemNang.KhoadmKhachHang.TenKHdmKhachHang.NguoiGDdmKhachHang.DiaChiKHTiemNang.TinhTrangKHTiemNang.KeHoachCS
FROM dmKhachHang RIGHT JOIN KHTiemNang ON dmKhachHang
.MaKH KHTiemNang.MaKH
- Số phiếu tăng dần: cách nhanh nhất là bạn cho trường [SoPhieu] dạng Auto Number. Nó sẽ tự động tăng khi bạn tạo record mới.

2. Lam như bạn ZinZin hướng dẫn.
- Tạo 1 combobox tên cboMaKH có Row source là:
Mã PHP:
SELECT dmKhachHang.MaKHdmKhachHang.TenKHdmKhachHang.NguoiGDdmKhachHang.DiaChi
FROM dmKhachHang

- Theo như cái query là row source cho combobox này, bạn thấy cột 0 - Column(0) - là MaKH, cột 1: TenKH, cột 2: NguoiGD, cột 3: DiaChi.
- Thiết lập thuộc tính cho combobox: Bound column:1, Column count: 4
- Tạo các textbox có Control source lần lượt là: =cboMaKH.Column(1) cho Tên KH, = cboMaKH.Column(2) cho textbox Người giao dịch v.v..
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , ChiMai
#6
Làm như bạn ongke thì ok, nhưng dữ liệu không được truyền vào table  mà chỉ thể hiện ở trên form (do form nó hiểu chỉ tìm kiếm và control source của textbox không chứa trường của table cần lưu dữ liệu.

Các bạn xem và phản hồi  giùm mình nhé!
Chữ ký của hungefi Xin chào, mình là hungefi, Tham gia http://thuthuataccess.com/forum từ ngày 02-10 -12.
Reply
Những người đã cảm ơn
#7
(23-07-16, 12:24 PM)hungefi Đã viết: Làm như bạn ongke thì ok, nhưng dữ liệu không được truyền vào table  mà chỉ thể hiện ở trên form (do form nó hiểu chỉ tìm kiếm và control source của textbox không chứa trường của table cần lưu dữ liệu.

Các bạn xem và phản hồi  giùm mình nhé!

Không biết bạn tổ chức CSDL như thế nào, tại sao lại phải cần lưu lại 1 lần nữa vào table các thông tin của các cột của combobox?
Đối với form nhập liệu dạng này, chỉ cần lưu trường [MaKH] vào table là đủ rồi, khi cần in report thì mới dùng query lấy thêm thông tin các trường như [TênKH], [DiaChi]... dựa trên trường [MaKH] đã lưu. Nếu bạn làm như cách bạn muốn thì CSDL chưa chuẩn hóa, một loại thông tin mà lưu lặp lại nhiều nơi, tốn dung lượng file.
Còn nếu vẫn muốn lưu theo mục đích thiết kế của bạn thì dùng macro Setvalue hoặc code VBA.
Ví dụ:
- Tạo thêm textbox có Control Source là trường bạn muốn lưu - [TenKH]. Cho nó Visible=No.
----------------------------------------------------------
Private Sub cboMaKH_AfterUpdate()
   Me.TenKH.Value=Me.cboMaKH.Column(1)
End Sub
---------------------------------------------------------
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hungefi
#8
(23-07-16, 12:24 PM)hungefi Đã viết: Làm như bạn ongke thì ok, nhưng dữ liệu không được truyền vào table  mà chỉ thể hiện ở trên form (do form nó hiểu chỉ tìm kiếm và control source của textbox không chứa trường của table cần lưu dữ liệu.

Các bạn xem và phản hồi  giùm mình nhé!

Mình cũng chưa rõ ý của chủ thớt lắm. làm access cái quan trọng nhất là tổ chức tốt CSDL -tạo bảng là liên kết chúng lại một cách khoa học, làm sao mà mỗi fiel chỉ xuất hiện ít nhất có thể và các bảng phải được rằng buộc với nhau.
Mình lấy ví dụ: table Makhach thì có fiel Makhach làm khóa chính, còn các trường khác thể hiện thông tin của Makhach.
table khác thì chỉ cần lấy Makhach ra thôi chứ không lôi những thông tin kia ra làm gì nữa.
do vậy cái forms bạn dùng để nhập dữ liệu dù lấy nguồn là table hay query thì cũng đều được save vào table hết mà.
bạn đưa file mdb của bạn lên đây xem nào?
Chữ ký của zinzin8x zinzin8x,gia nhập Thủ Thuật Access từ 19-01 -16.
Reply
Những người đã cảm ơn maidinhdan , hungefi
#9
-Nếu vậy mình chỉ cho thể hiện trên form khi chon 1 mã hàng từ combobox và dữ liệu tên hàng mình sẽ lấy từ query.
-Mình còn 1 vấn đề về các dữ liệu sau:
VD: nhập control source cho textbox TH =[CB].[COLUMN](1)
       hoặc code VB: 
Private Sub Combo5_AfterUpdate()
Me.TH = Combo5.Column(1)
Me.Refresh
End Sub
=> Đối với Access 2003: dữ liệu tìm kiếm ok
=> Đối với access 2207: lúc mới tạo thì ok, nhưng khi đóng và chạy lại form thì không thể hiện tên hàng và ĐVT nữa

Các bạn xem giùm mình nền access 2007 nhé!

File demo AC2003 của mình:
https://drive.google.com/file/d/0B9yl0Zb...ef=2&pli=1
Chữ ký của hungefi Xin chào, mình là hungefi, Tham gia http://thuthuataccess.com/forum từ ngày 02-10 -12.
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
  [Hỏi] Refresh Form và tiếp tục hoạt động Godspear 2 84 Hôm qua, 12:48 PM
Bài mới nhất: Godspear
  Tạo Menu dạng TreeView bằng Query (không dùng ActiveX) ongke0711 4 268 06-12-16, 09:16 PM
Bài mới nhất: toancvp
  [Hỏi] Cách thêm dữ liệu vào form Main_Sub NganNguyen 1 39 06-12-16, 02:23 AM
Bài mới nhất: maidinhdan
  Tự động hiện Form khi loading hết thời gian ChiMai 1 49 02-12-16, 08:59 PM
Bài mới nhất: ongke0711
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 209 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq

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ơ