vistaab
Thành viên chính thức


- Tham gia
- 1/8/09
- Bài viết
- 92
- Được thích
- 78
- Giới tính
- Nam
- Nghề nghiệp
- Kế toán
Trong file đính kèm có 3 sheet: DMHH, DKHO và TheKho.
Khi thay đổi giá trị mã hàng hóa tại ô C8, sheet TheKho thì tự động chạy Sub InTheKho thuộc modules TheKho nhằm mục đích trích ra thông tin Nhập - xuất - tồn của mặt hàng ở ô C8 nêu trên.
Code tại modules TheKho như sau:
Khi em cho chạy Sub InTheKho thì có báo lỗi:
Em chỉ mới tập tành qua chỗ câu lệnh sql này nên còn chưa hiểu rõ lỗi phát sinh và cách khắc phục để đạt kết quả như mong muốn. Mong các thầy và anh chị em trên diễn đàn giúp đỡ hoàn thiện code để em được học hỏi thêm và ứng dụng vào công việc thực tế. Em cảm ơn mọi người đã đọc bài và góp ý.
Khi thay đổi giá trị mã hàng hóa tại ô C8, sheet TheKho thì tự động chạy Sub InTheKho thuộc modules TheKho nhằm mục đích trích ra thông tin Nhập - xuất - tồn của mặt hàng ở ô C8 nêu trên.
Code tại modules TheKho như sau:
Mã:
Option Explicit
Sub InTheKho()
Dim cn As Object, rst As Object
Dim mySQL As String
Set cn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
If Val(Application.Version) < 12 Then
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1"";"
Else
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"";"
End If
.Open
End With
mySQL = "Select ngay_ct as c1,IIF(loai_nv='N',so_ct,'') as c2, IIF(loai_nv='X',so_ct,'') as c3, dien_giai as c4,ngay_phieu as c5,IIF(loai_nv='N',so_luong,'')as C6,IIF(loai_nv='N',don_gia,'')as c7, IFF(loai_nv='N',thanh_tien,'') as c8,IIF(loai_nv='X',so_luong,'')as c9,IIF(loai_nv='X',don_gia,'')as c10, IFF(loai_nv='X',thanh_tien,'') as c11 " & _
"from DKHO where ma_hh='" & (Range("TK_MAHANG").Value) & "' " & _
"Order by c6,c3,c4"
Set rst = cn.Execute(mySQL)
With Sheet5
.[B17:O100000].Clear
.[B17].CopyFromRecordset rst
End With
rst.Close: cn.Close
Set rst = Nothing: Set cn = Nothing
End Sub
"Run-time error '-2147217900 (80040e14)':
Undefined function 'IFF' in expression.
Em chỉ mới tập tành qua chỗ câu lệnh sql này nên còn chưa hiểu rõ lỗi phát sinh và cách khắc phục để đạt kết quả như mong muốn. Mong các thầy và anh chị em trên diễn đàn giúp đỡ hoàn thiện code để em được học hỏi thêm và ứng dụng vào công việc thực tế. Em cảm ơn mọi người đã đọc bài và góp ý.