Irenko
|
BELO HORIZONTE MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 13/11/2008 13:04 hs
Agora é pra complicar!!!
Sql_2 = "SELECT LMnr.LM_3,LMnr.Status,LMateriais.NumeroLM,LMateriais.Pedido FROM LMnr LEFT JOIN LMateriais ON LMateriais.NumeroLM = LMnr.LM_3 WHERE MID(LMateriais.Pedido,2,4) = '" & TxtBusca.text & "' AND (LMnr.Status = 'Pendente para liberacao' OR LMnr.Status = 'Pendente')"
A query acima esta funcionando perfeitamente para a pesquisa do exemplo abaixo:
01267-00-GH-0499, com o MID pego somente o 1267.
Agora existe outro tipo de numeração, exemplo:
60117-00-AH-0208
Pergunto, existe maneira de colocar um (IF) na query para quando for comecado de (0) aplicar MID(LMateriais.Pedido,2,4), e se comecado por (6) pegar os 5 primeiros?
|
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 13/11/2008 21:09 hs
Porque você não faz diferente. Sql_2 = "SELECT LMnr.LM_3,LMnr.Status,LMateriais.NumeroLM,LMateriais.Pedido FROM LMnr LEFT JOIN LMateriais ON LMateriais.NumeroLM = LMnr.LM_3 WHERE MID(LMateriais.Pedido,0,4) = '" & Format(TxtBusca.text,"00000") & "' AND (LMnr.Status = 'Pendente para liberacao' OR LMnr.Status = 'Pendente')" da maneira acima irá fazer a busca da forma que você deseja, adiferença é, que o mid será nos cinco primeiro caracteres, e o textbusca fará a formatação para esta busca ser exata. ex: 1267 se tornará 01267 60117 será 60117 entendeu é simples.
|
|
|
|