Update file dữ liệu file Excel bằng SQL

Liên hệ QC

viethung78

Thành viên chính thức
Tham gia
3/6/16
Bài viết
72
Được thích
45
Chào ace cộng đồng,

Sử dụng ADO để truy vấn dữ liệu từ Excel đã khá phổ biến. Tuy nhiên phương pháp này chỉ hỗ trợ Read, không hỗ trợ Update.
Hôm nay có yêu cầu mới từ thực tế muốn trao đổi ace cộng đồng:

+ làm thế nào để có thể update dữ liệu file excel bằng mệnh đề Update của SQL

Ví dụ: cần update

update_excel_sql.png
 

File đính kèm

  • Update_Excel_SQL.xlsx
    10.9 KB · Đọc: 20
"A Cờ E"
Anh Chích Em
Anh Cắn Em
Có nhiều rồi, có gì lạ lạ đâu nhỉ. :p
 
Chào ace cộng đồng,

Sử dụng ADO để truy vấn dữ liệu từ Excel đã khá phổ biến. Tuy nhiên phương pháp này chỉ hỗ trợ Read, không hỗ trợ Update.
Hôm nay có yêu cầu mới từ thực tế muốn trao đổi ace cộng đồng:

+ làm thế nào để có thể update dữ liệu file excel bằng mệnh đề Update của SQL

Ví dụ: cần update

View attachment 242945
Câu này bạn đang đố hay là bạn hỏi vậy bạn? Ở Excel ta dùng ADO để cập nhật dữ liệu bình thường mà.
 
hỏi nghiêm túc. Dùng ADO trong Excel không dùng câu lệnh UPDATE được, trong khi cần phải update.
 
hỏi nghiêm túc. Dùng ADO trong Excel không dùng câu lệnh UPDATE được, trong khi cần phải update.
Câu trả lời của tôi là có thể dùng câu lệnh Update bình thường. Bạn chịu khó tìm trên diễn đàn sẽ có câu trả lời. Nếu vẫn chưa được và chưa có người giúp thì tôi sẽ giúp bạn sau nhé.
 
Không delete thì mình insert một table chứa giá trị là rỗng/ zero vào là được.
 
Cảm ơn ace. Tôi đã giải quyết được với lệnh INSERT, UPDATE, chỉ riêng có lệnh DELETE là không thực hiện được -> update thành Null hoặc zero cũng được
Delete thì nên dùng Delete trong Excel vì liên quan đến cấu trúc hàng của Sheet (nếu muốn xóa hàng)
 
Tìm trong diễn đàn với từ khóa "insert into" là thấy vô số.
PHP:
str_sql = "INSERT INTO table_des SELECT [Fields] FROM table_source WHERE xyz"
Cảm ơn bạn , tôi nghĩ tên chủ đề khá được sự quan tâm, nhưng không sự tham gia của code nên thấy hơi buồn tẻ :)
Nhưng chủ thớt không còn nhu cầu rồi nên tôi sẽ cố gắng tìm hiểu từ nguồn khác (theo gợi ý của bạn).
 
Cảm ơn bạn , tôi nghĩ tên chủ đề khá được sự quan tâm, nhưng không sự tham gia của code nên thấy hơi buồn tẻ :)
Nhưng chủ thớt không còn nhu cầu rồi nên tôi sẽ cố gắng tìm hiểu từ nguồn khác (theo gợi ý của bạn).
Nếu bạn cần thì có thể thử với code sau:

Mã:
Sub Update_HLMT()
    With CreateObject("ADODB.Connection")
        .Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;IMEX=-1;HDR=No""")
        .Execute ("Update [Sheet1$A1:B43] Set [F2] = '00/01/1900' where [F2] like '_'")
    End With
End Sub

Lưu ý là bạn tải file bài số 1 về thử nhé.
 
Cảm ơn bạn nhiều, code ngắn quá nhưng không dễ hiểu chút nào.
 
dùng if
Chào ace cộng đồng,

Sử dụng ADO để truy vấn dữ liệu từ Excel đã khá phổ biến. Tuy nhiên phương pháp này chỉ hỗ trợ Read, không hỗ trợ Update.
Hôm nay có yêu cầu mới từ thực tế muốn trao đổi ace cộng đồng:

+ làm thế nào để có thể update dữ liệu file excel bằng mệnh đề Update của SQL

Ví dụ: cần update

View attachment 242945
mình thấy update này có nhiều cách lắm:
1- cách đơn giản nhất =IF(B2<>"_",B2,"00/1/1900") nó sẽ trả về đúng giá trị bạn muốn
2- dùng power query cũng ra mình có làm thử bằng query trong attach file bạn coi thử coi
3- dùng VBA
 

File đính kèm

  • Update_Excel_SQL.xlsx
    28.8 KB · Đọc: 15
Khổ...
Bạn ý hỏi về ado trong excel, hỏi về code chứ có phải hỏi về if về công thức đâu bạn.
Nếu bạn hiểu nhu cầu câu hỏi và biết được thì trả lời..

Tôi chỉ góp ý thôi còn nếu có vấn đề gì không liên quan đến chủ đề, BQT có thể xóa giúp tôi.
 
Hai lúa miền tây có thể public cho số phone or zalo được không? Có mấy cái muốn hỏi riêng bạn ah
 
gửi nhầm
 
Web KT
Back
Top Bottom