1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Fazer um select com datas

Discussão em 'Programação' iniciada por rubenmsoares, 13 de Outubro de 2012. (Respostas: 3; Visualizações: 786)

  1. rubenmsoares

    rubenmsoares Power Member

    Boa noite,

    Algúem me sabe dizer como conseguir fazer um select onde uma das condições é a seleção dos resgistos correspondentes a data do mês actua?

    Tenho isto:

    strSQL = "SELECT COUNT(estado) AS Ganho, SUM(qt_ativacoes_gsm) AS Expr1, SUM(qt_fidelizacoes_gsm) AS Expr2, SUM(qt_ativacoes_blm) AS Expr3, SUM(qt_fidelizacoes_blm) AS Expr4, SUM(qt_ativacoes_email) AS Expr5, SUM(qt_fidelizacoes_email) AS Expr6, SUM(qt_eventos_fixa_internet) AS Expr7, SUM(qt_sites) AS Expr8, SUM(qt_usere) AS Expr9 FROM tbl_registo_negocio WHERE estado = 'Ganho' AND fkid_nome_comercial = '" & Label8.Text & "' AND 'data_negocio'" = Now.Month()

    O erro está no sublinhado. A data negócio é uma data e o erro que dá é:

    A conversão da cadeia "SELECT COUNT(estado) AS Ganho, S" para o tipo 'Double' não é válida.

    Mas se tirar o que está sublinhado, o select funciona, mas não traz somente os valor do mês actual.

    Podem ajudar-me?
     
  2. Jackass

    Jackass Power Member

    Se fazes questão que o mês a ser considerado seja o do cliente, podes sempre converter o campo referente à data de modo a retornar apenas o número do mês em causa. Essa conversão poderá depender do SGBD usado.

    Outra nota, atenção ao fkid_nome_comercial = '" & Label8.Text & "'. Não sei ao certo o contexto, mas sempre que possível utiliza queries parametrizadas.
     
  3. flaviorodrigues

    flaviorodrigues Power Member

    antes de mais no valor da txt e nesse da data usa parameters, os conhecidos @paramter , tens isso sql injection vulnerável

    Sobre a data, se na base de dados tens no tipo date, basta teres uma variavel exemplo dim datanegocio as date = cdate(txtdata.text)
    Depois no paramter poes associado a esse paramtro a variavel datanegocio.
     
  4. xBoShY

    xBoShY Power Member

    Código:
    SELECT 	COUNT(*) AS Ganho, 
    	SUM(qt_ativacoes_gsm) AS Expr1, 
    	SUM(qt_fidelizacoes_gsm) AS Expr2, 
    	SUM(qt_ativacoes_blm) AS Expr3, 
    	SUM(qt_fidelizacoes_blm) AS Expr4, 
    	SUM(qt_ativacoes_email) AS Expr5, 
    	SUM(qt_fidelizacoes_email) AS Expr6, 
    	SUM(qt_eventos_fixa_internet) AS Expr7, 
    	SUM(qt_sites) AS Expr8, 
    	SUM(qt_usere) AS Expr9 
    FROM tbl_registo_negocio 
    WHERE estado = 'Ganho' AND fkid_nome_comercial = '" & Label8.Text & "' AND Now.Month() = month(data_negocio)
     

Partilhar esta Página