USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Qual o erro na consulta SQL?
Tamanini
não registrado
Postada em 08/12/2005 08:28 hs   
Podem me ajudar nesse meu SELECT, estou precisando trazer dois registros ou um, tem como fazer isso com apenas uma consulta?

strSQL = "SELECT "
strSQL = strSQL & "m.tmes_qtd, m.tmes_hini, "
strSQL = strSQL & "p.pmt_leg "
strSQL = strSQL & "FROM "
strSQL = strSQL & "tblTMes m, tblProgMesT p "
strSQL = strSQL & "WHERE "
strSQL = strSQL & "m.tmes_nreg = " & TempReg & " AND "
    
strSQL = strSQL & "m.tmes_mes = " & Mid(strDtSem(y), 4, 2) & " AND "        '30/"11"/2005
strSQL = strSQL & "m.tmes_mes = " & Mid(strDtSem(ComboSemana.ListIndex), 4, 2) & " AND "   '01/"12"/2005
    
strSQL = strSQL & "m.tmes_ano = " & Right(strDtSem(y), 4) & " AND "      '30/11/"2005"
strSQL = strSQL & "m.tmes_ano = " & Right(strDtSem(ComboSemana.ListIndex), 4) & " AND "
'01/12/"2005"
    
strSQL = strSQL & "p.pmt_nreg = " & TempReg & " AND "
    
strSQL = strSQL & "p.pmt_data = #" & strDtSem(y) & "# AND "   '30/11/2005
strSQL = strSQL & "p.pmt_data = #" & strDtSem(ComboSemana.ListIndex) & "#"  '01/12/2005

No caso, com o operador AND o recordcount=0 se for com o OR ele me traz tudo recordcount=918.

Abraços,
Marcelo Tamanini
     
Gelson Porto
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 08/12/2005 15:08 hs            
Tamanini, boa tarde..

       De muitas maneiras posso tentar de ajudar..

      Um Select distinct   trás apenas um registro distinto, eliminando qualquer duplicidade (não sei se este o seu caso).

     O comando    rowid = 1   trás  apenas o primeiro registro que satisfaça a condição..

    Tudo vai depender dá logica que voce deseja e o tipo de banco utilizado..

    Pode dar mas detalhes..

     


   
T
não registrado
Postada em 09/12/2005 06:38 hs   
Como ficaria o SELECT com o comando rowid=1?
Eu preciso trazer até dois registros no qual cada registro irei fazer um calculo de horario de turnos, tipo:
registro  mes_qtd   mes_hini   pmt_leg
1                 3          06:35         BDC
2                 4          08:00         ACD

Através da quantidade de turno, tipo o 1º = 3:
(24 / 3) = 8 horas cada
Começa as 06:35, então:
06:35 até 14:35       -   operador B
14:35 até 22:35       -   operador D
22:35 até 06:35       -   operador C

Eu tenho sempre que buscar a data selecionada e o dia anterior para assim mostrar no form o histórico de turnos do dia, por exemplo:
00:00 até 08:00       - operador C (completando do dia anterior)
08:00 até 14:00       - operador A
14:00 até 20:00       - operador C
20:00 até 23:59       - operador D

É isso!

[]'s,
Marcelo Tamanini
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 09/12/2005 06:59 hs         
só uma dica:
tenta montar esta consulta 1º no editor SQL do Access ou SQL Server ou BD q vc tá usando.
tb. tente:
- fazer algo com group by p/ ajuntar os registros desejados
- select top QTDE para trazer apenas os 1ºs registros que satisfazeram tais condições
- talvez até subselects possam ajudar
 
no mais consulte o books online(help) do sql server que explica tim por tim as sintaxe q eu falei
 
boa sorteEmoções

http://www.vilmarbro.com.br
     
Tamanini
não registrado
Postada em 09/12/2005 08:10 hs   
Tentei assim, mas só traz um registro e ainda errado:

SELECT  m.tmes_qtd, m.tmes_hini, p.pmt_leg FROM tblTMes m, tblProgMesT p
WHERE
m.tmes_nreg = 1 AND m.tmes_mes = 12 AND m.tmes_ano = 2005 AND p.pmt_nreg = 1 AND p.pmt_data = #04/12/2005#
UNION
SELECT  m.tmes_qtd, m.tmes_hini, p.pmt_leg FROM tblTMes m, tblProgMesT p
WHERE
m.tmes_nreg = 1 AND m.tmes_mes = 12 AND m.tmes_ano = 2005 AND p.pmt_nreg = 1 AND p.pmt_data = #05/12/2005#;
     
Tamanini
não registrado
Postada em 09/12/2005 10:06 hs   
Consegui, fiz assim:

SELECT  m.tmes_qtd, m.tmes_hini, p.pmt_leg FROM tblTMes m, tblProgMesT p
WHERE
m.tmes_nreg = 1 AND m.tmes_mes = 12 AND m.tmes_ano = 2005 AND p.pmt_nreg = 1 AND p.pmt_data = #12/04/2005#
UNION
SELECT  m.tmes_qtd, m.tmes_hini, p.pmt_leg FROM tblTMes m, tblProgMesT p
WHERE
m.tmes_nreg = 1 AND m.tmes_mes = 12 AND m.tmes_ano = 2005 AND p.pmt_nreg = 1 AND p.pmt_data = #12/05/2005#;


Mas está trazendo os dados do dia 05 e depois do dia 04, em vez de ser crescente, já tentei colocar o ORDER BY p.pmt_data no final, mas gera erro.

[ ]'s,
Marcelo Tamanini
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página