PEGAR UM CARACTER DE UMA STRING
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.
em c eh barbada, e acredito q deve ter alguma maneira bem simples pra fazer isso em vb, se alguem puder responder...agradeço.
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:
Espero ter ajudado
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
Soh nao funciono pq preciso substituir o caracter * por %....
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
Agora se realmente quiser apenas substituir o * por % use a função replace
nome = "olamundo*"
nome = replace(nome,"*","%")
msgbox nome
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!!!
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