minhminh25767 > 26-09-23, 11:45 AM
minhminh25767 > 26-09-23, 12:20 PM
Me.toan.Value = DLookup("diem", "tablecoppy_excel2", "[monhoc] = '" & "toan" & "' AND [ten] = '" & "A" & "'")
ongke0711 > 26-09-23, 02:10 PM
(26-09-23, 12:20 PM)minhminh25767 Đã viết: em đã làm được: câu lệnh cho nút bấm là
Mã:Me.toan.Value = DLookup("diem", "tablecoppy_excel2", "[monhoc] = '" & "toan" & "' AND [ten] = '" & "A" & "'")
Tương tự lặp lại cho các môn còn lại.
không biết có dài dòng quá không?
minhminh25767 > 26-09-23, 02:52 PM
(26-09-23, 02:10 PM)ongke0711 Đã viết:(26-09-23, 12:20 PM)minhminh25767 Đã viết: em đã làm được: câu lệnh cho nút bấm là
Mã:Me.toan.Value = DLookup("diem", "tablecoppy_excel2", "[monhoc] = '" & "toan" & "' AND [ten] = '" & "A" & "'")
Tương tự lặp lại cho các môn còn lại.
không biết có dài dòng quá không?
Không phải quá dài dòng mà là nó sai thiết kế bảng dữ liệu chuẩn hóa.
- Giả định sau này (bạn phải đặt giả định) có phát sinh một mới ==> vô sửa, thêm cả đống code cho môn mới ở các Form, Report khác nhau.
- Nhập liệu nên theo nguyên tắc phát triển hàng dọc, tức là cái bảng mà bạn copy từ Excel nó mới là chuẩn hóa hơn cái table mà bạn thiết kế lại trong Access (tên Môn được xếp hàng ngang). Để hiển thị theo hàng ngang thì chỉ cần dùng Crosstab Query là được rồi.
- Khi bạn thiết kế dữ liệu môn, tên học sinh theo hàng dọc, khi cần import (copy) từ Excel thì nó cùng định dạng chỉ cần Insert toàn bộ bảng Excel vô table Access, thêm [ngày nhập] là xong -> Form tự hiển thị dữ liệu theo nguồn table.
- Phải dùng Mã học sinh chứ không dùng Tên. Sau này cần hiển thị, báo cáo thì lookup sang table thông tin học sinh để lấy các thông tin liên quan.
- Các control (textbox, nút lệnh, comboBox...) trên Form nên có tiếp đầu ngữ để phân biệt nó là Control chứ không phải Field. Đã có nhiều trường hợp thiết kế Form như trên mà phát sinh lỗi do Access nó không biết tham chiếu đến Textbox trên Form hay tham chiếu đến Field trong Table. Như Form của bạn là [toan].