Em gửi file này. Các anh giúp em cách làm nhé
Em gửi file này. Các anh giúp em cách làm nhé
Mình không rõ mục đích của bạn khi tách ra làm 2 File
Thói quen của mình
sẽ gộp 2 File thành 1 File nằm trên 2 Sheet
Lấy dữ liệu từ Data vào Form sẽ nhanh hơn
Mình có sửa File ngược lại theo ý của bài đưa ra
Mình bận làm giờ mới mò lên
Cám ơn bạn hieuxd nhé
Mình không rõ mục đích của bạn khi tách ra làm 2 File
Thói quen của mình
sẽ gộp 2 File thành 1 File nằm trên 2 Sheet
Lấy dữ liệu từ Data vào Form sẽ nhanh hơn
Mình có sửa File ngược lại theo ý của bài đưa ra
Mình chỉ làm test để học thôi, mình lấy ví dụ nhé
- File Danh mục khách hàng để ở server: dùng chung
- Tại máy 1, 2, 3... dùng form nhập liệu
Cám ơn bạn, mình sẽ xem file, có gì không hiểu bạn giúp mình
lsSQL = "UPDATE [DATA$] " & _ "SET [Thanhtoan]= " & Val1 & ", [Phuong Thuc] = '" & val2 & "'" & _
"WHERE [Bill] Like '" & Item & "'"
PHP:lsSQL = "UPDATE [DATA$] " & _ "SET [Thanhtoan]= " & Val1 & ", [Phuong Thuc] = '" & val2 & "'" & _ "WHERE [Bill] Like '" & Item & "'"
Bạn thân mến
Cho mình hỏi một chút về nguyên tắc viết dấu phẩy ' ở trên với, ví dụ
1. sau [Thanhtoan]= không có dấu '
2.sau [Phuong Thuc] = có dấu '
3. sau Val2 , Like, & Item có dấu '
Mình thử bỏ đi, code chạy lỗi
Bạn có thể chỉ cho mình cách viết dấu phẩy này không?
Mình xem bài này từ hôm qua mà chưa thấy có bạn nào trả lời --> đánh liều 1 đoạn code xem như thế nào :
[GPECODE=vb]
Sub Update_Data_ADO()
Dim lsSQL As String, cnn As Object, lrs As Object
Dim Tmparr(), Item, iR As Long, Val1, val2
Set cnn = CreateObject("ADODB.Connection")
Set lrs = CreateObject("ADODB.Recordset")
With cnn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.Path & "\DATA.xls" & _
";Extended Properties=""Excel 8.0;HDR=Yes;"";"
.Open
End With
Tmparr = Range("A2", [A65536].End(3)).Value
iR = 1
For Each Item In Tmparr
iR = iR + 1
If Len(Item) Then
Val1 = CDbl(Range("C" & iR & "")): val2 = CStr(Trim(Range("D" & iR & "")))
Debug.Print Val1; val2
lsSQL = "UPDATE [DATA$] " & _
"SET [Thanhtoan]= " & Val1 & ", [Phuong Thuc] = '" & val2 & "'" & _
"WHERE [Bill] Like '" & Item & "'"
lrs.Open lsSQL, cnn, 3, 1
End If
Next
Set lrs = Nothing
cnn.Close: Set cnn = Nothing
End Sub[/GPECODE]
Vừa test lại thấy cũng lạ với câu lệnh UPDATE thì nên để :
[GPECODE=vb]lrs.Open lsSQL, cnn, 2, 3, 1[/GPECODE]
Mà với CSDL là excel mình để adLockreadonly vẫn ok ? <-----<---- Đau đầu vì khó hiểu quá ^^
Bạn có thể tham khảo thêm tại http://www.giaiphapexcel.com/forum/showthread.php?75143-B%C3%A0i-t%E1%BA%ADp-v%E1%BB%81-ADO-c%C4%83n-b%E1%BA%A3n/page11
Có thể không dùng vòng lặp trong trường hợp này để cập nhật dữ liệu, mình nhớ là đã có lần mình nói rồi.
To: Anh Hải Lúa, bạn Hungpec
Em hỏi thêm một trường hợp nữa, khi ghi dữ liệu nếu không tìm thấy số hoá đơn thì nó tự thêm một dòng mới ở dưới dùng của bảng DATA thì code SQL sẽ như nào ạ?
To: Anh Hải Lúa, bạn Hungpec
Em hỏi thêm một trường hợp nữa, khi ghi dữ liệu nếu không tìm thấy số hoá đơn thì nó tự thêm một dòng mới ở dưới dùng của bảng DATA thì code SQL sẽ như nào ạ?
Em định làm như thế này : <------ a Hai... đánh giá và cho ý kiến thêm nhé ^^
- Duỵệt qua từng mẫu tin recordset ---> nếu trùng thì update ----> nếu không trùng thì .Add new
* Ah trong recordset có phương thức nào kiểm tra mẫu tin bị trùng mà không cần dùng vòng lặp không anh -> kiểu như Dic.exists() ý
& "ON a.F1=b.F1 " _
& "SET a.F4=b.F3,a.F5=b.F4,a.f1=b.f1"
Thôi, phải chịu vọc hơn. hỏi Anh nhiều lại làm Anh buồn nhiều. hì hì
PHP:& "ON a.F1=b.F1 " _ & "SET a.F4=b.F3,a.F5=b.F4,a.f1=b.f1"
Anh giảng giúp em đoạn code này nhé. Tại sao lại có ký tự a và b?
Và F1, F3, F4 , F5 đại diện cho cái gì?
1./ A và B là do mình tự gán vào, a là màu xanh, b là màu đỏ.mySQL = "UPDATE [Data$] a " _
& "RIGHT JOIN " _
& "[Excel 8.0;HDR=No;IMEX=2;DATABASE=" _
& ThisWorkbook.FullName & "].[FORM$] b " _
& "ON a.F1=b.F1 " _
& "SET a.F4=b.F3,a.F5=b.F4,a.f1=b.f1"
1./ A và B là do mình tự gán vào, a là màu xanh, b là màu đỏ.
2./ F1, F2,... Fn Thì nó là tên cột của csdl F1 tương ứng cột 1, F2 tương ứng cột 2... Vì mình khai báo HDR=No nên nó qui ước thế. Ngược lại nếu HDR=Yes thì mình lấy tên cột thay cho F1,F2...
P/S: Buồn thì do tâm trạng, đâu phải viết bài mới buồn đâu bạn.
Mình test thấy ok mà bạn, thôi thì bạn gửi file lên mình test lại thử nhé.Em hiểu rồi.
Nhưng Tại sheet Form: em thử nhập số hóa đơn mới là INVOICE000011 (trước chỉ có đến INVOICE000010)
Khi nhấn nhập không thấy số 11 được nhập vào DATA dòng cuối cùng
Em hiểu rồi.
Nhưng Tại sheet Form: em thử nhập số hóa đơn mới là INVOICE000011 (trước chỉ có đến INVOICE000010)
Khi nhấn nhập không thấy số 11 được nhập vào DATA dòng cuối cùng
Code của a Hai Ok rồi mà bạn --> hay là bạn test mà chưa xóa hết các ghi chú yêu cầu trong 2 file form và Data nhj ?
" Nhân ngày 8-3 chúc riêng bạn và toàn thể chị em trong diễn đàn GPE --> ngày càng trẻ trung ,nhiều $ và luôn luôn vui tươi ^^ "
![]()