Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Nhờ giúp dùm bài tập access
#1
Xin lỗi mình quên share:
Tôi đang làm chương trình phân công giáo viên tên "P_cong" đến query "Q_phancong" tôi gặp khó nhờ các bạn giúp đỡ. Ý tôi là các dòng trong query này nếu cột "TenGV" trùng nhau thì xử lý các cột có kiểu chữ cách nhau bởi dấu phẩy (Ví dụ: cột kiêm nhiệm là "Chủ nhiệm, Tổ trưởng", các cột kiểu số thì cộng lại, riêng cột "Solopday" vẫn sử dụng dấu phẩy. 

Đây là file của tôi: 
https://drive.google.com/file/d/1fX4IW14...sp=sharing
Chữ ký của nguyentrunghoadh Xin chào, mình là nguyentrunghoadh, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -14.
Reply
Những người đã cảm ơn
#2
Mình có xem bài bạn đưa lên hôm trước. Mình không nghĩ là Query có thể giải quyết được yêu cầu của bạn. Nếu là mình sẽ dùng đến Form để hiển thị theo yêu cầu của User. Chữ đơn thuần Query chắc khó.
Chữ ký của duynamvnn1208 duynamvnn1208,gia nhập Thủ Thuật Access từ 25-06 -17.
Reply
Những người đã cảm ơn
#3
(18-01-18, 04:59 PM)nguyentrunghoadh Đã viết: Xin lỗi mình quên share:
Tôi đang làm chương trình phân công giáo viên tên "P_cong" đến query "Q_phancong" tôi gặp khó nhờ các bạn giúp đỡ. Ý tôi là các dòng trong query này nếu cột "TenGV" trùng nhau thì xử lý các cột có kiểu chữ cách nhau bởi dấu phẩy (Ví dụ: cột kiêm nhiệm là "Chủ nhiệm, Tổ trưởng", các cột kiểu số thì cộng lại, riêng cột "Solopday" vẫn sử dụng dấu phẩy. 

Đây là file của tôi: 
https://drive.google.com/file/d/1fX4IW14...sp=sharing
Thực sự nhìn qua CSDL tôi không biết bạn đang làm cái gì và ý muốn gì. Nhưng người ta xác định các đối tượng (ở đây là giáo viên) bằng mã (ID) để giải quyết trường hợp các đối tượng khác nhau bị trùng tên (như số CMND vậy).
Cách gom các field (ở đây bạn gọi là cột) bạn phải tạo một field mới (ví dụ field có tên là Newfield), Nếu kiểu text Newfield: FieldName1 & "," & FieldName2 & "," & ....& "," &FieldNameN,  Nếu kiểu số Newfield: FieldName1 + FieldName2 + ....+ FieldNameN.
Đây là 1 trong những vấn đề cơ bản trong access. Bạn không thể lấy kiến thức từ excel hay word để thiết kế một CSDL access được đâu!
Trong excel người ta gọi cột (column), dòng hoặc hàng (row) nhưng access thì gọi là trường (field), mẫu tin (record). Nếu bạn chưa có kiến thức cơ bản về access hãy trang bị nó trước rồi mới có thể làm việc với nó được. Trong tình hình hiện tại dù có hỗ trợ bạn thì bạn cũng đâu hiểu gì!
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
Ý của mình là trong field MaGV nếu có 2 hay nhiều hơn record trùng nhau thì từng field sẽ được gom các record tương ứng (nếu là type chữ thì cách nhau dấu ",", còn kiểu số thì cộng lại).
Chữ ký của nguyentrunghoadh Xin chào, mình là nguyentrunghoadh, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -14.
Reply
Những người đã cảm ơn
#5
Tôi nhớ là có giải bài dạng này của bạn ở link bên dưới rồi mà. Bạn vẫn chưa làm được sao?
http://thuthuataccess.com/forum/thread-10035.html
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#6
Đúng rồi, cảm ơn bạn. Do bận lâu quá tôi mới xem lại, nhưng tôi có thêm một số field nên hàm bạn viết tôi áp dụng chưa được (chắc là tôi mới học nên chưa hiểu hàm). Mong bạn giải thích kỹ hơn dùm.
Chữ ký của nguyentrunghoadh Xin chào, mình là nguyentrunghoadh, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -14.
Reply
Những người đã cảm ơn
#7
Tôi đã chỉnh sửa cái hàm "Gộp Dòng" - GopDong() lại cho bạn có thể áp dụng cho nhiều trường (Field) bạn cần gộp lại thành 1 dòng nếu nó cùng một mã qui định nào đó ([MaGV] trong bài của bạn).

Kết quả query:

[Hình: 39905261121_9fe81d3665_o.png]

Design view query:

[Hình: 39006455315_c4791b7f4c_o.png]

Code cho hàm GopDong():

Mã PHP:
Option Explicit

Function GopDong(TenFieldCanGop As StringTenFieldThamChieu As StringFieldThamChieu As VariantTenTable As String)
'Ham dung de gop các dong co chung mot truong (field) nao do lai voi nhau.'

   Dim db As DAO.Database
   Dim rs 
As DAO.Recordset
   Dim strSQL 
As String
   Dim RowList 
As String

   Set db 
CurrentDb()
   strSQL "SELECT [" TenFieldCanGop "] FROM " TenTable " WHERE CStr([" TenFieldThamChieu "])= """ FieldThamChieu """"
   'Debug.Print strSQL'

   Set rs db.OpenRecordset(strSQLdbOpenSnapshot)

   If Not rs.EOF Then
       rs
.MoveFirst
   End 
If

   Do While Not rs.EOF
       RowList 
RowList rs(0) & ", "
       rs.MoveNext
   Loop

   GopDong 
Left(RowListLen(RowList) - 2)

End Function 


Link file demo: http://www.mediafire.com/file/2dtr61u0kd...a%29.accdb
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , nguyentrunghoadh
#8
Link file demo: http://www.mediafire.com/file/2dtr61u0kd...a%29.accdb

Áp dụng vào bài mình  link bài thì nó lỗi ở chổ này

[Hình: 29aaa662353b818a3.jpg]
Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14.
Reply
Những người đã cảm ơn
#9
- Trong Query bạn sửa lại tham số truyền vào cho hàm GopDong():
  CHIDINH: GopDong("mathuthuat","maso",[maso],"thuthuat")

- Vì field [maso] dạng Number nên trong hàm phải bỏ dấu nháy kép"
  strSQL = "SELECT [" & TenFieldCanGop & "] FROM " & TenTable & " WHERE [" & TenFieldThamChieu & "]=" & FieldThamChieu
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn thanhtruong
#10
Còn cái số lượng nữa, phải thêm thế nào 027

ví dụ : X072 SL 1, X073 SL 2.
phải sửa code ở chổ nào ạ.
Chữ ký của thanhtruong Xin chào, mình là thanhtruong, Tham gia http://thuthuataccess.com/forum từ ngày 23-06 -14.
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
  ACCESS CÓ HÀM TƯƠNG TỰ SUMIFS TRONG EXCEL KHÔNG? hoaducvn90 3 152 18-06-18, 11:00 AM
Bài mới nhất: ongke0711
  [Help] Giúp tính tổng số lượng theo mã nam8384 3 740 10-06-18, 02:41 PM
Bài mới nhất: thdanh
  Nhờ giúp dùm bài access tập làm nguyentrunghoadh 0 169 03-01-18, 05:26 PM
Bài mới nhất: nguyentrunghoadh
  [Hỏi] Cấu trúc query với các table trên sqlserver đã link vào access mrsiro 7 963 05-12-17, 11:46 PM
Bài mới nhất: maidinhdan
  [Help] Cộng nhiều cột trong query access lại với nhau jindo1268 6 763 26-10-17, 05:04 PM
Bài mới nhất: jindo1268

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ơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line