Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Lỗi] Lỗi khi chạy crosstab query
#11
Tôi xin lỗi vì chủ quan... nên không nghiên cứu kỹ, nay kiểm tra lại thì thấy mình trả lời sai. Giờ xin viết để tạ lỗi
Một vài ý riêng liên quan đến chủ đề CrosstabQuery và cách truyền tham số để tránh lỗi tham chiếu đến điều khiển trên form.
Một điều đáng tiếc là CrosstabQuery không cho phép chúng ta sử dụng tham chiếu trực tiếp đến điều khiển trên form. Ví dụ điển hình là trong bài tập của bạn Hoand.
Để vượt qua điều này, ta dùng thủ thuật truyền tham số từ form qua tham số của Query. Có lẽ không nhiều bạn sử dụng tiếp cận này, vì thế tôi xin giới thiệu cách sử dụng tham số trong câu lệnh truy vấn của Access.
Thông thường các câu truy vấn có điều kiện được đặt trực tiếp trong dòng lệnh sau các từ khóa như WHERE hoặc HAVING. Tuy nhiên, đôi khi ta muốn câu query có tính chất tương tác một chút. Người dùng sẽ phải nhập vào một giá trị, từ giá trị đó, query sẽ hiển thị kết quả mong đợi.
Trong trường hợp này ta gọi là định nghĩa tham số điều kiện cho Query. Để định nghĩa tham số, chọn nhấn phải chuột trên màn hình soạn thảo query, chọn Parameters. Màn hình soạn thảo Query sẽ hiện ra để bạn khai báo. Cột đầu tiên là tên Tham số và cột thứ 2 là kiểu số liệu.
Trong ví dụ của bạn Hoand thì ta đưa vào 2 tham số tham chiếu đến giá trị của form chọn thời gian F_Chonngay. Sau đó ta đưa điều kiện vào Câu lệnh truy vấn Crosstab với điều kiện chính là 2 tham số đã định nghĩa. Như vậy Query sẽ chạy mà không báo lỗi.

Query Crosstab trong Access có vấn đề đôi chút với truyền tham số tham chiếu trực tiếp từ form. Vì vậy, cho an toàn, nên định nghĩa tham số như thế này và tham chiếu dư lày sẽ ổn!
Mã PHP:
PARAMETERS [Forms]![F_ChonNgay]![TNDateTime, [Forms]![F_ChonNgay]![DNDateTime;
TRANSFORM Sum(b.SoLuong) AS SumOfSoLuong
SELECT b
.MaHangc.Tenhanghoa
FROM tblXuatHang 
AS a INNER JOIN (tblHangHoa AS c INNER JOIN tblXuatHangChiTiet AS b ON c.Mahang b.MaHangON a.MaSoXuat b.MaSoXuat
WHERE 
(((a.NgaylapBetween [Forms]![F_ChonNgay]![TN] And [Forms]![F_ChonNgay]![DN]))
GROUP BY b.MaHangc.Tenhanghoa
PIVOT a
.noinhan
Xin cáo lỗi các bạn vì ẩu quá
Đặng Đình Ngọc
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Noname , hoahd
#12
oh ho! Lý do chỉ vậy mà Mình cũng cứ loay hoay với cái Crosstab Query mất mấy buổi tối mà vẫn không hiểu tại sao. giờ thì ok rồi.Cảm ơn bạn Ngọc nhiều nhé!
Chữ ký của hoahd Xin chào, mình là hoahd, Tham gia http://thuthuataccess.com/forum từ ngày 08-06 -13.
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ướng Dẫn hướng dẫn làm query theo cbobox tieuho828 0 12 Hôm qua, 10:12 PM
Bài mới nhất: tieuho828
  Lọc query có điều kiện để tạo report honglv157 3 164 01-12-16, 05:15 PM
Bài mới nhất: maidinhdan
  [Help] ẩn nút ""Close Windown" khi mở query tronghieu9792 4 87 30-11-16, 09:36 PM
Bài mới nhất: tronghieu9792
Question [Help] Cần giúp đỡ tạo query lấy giá trị của dòng liền trước để tính giá trị trung bình luonguct 4 89 23-11-16, 12:33 AM
Bài mới nhất: luonguct
  Hướng Dẫn hướng dẫn làm query tieuho828 6 151 21-11-16, 12:36 AM
Bài mới nhất: toancvp

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ơ