KVP
Thành viên thường trực




- Tham gia
- 7/7/07
- Bài viết
- 218
- Được thích
- 301
- Nghề nghiệp
- Cộng đồng
Xin chào các anh, chị
Tôi có một vấn đề vướng mắc sử lý dữ liệu khi sử dụng ADO cập nhật, truy vấn dữ liệu, cụ thể:
1.Khi thêm dữ liệu vào CSDL (Excel), trường hợp dữ liệu cần cập nhật có nhiều trường (30 Filed) thì cách viết code như thế nào cho gọn.
Xin mượn code của anh Hai Lúa Miền Tây để minh họa :
2. Khi thêm dữ liệu định dạng số vào CSDL (Excel), định dạng này trở thành dạng Text. Khi truy vấn ngược lại (ADO) từ CSDL việc định dạng Text gây khó khăn cho việc tính toán. Như vậy, phải sử lý định dạng Filed của Recordset hoặc sử lý số liệu trong CSDL excel ?
Tôi muốn hỏi cách sử lý dữ liệu này như thế nào?
Rất mong nhận được sự giúp đỡ của các anh chị.
Tôi có một vấn đề vướng mắc sử lý dữ liệu khi sử dụng ADO cập nhật, truy vấn dữ liệu, cụ thể:
1.Khi thêm dữ liệu vào CSDL (Excel), trường hợp dữ liệu cần cập nhật có nhiều trường (30 Filed) thì cách viết code như thế nào cho gọn.
Xin mượn code của anh Hai Lúa Miền Tây để minh họa :
Mã:
[FONT=Verdana]Public cnn As New ADODB.Connection[/FONT]Sub CapNhat()
Dim rs As New ADODB.Recordset
Dim i, r As Integer
Set cnn = New ADODB.Connection
r = Range("A65000").End(xlUp).Row
With cnn
.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0; data source=" & ThisWorkbook.Path & "\" & Range("F1").Value & ".xls;Extended Properties=Excel 8.0;"
.CursorLocation = adUseClient
.Open
End With
Set rs = Nothing
rs.Open "Select * from [UP$]", cnn, 1, 3
For i = 2 To r
With rs
.AddNew
![MA_SP] = Range("A" & i).Value
!TEN_SP = Range("B" & i).Value
!SL_SP = Range("C" & i).Value
[COLOR=#ff0000] !..........[/COLOR]
[COLOR=#ff0000] !..........[/COLOR]
[COLOR=#ff0000] !..........
30 Filed
[/COLOR]
.Update
End With
Next
Range("A2:C65000").ClearContents
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End Sub
2. Khi thêm dữ liệu định dạng số vào CSDL (Excel), định dạng này trở thành dạng Text. Khi truy vấn ngược lại (ADO) từ CSDL việc định dạng Text gây khó khăn cho việc tính toán. Như vậy, phải sử lý định dạng Filed của Recordset hoặc sử lý số liệu trong CSDL excel ?
Tôi muốn hỏi cách sử lý dữ liệu này như thế nào?
Rất mong nhận được sự giúp đỡ của các anh chị.
File đính kèm
Lần chỉnh sửa cuối: