SELECT COMPLICADO

MARCELO.TREZE 23/11/2011 20:41:56
#389899
Resposta escolhida
olha não tenho certeza mas se funcionar assim

%1.6%oleo%gasolina%

acredito que funcione

vc pode apena trocar os espaços por % usando replace,

sSQL = [Ô]Select * from tabela From campo like [ô]%[Ô] & Replace(Text1.Text,[Ô] [Ô], [Ô]%[Ô]) & [Ô]%[ô][Ô]


diga se funcionou se nanfuncionou te ajudo com um pog
PASCOAL 23/11/2011 21:09:18
#389902
Marcelo

Não funcionou pois qdo coloco espaço entre as palavras não vem nada;
MARCELO.TREZE 24/11/2011 00:31:11
#389906
então pascoal vamos ao POG

bom um select que funcionaria seria este

select * from tabela where nome like [ô]%palavra1%[ô] and nome like [ô]%palavra2%[ô]

o que deveriamos fazer é o seguinte criar a string conforme o que se digita no textbox assim:

Dim Palavras() As String
Dim Consulta As String
Palavras = Split(Text1.Text,[Ô] [Ô])
For F = 0 To Ubound(Palavras)
If F = 0 Then
Consulta = [Ô]campo Like [ô]%[Ô] & Palavras(F) & [Ô]%[ô][Ô]
Else
Consulta = Consulta & [Ô] and campo like [ô]%[Ô] & Palavras(F) & [Ô]%[ô][Ô]
End If
Next F

sSQL = [Ô]select * from tabela where [Ô] & Consulta


...

lembre-se apenas de colocar o nome da tabela e campo corretos

PASCOAL 24/11/2011 09:02:42
#389931
Marcelo

Bom dia

Meu vb não tem a função SPLIT não perghunta por que sempre foi assim tenho essa função abaixo mas com ela não funcionou o que vc escreveu.

Function Split(ByVal Text As String, Optional ByVal Delimiter As String = [Ô] [Ô], _
Optional ByVal Limit As Long = -1, Optional CompareMethod As _
VbCompareMethod = vbBinaryCompare) As Variant
ReDim res(0 To 100) As String
Dim resCount As Long
Dim length As Long
Dim startIndex As Long
Dim endIndex As Long

length = Len(Text)
startIndex = 1

Do While startIndex <= length And resCount <> Limit
[ô] get the next delimiter
endIndex = InStr(startIndex, Text, Delimiter, CompareMethod)
If endIndex = 0 Then endIndex = length + 1

[ô] make room in the array, if necessary
If resCount > UBound(res) Then
ReDim Preserve res(0 To resCount + 99) As String
End If
[ô] store the new element
res(resCount) = Mid$(Text, startIndex, endIndex - startIndex)
resCount = resCount + 1

startIndex = endIndex + Len(Delimiter)
Loop

[ô] trim unused values
ReDim Preserve res(0 To resCount - 1) As String

[ô] return the array inside a Variant
Split = res()

End Function

Obrigado
MARCELO.TREZE 24/11/2011 18:52:07
#389992
ACHO QUE é O SP5 POR ISSO INSTALA O SP6 QUE RESOLVE ESTE PROBLEMA
PASCOAL 24/11/2011 19:04:37
#389994
esta instalado o sp6 isso tenho certeza.
PASCOAL 27/11/2011 08:45:04
#390115
Marcelo

Funcionou mas agora preciso carregar um combobox conforme for sendo digitado o produto fazendo a busca conforme vc me passou tentei mas não consegui fazer vc pode me ajudar algum do grupo?

Tem jeito de digitar direto no combobox?

Obrigado
Página 2 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas