https://docs.google.com/spreadsheets/d/15-9PH76tyUgZj7zDGeGlWL26nM_BaW2z2IFDnX2-jiY/edit?usp=sharing
e gừi file nhờ thầy xem dum
Bạn gửi lại file đuôi xlsm, hoặc xlsb lên giúp gitiho nhé.
thầy ơi cho e hỏi gừi file bằng cách nào thầy
Bạn đẩy file lên Google drive rồi cho gitiho xin quyền truy cập cập
e dang ngồi làm bài, nhờ xem chỉnh dùm e nhéhttps://docs.google.com/spreadsheets/d/1uAYyk5F1rc2HXDgJashQ1BRVGQY081SlvTmVTh7YGX8/edit?usp=sharing
thầy xem file trci1ch loc
Câu sql bạn viết lại nhé
sheet5 B1 ban có thể viết như sau:
select * from [data$]
nó bị lỗi tứ này thầy ơi
THẦY ƠI, THẦY HƯỚNG DẪN E KTR SUA LOI ARR NHA THAY
E DUNG QUERY ĐỂ TRICH LOC DỮ LIỆU, E BỎ DK LOC THI RA, THEM DK NO BÁO LỖI Arr, thầy xem sữa giúp e với
Bạn gửi câu query lên nhé
Sub chaySQLFunction()
Dim SQLQuery As String, Arr As Variant, dc As Long
dc = Timdongcuoi(Sheet5, "A")
If (dc >= 2) Then Sheet5.Range("A4:M" & dc).ClearContents
SQLQuery = "select * from data where data.[DIEN]= ' " & Sheet5.Range("B1").Value & " '"
Arr = QuerySQL(SQLQuery, "", True)
If IsArray(Arr) = False Then
Sheet5.Range("A3").Value = Arr
Else
Sheet5.Range("A3").Resize(UBound(Arr, 1), UBound(Arr, 2)).Value = Arr
End If
End Sub
Function QuerySQL(SQLQuyery As String, Optional Spart As String = "", Optional Hr As Boolean = False)
Dim Cnn As Object, lrs As Object, Part As String
Set Cnn = CreateObject("ADODB.Connection")
Set lrs = CreateObject("ADODB.Recordset")
If Len(Spart) = 0 Then
Part = ThisWorkbook.FullName
Else
Part = Spart
End If
Cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Part & ";Extended Properties=""Excel 8.0;HDR=YES"";"
Cnn.Open
Dim Arr As Variant
lrs.Open SQLQuyery, Cnn
Arr = lrs.Getrows
Dim Row As Long, col As Long, i As Long, j As Long, kq As Variant, Rs As Integer
If Hr = True Then
Rs = 1
Else
Rs = 0
End If
Row = UBound(Arr, 2) + Rs
col = UBound(Arr, 1)
ReDim kq(Row + 1 + Rs, col + 1 + Rs)
For i = 0 To Row
For j = 0 To col
If (i = 0 And Hr = True) Then
kq(0, j) = lrs.Fields(j).Name
Else
kq(i, j) = Arr(j, i - Rs)
End If
Next j
Next i
QuerySQL = kq
lrs.Close: Cnn.Close
Erase Arr: Erase kq
End Function
Arr = lrs.Getrows no báo lỗi này thầy xem dùm
e tìm hoài kg biết lỗi ở đâu thầy
Chào bạn phần này sai do câu sql query của bạn chưa đúng nhé.
Câu sql sẽ thế này
THẦY ƠI, MỜ QU E KH TH16Y
THY GỬI CU SQL DÙM E LỊ NHA MỜ QUÁ E KHÔNG TH61Y
select * from [dshv$] where DIỆN = ‘TN’
bạn thay đổi lại câu cho phù hợp nhé.