Bài tập về ADO căn bản.

Liên hệ QC
Mình chưa từng quản trị dữ liệu nhưng mình nghĩ là làm được vì mình có đọc sách về ADO thấy họ truy cập và sửa dữ liệu trên SQL server với cấu trúc tương tự. Mình nghĩ tới việc là thử truy cập giữa các file excel khác nhau trên các thư mục khác nhau sau đó là truy cập file excel trên hai máy tính cùng mang LAN . Vấn đề quản trị dữ liệu mình sẽ tìm hiểu sau nhưng bài toán truy cập filex excel trên 2 thư mục khác nhau luôn gặp lỗi mà mình không nghĩ ra cách sửa. Nếu được bạn viết giúp mình code minh họa còn mình tự tìm hiểu các bài toán còn lại.
Truy cập trên Lan thì bạn xem Code minh họa trong "Excel Chat" nhé. Link tại chữ ký của tôi.
 
Ok. Mình tự làm được rồi. Nhìn code bạn đúng là hoa hết cả mắt vì bạn ít ghi chú thích quá.
 
Xin hỏi trong ADO bằng cách nào chúng ta lấy ra được tích của 2 trường
Mình đọc mãi mà không thấy cách tính phép nhân của 2 trường với nhau, hình như là không có phép nhân trong ADO

Giả sử ta có 2 trường DONGIA, SOLUONG tại CSDL nguồn, giờ muốn lấy ra dữ liệu là tích của 2 trường này thì làm cách nào?
 
Xin hỏi trong ADO bằng cách nào chúng ta lấy ra được tích của 2 trường
Mình đọc mãi mà không thấy cách tính phép nhân của 2 trường với nhau, hình như là không có phép nhân trong ADO

Giả sử ta có 2 trường DONGIA, SOLUONG tại CSDL nguồn, giờ muốn lấy ra dữ liệu là tích của 2 trường này thì làm cách nào?


Để sử dụng phép nhân trong ADO thì anh phải sử dụng tên cột giả định

Mã:
Select [DONGIA]*[SOLUONG] as [THANHTIEN] FROM [CSDL]
 
Để sử dụng phép nhân trong ADO thì anh phải sử dụng tên cột giả định

Mã:
Select [DONGIA]*[SOLUONG][COLOR=#ff0000] as [THANHTIEN][/COLOR] FROM [CSDL]
Không có màu đỏ nó vẫn ra, tuy nhiên nếu không có thì nó sẽ tự đặt tên cho tên cột đó.
 
Giờ mình có trường Item, Qty. Khi dùng Select distinct Item rồi thì làm sao cộng tổng của Item từ trường Qty? Biết là Sum nhưng chẳng biết Sum kiểu nào đây, viết sao cũng báo lỗi.
 
Ha ha, cũng giống như sách viết, vậy mà đọc sách không làm được, nhưng đọc code của HLMT thì viết xong chạy liền. Coi bộ HLMT có khiếu sư phạm nha.

Lúc này coi bộ anh tập "lấn sân" rồi. ADO rất đơn giản, nếu áp dụng linh hoạt sẽ giúp ích cho anh đáng kể đó.
 
Dùng mệnh đề GROUP BY là cách chính chắn của SQL chuẩn.

Nếu nhất định muốn dùng DISTINCT thì có thể làm như sau:

Select Distinct Item
, (Select Sum(Qty) From Bang Where Item = a.Item) As TongQty
From Bang As a
-- tuy cũng ra vậy nhưng vừa rắc rối vừa chạy chậm !
 
Dùng mệnh đề GROUP BY là cách chính chắn của SQL chuẩn.

Nếu nhất định muốn dùng DISTINCT thì có thể làm như sau:

Select Distinct Item
, (Select Sum(Qty) From Bang Where Item = a.Item) As TongQty
From Bang As a
-- tuy cũng ra vậy nhưng vừa rắc rối vừa chạy chậm !
Qua đây mình cũng khẳng định lại rằng, trong SQL cũng có nhiều phương án để thực hiện ý đồ của mình. Không nhất thiết chỉ theo 1 luật duy nhất để ra kết quả. Có thể đó là ý kiến cá nhân, có thể đa số mọi người không theo ngôn ngữ này vì cho rằng nó nhàm chán và đơn giản. Nhưng không hề nhàm chán và đơn giản tí nào phải không bạn?
 
Lấy dữ liệu và cập nhật dữ liệu mà không cần mở file

Xin chào mọi người
Mình có một bài tập lấy dữ liệu từ file đóng như sau:
Mình có file để tổng hợp là "TONG HOP.xlsm",
file cập nhật dữ liệu là "CAP NHAT DL NHIEU NOI TRONG SHEET.xls" và "CAP NHAT DL NHIEU SHEET.xls"

Xin mọi người giúp mã cập nhật dữ liệu với yêu cầu sau:

yêu cầu 1:
Từ file TONG HOP.xlsm đang mở lấy dữ liệu theo cột tên hàng và số lượng theo mã hàng từ các sheet trong file CAP NHAT DL NHIEU SHEET.xls với đường dẫn và tên file ở ô C3, B3 của file TONG HOP.xlsm

yêu cầu 2:
cũng giống yêu cầu 1 nhưng file cập nhật là file có nhiều vùng dùng làm cơ sở để cập nhật (file CAP NHAT DL NHIEU NOI TRONG SHEET.xls), A2:C29, E2:G29, I2:K29, M2:O34, Q2:S29 với đường dẫn và tên file ở ô C2, B2 của file TONG HOP.xlsm

Cám ơn mọi người rất nhiều
 

File đính kèm

  • CAP NHAT DL NHIEU NOI TRONG SHEET.xls
    28 KB · Đọc: 5
  • CAP NHAT DL NHIEU SHEET.xls
    30 KB · Đọc: 5
  • TONG HOP.xlsm
    10.6 KB · Đọc: 9
...
Mình có một bài tập lấy dữ liệu từ file đóng như sau:
...
yêu cầu 1:
...
yêu cầu 2:
...

thắc mắc: bạn học cái gì mà có bài tập hắc thế?
cỡ trình độ này đáng lẽ bạn phải biết tự làm và chỉ hỏi những chỗ bí thôi chứ chẳng lẽ muốn người ta làm giùm bài tập từ a đến z?
 
thắc mắc: bạn học cái gì mà có bài tập hắc thế?
cỡ trình độ này đáng lẽ bạn phải biết tự làm và chỉ hỏi những chỗ bí thôi chứ chẳng lẽ muốn người ta làm giùm bài tập từ a đến z?

Chào bạn VetMiNi
Mình đang tự học ADO để lấy dữ liệu file đóng, nhưng khi dùng câu lệnh SQl update dữ liệu từ nhiều sheet thì mình không biết cách nào, mà mình coi trong diễn đàn này hình như không thấy có tình huống nào như vậy hết, mình muốn đưa giả thiết đó lên đây hi vọng có bạn nào giúp được để học hỏi chỉ có vậy thôi
Cám ơn bạn VetMiNi đã phản hồi
 
Chào bạn VetMiNi
Mình đang tự học ADO để lấy dữ liệu file đóng, nhưng khi dùng câu lệnh SQl update dữ liệu từ nhiều sheet thì mình không biết cách nào, mà mình coi trong diễn đàn này hình như không thấy có tình huống nào như vậy hết, mình muốn đưa giả thiết đó lên đây hi vọng có bạn nào giúp được để học hỏi chỉ có vậy thôi
Cám ơn bạn VetMiNi đã phản hồi
Bạn nên nhờ từng phần một thôi... bạn nhờ một lúc quá nhiều yêu cầu thì khả năng giúp đỡ rất ít... mình tham gia GPE cũng đã lâu mình biết ít bạn nào làm hoàn chỉnh mọi yêu cầu cho một ai đó lắm(A-z) là vậy đó
Việc lấy dữ liệu nhiều file đóng ADO, VBA ..làm được hết ...tìm trên GPE nha
 
...
Mình đang tự học ADO để lấy dữ liệu file đóng, nhưng khi dùng câu lệnh SQl update dữ liệu từ nhiều sheet thì mình không biết cách nào, mà mình coi trong diễn đàn này hình như không thấy có tình huống nào như vậy hết, ...

Tự học thì đầu tiên hết nên học cách tìm trên diễn đàn.
Trên diễn đàn này có khá nhiều bài có phần lấy kết quả từ nhiều sheets, cũng có nhiều bài bàn về cách update dữ liệu, cái gì update được và cái gì không được.

Nếu bạn bí về câu lệnh truy vấn thì đưa nó lên và cho biết kết quả khác với dự định ra sao.
 
Chào các anh chị trên diễn đàn
Mình xem trên diễn đàn thấy tác giả Hai Lúa Miền Tây có code dùng ADO lấy dữ liệu và update dữ liệu, nhưng mình thấy khi update dữ liệu kiểu chuổi thì bị lỗi type mismatch vậy ta phải khai báo như thế nào để update được cả số lẫn chuổi

Lấy ví dụ của tác giả Hai Lúa Miền Tây (gửi theo file đính kèm)
Cảm ơn các anh chị rất nhiều
 

File đính kèm

  • update.xls
    55 KB · Đọc: 18
Chào các anh chị trên diễn đàn
Mình xem trên diễn đàn thấy tác giả Hai Lúa Miền Tây có code dùng ADO lấy dữ liệu và update dữ liệu, nhưng mình thấy khi update dữ liệu kiểu chuổi thì bị lỗi type mismatch vậy ta phải khai báo như thế nào để update được cả số lẫn chuổi

Lấy ví dụ của tác giả Hai Lúa Miền Tây (gửi theo file đính kèm)
Cảm ơn các anh chị rất nhiều
Bạn chèn thêm một Field tại cột L với tên là TÊN HÀNG.
 
Web KT
Back
Top Bottom