MTNQ > 28-04-14, 01:42 AM
(22-06-13, 05:51 PM)paulsteigel Đã viết:Câu truy vấn phụ có dạngMã PHP:Select a from tenbang where a in (Câu truy vấn phụ trả về danh sách các bản ghi thỏa mãn điều kiện đầu vào bạn vừa nhập)
Như vậy câu truy vấn phụ sẽ liệt kê tất cả các bản ghi gần giống với mã điều kiện đầu vào.Mã PHP:select a from tenbang where a like '*" & từng mã tìm kiếm & "'"
Tôi phải dùng câu truy vấn phụ để tránh làm phức tạp hóa cú pháp tìm kiếm.
....
Private Function BuildSQL(txtIn As String, txtFields As String) As String
' Just to break the search parameter into set of input criteria for search
Dim inVar As Variant, fldName As Variant
Dim i As Long, j As Long, tmpVar As String, SqlTxt As String
inVar = Split(txtIn, txtDelm)
fldName = Split(txtFields, ",")
' Now build SQL
For j = LBound(fldName) To UBound(fldName)
tmpVar = fldName(j)
fldName(j) = ""
For i = LBound(inVar) To UBound(inVar)
If Nz(Trim(inVar(i)), "") <> "" Then
fldName(j) = "(" & fldName(j) & tmpVar & " Like '*" & inVar(i) & "*'" & ") OR "
End If
Next
'fldName(j) = tmpVar & " IN (Select " & tmpVar & " From tblDS Where " & Mid(fldName(j), 4) & ")"
SqlTxt = SqlTxt & fldName(j)
Next
' Build final search string
SqlTxt = "SELECT Ten,Namsinh,Gioitinh,Diachi FROM tblDanhsach Where " & Left(SqlTxt, Len(SqlTxt) - 3) & ";"
'Debug.Print SqlTxt
BuildSQL = SqlTxt
End Function