Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
xin code để nhân bản record giống nhau
#21
Cái wd của em bị lỗi, không vào được regsvr32.exe anh ah!tiếc quá! Anh có thể cho em hỏi về
Câu lệnh insert và select anh viết trên là gắn vào nút thêm đúng ko anh. Nhưng nếu đánh mặc định gv, mã lớp thì sẽ chỉ nhân bản được các record của gv và mã lớp ấy thôi ah!Em viết thử nhưng không ra cái gì cả a!
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#22
(13-08-15, 04:48 PM)honglv157 Đã viết: Cái wd của em bị lỗi, không vào được regsvr32.exe anh ah!tiếc quá! Anh có thể cho em hỏi về
Câu lệnh insert và select anh viết trên là gắn vào nút thêm đúng ko anh. Nhưng nếu đánh mặc định gv, mã lớp thì sẽ chỉ nhân bản được các record của gv và mã lớp ấy thôi ah!Em viết thử nhưng không ra cái gì cả a!
Đương nhiên là bạn phải sửa rồi, sửa đoạn này này...

WHERE (((a.MAGV)='" & lsGiangvien & "') AND ((a.MALOP)='" & cbLophoc & "') AND ((a.MAMON)='" & cbMonhoc & "') AND ((a.SOPHIEU)=" & txtMaSophieu & "));

Trong đó biến số phiếu txtMaSophieu là số thứ tự của phiếu mà bạn đang chọn.
Mã số đó có thể lấy được bằng cách truy vấn giá trị DGGV.Form.Sophieu./...
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 maidinhdan , honglv157
#23
(13-08-15, 06:21 PM)paulsteigel Đã viết:
(13-08-15, 04:48 PM)honglv157 Đã viết: Cái wd của em bị lỗi, không vào được regsvr32.exe anh ah!tiếc quá! Anh có thể cho em hỏi về
Câu lệnh insert và select anh viết trên là gắn vào nút thêm đúng ko anh. Nhưng nếu đánh mặc định gv, mã lớp thì sẽ chỉ nhân bản được các record của gv và mã lớp ấy thôi ah!Em viết thử nhưng không ra cái gì cả a!
Đương nhiên là bạn phải sửa rồi, sửa đoạn này này...

WHERE (((a.MAGV)='" & lsGiangvien & "') AND ((a.MALOP)='" & cbLophoc & "') AND ((a.MAMON)='" & cbMonhoc & "') AND ((a.SOPHIEU)=" & txtMaSophieu & "));

Trong đó biến số phiếu txtMaSophieu là số thứ tự của phiếu mà bạn đang chọn.
Mã số đó có thể lấy được bằng cách truy vấn giá trị DGGV.Form.Sophieu./...


Bạn phải sửa lại toàn bộ cấu trúc bảng
DGGV
Thêm một trường ID kiểu AUTONUMBER và đặt khóa
các trường khác bỏ khóa Require/ Indexed...

Các cấu trúc quan hệ trong bảng quan hệ cũng cần sửa lại.
Kinh nghiệm trong phát triển CSDL người ta thường xây dựng quan hệ thế này:
Ví dụ đối tượng tổng quát là Tỉnh, trong tỉnh có nhiều huyện, trong huyện có nhiều xã, trong xã có nhiều thôn thì sẽ nên xây dựng các bảng như sau:
Tỉnh
Matinh- autonumner
Tentinh

Huyen
Mahuyen-autonumber
Matinh-number
Tenhuyen

Xa
Maxa-autonumbe
Mahuyen-number
Tenxa

Trong đó quan hệ chỉ có kết nối giữa Matinh<>Matinh, Mahuyen<>Mahuyen....
Làm như vậy thì sẽ không phải giải quyết những nguyên tắc phức tạp.
Trong CSDL của bạn có thể thấy:
Giảng viên thì có nhiều phiếu đánh giá giảng viên.
Nhưng Môn học với học sinh thì chả liên quan gì đến đánh giá giảng viên, nếu có liên quan thì chỉ là dạng tham chiếu tức là mã môn học thì có quan hệ với bảng danh mục môn học nhưng không bắt buộc rằng bảng danh mục môn học là cha của bảng đánh giá giảng viên.
Bạn nên xem phần modife trong file tôi gửi kèm link,

Tôi có bổ sung cho bạn một số chuẩn mực trong xây dựng hàm thủ tục bao gồm:

Định nghĩa kiểu - để sử dụng cho dễ
Private/Public Type
End type

Định nghĩa thuộc tính Property Let/Get để đỡ phải dùng các biến toàn cục

Module MSGbox để hiển thị thông điệp tiếng việt
Hàm MSG để lấy thông điệp trong bảng từ đó mình gọi ra các thông điệp một cách dễ dàng và thân thiện: Ví dụ
MSG("BẠN_CHUA_CHON_DOI_TUONG")

Có gì bạn xem thêm trong file đính kèm và nghiên cứu nhé.
http://www.sfdp.net/thuthuataccess/demo/...ects=0&d=1

Trong bài này tôi cũng giới thiệu một phương pháp hiển thị các thông tin còn thiếu chưa điền bằng thủ tục sau:
Mã:
'Function de kiem tra gia tri...
Function ValidSelectedObject(FormObj As Form, Optional ObjTag As Long = 1, Optional ByPassObjectName As String = "") As Boolean
    ValidSelectedObject = True
    Dim obj As Object
    For Each obj In FormObj.Controls
        If obj.Tag = ObjTag Then
            If ByPassObjectName <> "" And obj.Name = ByPassObjectName Then
                ' skip checking with this...
            Else
                If Nz(obj, 0) = 0 Then
                    ' hay chu y lenh replace nay...
                    MsgBox Replace(Replace(Msg("MSG_CHUA_CHON_DOI_TUONG"), "%%", "[" & obj.Controls(0).Caption & "]"), "&", ""), vbCritical
                    ValidSelectedObject = False
                    Exit For
                End If
            End If
        End If
    Next
End Function
Các bạn chú ý chỗ obj.Controls(0).Caption
Cái này sẽ giúp lấy ngay thông điệp là nhãn của đối tượng để hiển thị ngay....

Chắc phải mở lớp dạy access tại Hà Nội nhỉ...
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 honglv157
#24
e rất cảm ơn những gợi ý của a. e hy vọng trong time tới sẽ được tham gia lớp a tổ chức. rất mong chờ ý anh a.
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
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
  [Help] Tìm Record Có Giá Trị Gần Đúng Phung Duc 4 74 07-12-16, 05:09 PM
Bài mới nhất: ongke0711
  [Hỏi] Việc set thuộc tính OnClick trong Code toancvp 5 230 31-10-16, 10:14 AM
Bài mới nhất: toancvp
  [Lỗi] Không chạy được VBA Code hungthanmx 3 219 04-09-16, 03:48 PM
Bài mới nhất: Nguyen Hoang Diep
  [Hỏi] Cách tạo chương trình quét và nhận dạng vân tay bằng access nguyenhungcuong 4 252 10-06-16, 03:13 PM
Bài mới nhất: ongke0711
  [Help] ai giúp mình code lại sql này thành access với li_95 0 133 24-04-16, 05:59 PM
Bài mới nhất: li_95

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ơ