-
Run-time error '3070': Does not recognize... as valid field name or...
mieuhoa > 04-01-16, 04:59 PM
Chào các bạn,
Mình làm 1 querry để đếm số bản ghi, điều kiện là group theo tên, rồi theo tháng (trong table có 1 trường là "thang").
Và mình bị lỗi như sau:
1. Nếu mình vào trực tiếp querry và điền điều kiện lọc (ví dụ ở trường "thang": 12/2015) thì querry chạy tốt, bình thường.
2. Mình tạo 1 form để người dùng sử dụng, có 1 textbox để điền điều kiện, nhưng khi điền điều kiện giống như trên thì mình bị lỗi "Run-time error '3070': Does not recognize... as valid field name or... "
Mình có gửi kèm file, các bạn chạy thử xem sao, có ai biết khắc phục lỗi này thì chỉ mình với.
Cảm ơn các bạn.
Link: http://www.mediafire.com/download/yhtb6d...n/Test.mdb -
RE: Run-time error '3070': Does not recognize... as valid field name or...
ongke0711 > 04-01-16, 11:28 PM
Đối với crosstab query, nó tạo ra tên cột dạng động tức là khi khởi chạy mới tạo ra tên cột (column heading). Do vậy khi bạn gán điều kiện: 1 cột nào đó tham chiếu đến 1 textbox trong form thì Access có biết tên cột nào đâu mà tham chiếu (cho đến khi nó chạy xong mới có tên cột). ==> sẽ báo lỗi "....does not recognize field....".
Để khắc phục bạn phải khai báo điều kiện tham chiếu rõ ràng bằng cách khai báo thêm ở khung "Parameter".
Vào chế độ Design View, ở góc trên cùng bên phải thanh menu sẽ có nút "Parameters" -> sẽ xuất hiện hộp thoại "Query Parameters" -> nhập điều kiện vào khung này và chọn Data type cho dữ liệu tham chiếu -> OK.
==> khi bạn nhập điều kiện vào form, click chạy Query sẽ ko còn báo lỗi.
Riêng về cái Report, bạn dùng crosstab query là Record Source thì phức tạp hơn vì có biết nó sẽ xuất hiện bao nhiêu cột mà design số textbox tương ứng. Hơn nữa bạn biết tên cột là gì mà gán cho Control Source của textbox.
Muốn có tên cột cố định bạn phải làm thêm một số thủ thuật. Vd: cố định 12 cột tháng, bạn phải gán cột tháng [THANG] IN (Jan, Feb....,Dec) cho Column heading... Bạn tự tìm hiểu thêm nhé.
PS: cái report của bạn tôi chẳng biết muốn hiển thị cái gì? lấy cột số tiền làm Column heading thì nó ra cái gì? -
RE: Run-time error '3070': Does not recognize... as valid field name or...
mieuhoa > 05-01-16, 10:10 AM
Cảm ơn bạn [b]ongke0711[/b] rất nhiều. Nhờ hướng dẫn của bạn, mình đã làm được rồi.
Riêng về report, vì đây chỉ là bản rút gọn để bạn dễ tải về xem thôi, chứ report của nó rối rắm lắm, vì phải đếm tổng số lượt dựa trên số tiền, rồi phân nhỏ ra theo từng tên, ... mình sợ để hết vào thì bạn tải về nặng lắm.
Thanks [b]ongke0711[/b]