kieu manh > 21-06-15, 08:57 PM
paulsteigel > 22-06-15, 12:01 AM
tranthanhan1962 > 22-06-15, 01:11 AM
kieu manh > 22-06-15, 09:40 AM
Code Lọc Duy Nhất
Public Sub LocDuyNhat()
Dim Nguon(), i As Long
Nguon = Range([A2], [A65536].End(3)).Value
With CreateObject("scripting.dictionary")
For i = 1 To UBound(Nguon)
.Item(Nguon(i, 1)) = .Item(Nguon(i, 1))
Next
Range("L2").Resize(.Count) = Application.Transpose(.keys)
End With
End Sub
Code Lọc Theo điều kiện
[code]
Public Sub CopyNguon(ByVal Nguon As Range, Dich As Range)
Dim Arr(), Kq(), i&, j&, k&
With Excel.ActiveSheet
Arr = Nguon.Value
ReDim Kq(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
For i = 1 To UBound(Arr, 1)
If Arr(i, 3) <> "" Then
k = k + 1
For j = 1 To UBound(Arr, 2)
Kq(k, j) = Arr(i, j)
Next
End If
Next
Dich.Resize(UBound(Arr, 1), UBound(Arr, 2)) = Kq
End With
End Sub
''Chạy Sub này
Public Sub MainNguon()
CopyNguon Range([A2], [A65536].End(3).Resize(, 4)), [G2]
End Sub
maidinhdan > 22-06-15, 10:01 AM
Trích dẫn:KieumanhTrả lời:
Mình viết 2 code mẫu trên Excel. Nếu Bạn nào rãnh hổ trợ mình Viết lại 2 code sau trên Access
1/ Lọc duy nhất cột A Sang cột [L2] Sử dụng dictionary
2/ Lọc copy theo điều kiên Cột C nếu trống thì bỏ Paste Qua [G1] sử dụng Array
3/ Mình Tìm cách úp File lên trực tiếp lên mà không được .. Bạn nào biết xin chỉ dùm
kieu manh > 22-06-15, 10:08 AM
maidinhdan > 22-06-15, 10:19 AM
(22-06-15, 10:08 AM)kieu manh Đã viết: To Bạn [b]maidinhdan[/b]
Access Mình Mù tịt nếu được Bạn làm dùm mình File luôn để mình nghiên cứu được không ....Cảm ơn Bạn
kieu manh > 22-06-15, 10:35 AM
(22-06-15, 10:01 AM)maidinhdan Đã viết:Trích dẫn:KieumanhTrả lời:
Mình viết 2 code mẫu trên Excel. Nếu Bạn nào rãnh hổ trợ mình Viết lại 2 code sau trên Access
1/ Lọc duy nhất cột A Sang cột [L2] Sử dụng dictionary
2/ Lọc copy theo điều kiên Cột C nếu trống thì bỏ Paste Qua [G1] sử dụng Array
3/ Mình Tìm cách úp File lên trực tiếp lên mà không được .. Bạn nào biết xin chỉ dùm
+ Câu 1 + 2: Trên Access không cần viết code như trên Access đâu bạn ạ, chỉ cần tạo Query và chọn Group by là nó ra rồi. Đó là điểm khác biệt giữa Excel và Access ( khuyến khích sử dụng Access 2003 vì hầu hết đề sử dụng Ac2003)
+ Câu 3: Do dung lượng diễn đàn không lớn nên chỉ có ban quản trị diễn đàn mới được phép gửi file đính kèm lên nhưng dung lượng file gửi lên cũng rất hạn chế. Riêng mình chỉ được cấp sử dụng có 19Mb lên diễn đàn nên mỗi lần Post file mình cũng hạn chế tối đa các file có dụng lượng trên 100Kb post lên diễn đàn.
* Cuối cùng, để làm cụ thể cho bạn về Query thì bạn hạy tạo Database sẳn trên Access rồi Post file lên nhé.
Thân ái chào bạn.
(22-06-15, 10:19 AM)maidinhdan Đã viết:Mình coi code trong đó thấy khác hẳn so với code viết trên Excel....Quả thực Access lọc dữ liệu hay thiệt ... Cảm ơn Bạn Từ từ mình nghiên cứu nếu khó khăn úp bài Nhờ các Bạn xử lý(22-06-15, 10:08 AM)kieu manh Đã viết: To Bạn [b]maidinhdan[/b]
Access Mình Mù tịt nếu được Bạn làm dùm mình File luôn để mình nghiên cứu được không ....Cảm ơn Bạn
Bài của bạn đây, lần sau không có chuyện là hộ nửa nhé...có gì thì tìm giáo trình Access trên diễn đàn rất nhiều
file đính kèm phía dưới
paulsteigel > 22-06-15, 12:17 PM
(22-06-15, 10:35 AM)Do Access mạnh về xử lý số liệu nên để sử dụng tốt nó, một trong những công cụ mới mà bạn cần làm quen đó là SQL (Câu lệnh truy vấn có cấu trúc). Đã viết: Với bài toán lọc duy nhất như bạn trong Excel cậu chuyện trở nên đơn giản hơn rất nhiều nhờ SQL.
Tôi lấy một ví dụ:
Để lấy một danh sách các bản ghi không trùng nhau trong một bảng theo cột tên chẳng hạn, với Access, đơn giản là:
Select distinct Hovaten from tblNguoi dung;
Trong khi với Excel bạn phải dùng vài cột phụ và hệ thống các hàm match, index, countif.
Đến excel 2007 việc này đã được cải thiện nhờ đưa khái niệm bảng vào bảng tính nhưng vẫn không thể so với Acess được.
Quay vào bài toán của bạn, đóng góp thêm cho Mai Đình Đàn.
:::Truy vấn Group by được sử dụng trong tính toán, gộp
Tham chiếu <<http://www.w3schools.com/sql/sql_groupby.asp>>
Để lọc danh sách duy nhất, ta chỉ cần dung truy vấn Select với từ khóa Distinct (khác nhau)
Ví dụ truy vấn duy nhất sẽ trở thành
SQL của Đàn
Mã:SELECT tbEx.A
FROM tbEx
GROUP BY tbEx.A;
SQL lọc duy nhất
Mã:SELECT DISTINCT tbEx.A from tbEx;
Tại sao chỉ cần như vậy, nếu dùng Groupby sẽ làm tốn tài nguyên vì bản chất nó là dùng để tính toán.
Nếu bạn dùng được tiếng Anh thì nguồn sau đây có thể là nơi tham khảo tốt về Query
http://www.w3schools.com/sql/sql_groupby.asp
Tiện thể, tôi có trang web www.sfdp.net do Google host, nếu mọi người muốn tải file lên mình có thể tạo ra một khu vực ví dụ
http://www.sfdp.net/thuthuataccess/thuthuataccess
Các bạn có tài khoản gmail có thể sử dụng để đăng tải file và tạo liên kết.
(hiện bạn Đinh Trọng Hòa cũng đã tải vài lần.
tranthanhan1962 > 22-06-15, 01:30 PM