Public Sub SQLString()
Dim tfFiltered As Boolean
Dim tfOrderBy As Boolean
Dim sql2 As String
Dim sFilter As String
Dim sOrderBy As String
Dim i As Integer
Dim v As Variant
Dim tmp As String
Dim sNewOrder As String
If Me.lstSelected.ListCount <> 0 Then
tfFiltered = Me.Child0.Form.FilterOn
tfOrderBy = Me.Child0.Form.OrderByOn
If tfFiltered Then
sFilter = Replace$(Me.Child0.Form.Filter, "[zzQuerySubForm].", "")
End If
If tfOrderBy Then
sOrderBy = Replace$(Me.Child0.Form.OrderBy, "[zzQuerySubForm].", "")
End If
sql2 = "<i><font color=""#2F5496"">SELECT </font>"
For i = 0 To Me.lstSelected.ListCount - 1
sql2 = sql2 & "[" & Me.lstSelected.Column(1, i) & "], "
Next
sql2 = Left$(sql2, Len(sql2) - 2) & "<font color=""#2F5496""> FROM </font>" & Me.lstTable.Column(4) & ""
If tfOrderBy Then
sOrderBy = Replace$(sOrderBy, "[zzQuerySubForm].", "")
v = Split(sOrderBy, ",")
For i = 0 To UBound(v)
tmp = ""
If InStr(1, v(i), " DESC") <> 0 Then
tmp = " <font color=""#2F5496""> DESC</font>"
v(i) = Trim$(Replace$(v(i), " DESC", ""))
End If
If InStr(1, sql2, v(i)) <> 0 Then
sNewOrder = sNewOrder & v(i) & tmp & ","
End If
Next
If Len(sNewOrder) <> 0 Then
sNewOrder = Left$(sNewOrder, Len(sNewOrder) - 1)
Else
tfOrderBy = False
End If
End If
Me.txtSQL = sql2 & IIf(tfFiltered, "<font color=""#2F5496""> WHERE </font>" & sFilter, "") & _
IIf(tfOrderBy, "<font color=""#2F5496""> ORDER BY </font>" & sNewOrder, "") & ";</i>"
Else
Me!txtSQL = Null
End If
End Sub