PEGAR UM CARACTER DE UMA STRING

USUARIO.EXCLUIDOS 10/06/2005 16:37:15
#88294
Eu tenho uma consulta q preciso fazer, mas qdo o usuario digitar ex.:abc*, ele teria q detectar o * pra usar a consulta like(q utiliza %, teria q mudar pra este), e qdo nao tiver ele usar somente o =....
em c eh barbada, e acredito q deve ter alguma maneira bem simples pra fazer isso em vb, se alguem puder responder...agradeço.
USUARIO.EXCLUIDOS 10/06/2005 16:48:15
#88297
Resposta escolhida
Use as funções RIGHT E LEFT para ver os ultimos ou primeiros caracteres de uma strings ai é só determinar o tipo de instrução sql...
veja:

Dim sql As String
Dim st As String
st = "marcos*"

'se for "*marcos*"
if CStr(Right(st,1)) = "*" And CStr(Left(st,1)) = "*" Then
sql = "select * from clientes where nome like '%" & st & "%'"

'se for "marcos*"
elseIf CStr(Right(st, 1)) = "*" Then
sql = "select * from clientes where nome like '" & st & "%'"

'se for "*marcos"
ElseIf CStr(Left(st, 1)) = "*" Then
sql = "select * from clientes where nome like '%" & st & "'"

'se for "marcos"
Else
sql = "select * from clientes where nome = '" & st & "'"
End If

Espero ter ajudado
USUARIO.EXCLUIDOS 10/06/2005 18:15:27
#88334
Soh nao funciono pq preciso substituir o caracter * por %....
USUARIO.EXCLUIDOS 10/06/2005 18:20:51
#88337
Substituir não é bem o caminho, se é que me entende!! tem de ser do jeito que postei acima..
Agora se realmente quiser apenas substituir o * por % use a função replace
nome = "olamundo*"
nome = replace(nome,"*","%")
msgbox nome
USUARIO.EXCLUIDOS 10/06/2005 18:25:44
#88340
Agora sim, obrigado, nao seria so substituir, mas por exemplo qdo achar o * usar like e substituir * por %,
ex.:
'se for "marcos*"
If CStr(Right(st, 1)) = "*" Then
st=replace(st," *","%")
sql = "select * from clientes where nome like '" & st & "%'"
end if
nem vo testa hj pq acabo meu expediente, agora soh segunda pra testa, mas
vlw cara!!!
Tópico encerrado , respostas não são mais permitidas