Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
xin code để nhân bản record giống nhau
#11
mình không hiểu hướng dẫn của bạn, vì mình mới tập acess. 1 hộp để chọn giảng viên và 1 hộp để chọn mã lớp là ntn bạn.bạn có thể demo cho mình được ko 
http://www.mediafire.com/download/d6bqbqdlldb37ry/A.mdb
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
#12
(13-08-15, 12:50 PM)honglv157 Đã viết: mình không hiểu hướng dẫn của bạn, vì mình mới tập acess. 1 hộp để chọn giảng viên và 1 hộp để chọn mã lớp là ntn bạn.bạn có thể demo cho mình được ko 
http://www.mediafire.com/download/d6bqbqdlldb37ry/A.mdb

Đây bản demo của bạn đây. Hình như đây là bài tập của bạn thì phải nhỉ?
http://www.sfdp.net/thuthuataccess/demo/...ects=0&d=1
Tôi tạo thêm 2 form
frmPhieudanhgia để thêm phiếu đánh giá và DGGV để hiển thị danh mục phiếu đánh giá.

Form phiếu đánh giá có 1 Listbox để chọn giảng viên, 2 combo để chọn lớp và môn và textbox txtSophieu để nhập số phiếu.
Có thêm thủ tục


Mã:
Private Sub cmdAddForms_Click()
    If Nz(txtsophieu, 0) = 0 Or Nz(lsGiangvien, 0) = 0 Or Nz(cbLophoc, 0) = 0 Or Nz(cbMonhoc, 0) = 0 Then
        MsgBox ("Ban chua chon ten giang vien hoac cai gi gi do")
        Exit Sub
    End If
    ' Cac thong tin tren khong trong lam tiep nao
    Dim i As Long, SqlStr As String, FormNum As Long
    FormNum = Val(txtsophieu)
    For i = 1 To FormNum
        ' danh so thu tu phieu tang dan
        SqlStr = "INSER___T INTO DGGV(MaGV, MaLop, MaMon, Sophieu) " & _
            "Values('" & lsGiangvien & "', '" & cbLophoc & "', '" & cbMonhoc & "', " & i & ");"
SqlStr=replace(SqlStr,"___","")
        CurrentDb.Execute SqlStr
    Next
    DGGV.Form.Requery
End Sub


Tôi thêm phần SqlStr=replace(SqlStr,"___","") để tránh phải copy, sửa chữa khi đăng lên diễn đàn (điễn đàn cấm việc dùng từ INSERT...)

Thủ tục này chịu trách nhiệm thêm bản ghi
Các thủ tục khác không có gì đặc sắ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 honglv157 , maidinhdan
#13
không phải bài tập đâu ạ! Mình hết tuổi cắp sách đến trường rồi, bằng tuổi cao thủ Paulsteigel. Cảm ơn nhiêù nhé, có gì vướng mắc mong tiếp tục được bạn giúp đỡ
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 paulsteigel
#14
khi nhập vào ô số phiếu đánh giá và nhấn thêm phiếu thì chỉ có số phiếu được nhân bản, còn các record tiêu chí không xuất hiện. Mình muốn gõ 3 vào số phiếu thì xuất hiện 3 dòng giống hệt thông tin dòng ngay bên trên:
Magv       malop          mamon     sophieu       tieuchi1        tieuchi2       tiieuchi3       tieuchi4          Tiêuchi5
Gv001   cbm13-01        MM01                        TỐT              KHÁ          TỐT           tỐT                 tỐT

 mình nhập  3 vào số phiếu thì sẽ có kết quả như thế này:

Magv       malop          mamon     sophieu       tieuchi1        tieuchi2       tiieuchi3       tieuchi4          Tiêuchi5
Gv001   cbm13-01        MM01           3            TỐT              KHÁ          TỐT          TỐT                TtỐT

Gv001   cbm13-01        MM01           3            TỐT              KHÁ          TỐT          TỐT                 TỐT
Gv001   cbm13-01        MM01           3            TỐT              KHÁ          TỐT        TỐT                   TỐT
 Bạn xem lại giúp! Ngoài ra mình cũng đã có tạo form nhập phiếu đánh giá tên :PDDGV. Bạn có thể viết code trên form đó giùm mình. 
Thanks !Thanks!thanks
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
#15
(13-08-15, 02:56 PM)honglv157 Đã viết: ....
Bạn là chúa lười...
Đánh giá giảng viên mà cho mặc định vào kết quả như vậy thì không ổn rồi. Mình cũng là giảng viên bất đắc dĩ nhưng rất nghiêm túc vụ đánh giá giảng viên. Ngày trước Danhxetnghiem cũng nhờ mình thêm sẵn kết quả siêu âm. Mình từ chối thẳng mặc dù về kỹ thuật thì rất đơn giản.
Bạn lưu ý nhé, vụ này mình nhất quyết không ủng hộ giải pháp nhân bản để đánh giá giảng viên!

Ở đây, bạn nên tự làm - bạn có thể sửa các trường tiêu chí cho kết quả là mặc định giá trị 0 chẳng hạn.
Có một góp ý nhỏ, các trường tiêu chí nên để kiểu là số sau đó chọn các giá trị ví dụ 0 - ứng với tốt, 1 khá, .... như vậy dễ kiểm đếm hơn sau này. Khi nhập liệu cũng dễ dàng hơn.
Chẳng hạn nếu bạn muốn kểu số thì chỉ cần sửa đoạn này dư lày:

Mã:
Private Sub cmdAddForms_Click()
    If Nz(txtsophieu, 0) = 0 Or Nz(lsGiangvien, 0) = 0 Or Nz(cbLophoc, 0) = 0 Or Nz(cbMonhoc, 0) = 0 Then
        MsgBox ("Ban chua chon ten giang vien hoac cai gi gi do")
        Exit Sub
    End If
    ' Cac thong tin tren khong trong lam tiep nao

    Dim i As Long, SqlStr As String, FormNum As Long, StrDefault_Fld As String, StrDefault_Fld_Value As String
    FormNum = Val(txtsophieu)
    
    For i = 1 To 10
        StrDefault_Fld = StrDefault_Fld & ", Tieuchi" & i
        StrDefault_Fld_Value = StrDefault_Fld_Value & ", 'T" & ChrW(7888) & "T'"
        ''T" & ChrW(7888) & "T'" là chữ Tốt, tất cả mặc định sẽ là tốt
    Next
    
    For i = 1 To FormNum
        ' danh so thu tu phieu tang dan
        SqlStr = "INSER___T INTO DGGV(MaGV, MaLop, MaMon, Sophieu" & StrDefault_Fld & _
            "Values('" & lsGiangvien & "', '" & cbLophoc & "', '" & cbMonhoc & "', " & i & StrDefault_Fld_Value & ");"
        SqlStr = Replace(SqlStr, "___", "")
        CurrentDb.Execute SqlStr
    Next
    DGGV.Form.Requery
End Sub


Chúc bạn thành công.
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
#16
thế bạn là hiểu nhầm mình rùi. Không phải vì mình lười, mà làm như vậy tiện trong các trường hợp có các số phiếu giống nhau. Ví dụ lớp học có 40 phiếu thì có 20 phiếu học viên tích đánh giá giống hệt nhau. Thì liệu có mất thời gian để ngồi nhập 20 phiếu đó vào không hay chỉ cần gõ 20 thì sẽ nhân bản được 20 bản giống hệt nhau. Còn những phiếu khác nhau thì phải tự ngồi để gõ lại chứ.^-^
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
#17
(13-08-15, 03:21 PM)honglv157 Đã viết: thế bạn là hiểu nhầm mình rùi. Không phải vì mình lười, mà làm như vậy tiện trong các trường hợp có các số phiếu giống nhau. Ví dụ lớp học có 40 phiếu thì có 20 phiếu học viên tích đánh giá giống hệt nhau. Thì liệu có mất thời gian để ngồi nhập 20 phiếu đó vào không hay chỉ cần gõ 20 thì sẽ nhân bản được 20 bản giống hệt nhau. Còn những phiếu khác nhau thì phải tự ngồi để gõ lại chứ.^-^


Thật sự thì mình không thích cách đánh giá mang tính chất cho xong nên khi giảng dạy, mình luôn dành 15 phút hướng dẫn học viên điền phiếu đánh giá sau đó mới chuyển vào mục ôn bài cuối cùng hoặc bế mạc.
Như vậy chuyện giống nhau là có nhưng ít khi hàng loạt. Bên cạnh đó việc thiết kế phiếu cũng hết sức cẩn thận!
Tùy bạn thôi.
Nhưng với yêu cầu của bạn thì cách làm lại phải khác.
Bước 1: Nhập xong 1 phiếu
Bước 2: Nhấn 1 nút nhân bản
+ Chọn phiếu cần nhân bản;
+ Nhấn nút
+ Xác nhận
+ Nhân bản.

Để làm điều này bạn cần: Bổ sung 1 nút nhân bản, thủ tục của nó bao gồm:
+ Thông báo cho người dùng hiện tại có đang chọn phiếu nào không?
+ Nếu chọn thì đưa ra hộp thoại ví dụ InputBox hỏi số phiều cần nhân bản
+ Nhân bản và đánh lại số thứ tự phiếu.

Chẳng hạn bạn chọn phiếu số 2 (trong khi đang có 3 phiếu) thì khi nhân bản phải đánh lại số thứ tự phiếu.

Vậy làm thế này có phải là bạn đang:
+ Phải đếm số phiếu giống nhau trước - nếu thật sự nghiêm túc
+ Không thì thêm bừa vào rồi sửa sau (nếu nghiêm túc) hoặc không sửa.

Cú pháp để thực hiện là dùng 1 truy vấn INSER T INTO hoặc SELEC T INTO
INSER__T INTO DGGV ( MAGV, MALOP, MAMON, TIEUCHI1, TIEUCHI2, TIEUCHI3, TIEUCHI4, TIEUCHI5, TIEUCHI6, TIEUCHI7, TIEUCHI8, TIEUCHI9, TIEUCHI10 )
SELECT a.MAGV, a.MALOP, a.MAMON, a.TIEUCHI1, a.TIEUCHI2, a.TIEUCHI3, a.TIEUCHI4, a.TIEUCHI5, a.TIEUCHI6, a.TIEUCHI7, a.TIEUCHI8, a.TIEUCHI9, a.TIEUCHI10
FROM DGGV AS a
WHERE (((a.MAGV)="GV001") AND ((a.MALOP)="CBM13-01") AND ((a.MAMON)="MM02") AND ((a.SOPHIEU)=5));

Tôi không có ý định thuyết phục bạn thay đổi nhưng, nếu cái gì mình có thể làm nghiêm túc được thì hãy cố hết sức và đừng tạo điều kiện ăn sẵn cho người dùng, dễ tạo ra tư tưởng làm cho xong. Cái đó dân Việt ta là chúa. Vậy thêm vào mấy cái rỗng sẽ tốt hơn và để họ làm việc nhập liệu một cách có ý thức. Ta có thể tạo ra cơ chế để họ nhập nhanh hơn (gõ số, bấm mũi tên ...)
Tôi xin chia sẻ thế thôi và sẽ không làm giúp bạn việc này nhé!

Chúc bạn thành công
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 , maidinhdan
#18
việc em nhờ anh nhân bản code là để phục vụ cho việc viết chương trình quản lý dữ liệu em đang viết như đã gửi link. Bên em tổ chức các Chức các lớp dành cho cán bộ trong hệ thống agribank tham gia học.Và khi kết thúc chương trình, các học viên sẽ đánh giá về giảng viên giảng dạy mình thông qua các phiếu. Trước kia CBQL lớp sẽ tự đếm tay các phiếu, phân loại các phiếu có tiêu chí đánh giá giống nhau rồi đưa vào exelc, những phiếu khác nhau thì sẽ đếm và tự tính thủ công. Điều này dễ gây nhầm lẫn. Chính vì vậy em mới dùng acess để thực hiện. Không phải em lười hay ngại hay ẩu mà muốn làm vậy cho nhanh mà như thế đảm bảo công việc được thực hiên bằng máy, nhanh chóng và chính xác hơn thôi ah. 
Em cảm ơn gợi ý của anh
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
#19
(13-08-15, 04:00 PM)honglv157 Đã viết: việc em nhờ anh nhân bản code là để phục vụ cho việc viết chương trình quản lý dữ liệu em đang viết như đã gửi link. Bên em tổ chức các Chức các lớp dành cho cán bộ trong hệ thống agribank tham gia học.Và khi kết thúc chương trình, các học viên sẽ đánh giá về giảng viên giảng dạy mình thông qua các phiếu. Trước kia CBQL lớp sẽ tự đếm tay các phiếu, phân loại các phiếu có tiêu chí đánh giá giống nhau rồi đưa vào exelc, những phiếu khác nhau thì sẽ đếm và tự tính thủ công. Điều này dễ gây nhầm lẫn. Chính vì vậy em mới dùng acess để thực hiện. Không phải em lười hay ngại hay ẩu mà muốn làm vậy cho nhanh mà như thế đảm bảo công việc được thực hiên bằng máy, nhanh chóng và chính xác hơn thôi ah. 
Em cảm ơn gợi ý của anh
Bạn có thể tham khảo qua một ứng dụng đánh giá giảng viên tôi viết từ 2002
http://www.sfdp.net/thuthuataccess/demo/...ects=0&d=1
Kèm theo bạn cần phải đăng ký điều khiển vsflex grid (có trong file nén, kèm theo với mã key).
Bạn chỉ cần nhấn kép và chọn chương trình đăng ký là regsvr32.exe (trong thư mục windows\system32)là đượ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 honglv157
#20
quá đáng ngưỡng mộ và khâm phục. Cảm ơn anh ah!
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
  [Hỏi] Việc set thuộc tính OnClick trong Code toancvp 5 229 31-10-16, 10:14 AM
Bài mới nhất: toancvp
  [Lỗi] Không chạy được VBA Code hungthanmx 3 217 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 251 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 123 24-04-16, 05:59 PM
Bài mới nhất: li_95
  Hướng Dẫn Re_Thiết kế ứng dụng quản lý nhân sự (Viên chức) maidinhdan 49 2,446 03-03-16, 02:23 PM
Bài mới nhất: hungle2006

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ơ