Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ricardo Gaspar

Datepart - Intranet Aniversarios

Recommended Posts

Viva,Será que algum me pode ajudar numa simples (para voces) complicada (para mim) questão?Então vamos começar.Estou a construir uma base de dados em access que contem os seguintes campos, primeiro nome, ultimo nome e aniversario. As propriedades dos campos primeiro nome e ultimo nome são texto o campo aniversario a propriedade é date/time.Tenho uma pagina para inserir valores pois aqui não tenho problemas, os valores são inseridos e ficam assim | Ricardo | Gaspar | 05-06-1973.O problema debate-se com a função datepart, isto é quando realizo este simples comando,<%Response.write datepart("m", "05-06-1973")%>Tenho um output : 6e deveria ser 06Alguem sabe como resolver esta questão?Porque é que eu desejo que o output traga o zero isto para os meses de janeiro a setembro, porque quero realizar um filtro que me informe quem são as pessoas que fazem anos no mês exemplo Maio 05.Fico à espera de uma ajuda, ou então alguem que me diga aonde posso buscar um codigo de aniversariantes para eu estudar.NOTA: Já tentei usar Session.LCID=2070 que pertence a Portugal(standard) e o resultado de me enviar o mes sem o zero mantem-se.Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%if(len(day(objRs("data"))) = 1) then response.write "0"response.write day(objRs("data"))response.write "/"if(len(month(objRs("data"))) = 1) then response.write "0"response.write month(objRs("data"))%>falowww

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%if(len(day(objRs("data"))) = 1) then response.write "0"response.write day(objRs("data"))response.write "/"if(len(month(objRs("data"))) = 1) then response.write "0"response.write month(objRs("data"))%>falowww

Obrigado pela resposta rápida mas este código deixou-me um bocado confuso... heheheEntão o melhor é eu postar o codigo e requisitar o seguinte. Este código apenas me vai mostrar quem faz anos no mes de maio.===============================================
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!-- #include file=Conn/config.inc --><%'Formatacao da data para Portugal StandardSession.LCID = 2070'Fim da Formatacao da data para Portugal StandardmSQL = "select * from users"RsConn.Open mSQL, Conn  %><html><body><%response.Write "<TABLE border='1'>"response.write "<TR><TD>NOME:</td><TD>DIA:</TD><TD>MES:</TD><TD>ANO:</TD></tr>"Do While Not RsConn.EOF	'response.Write "<Table width='100%' border='1'>"response.Write "<TR VALIGN = TOP><TD ALIGN = RIGHT WIDTH = '15%'><FONT COLOR = '#000000' SIZE = '-1'><B>  " & RsConn("primaryname") & "</b></font></td>"response.Write "<TD width = '25%'><FONT COLOR = '#999999' Size = '-1'>" & RsConn("aniversarios") &"</FONT></td></tr>"RsConn.MoveNextLoopresponse.write "</TABLE>"%></body></html>
=============================================================Ok, perante o código que referi em cima, onde vou inserir o codigo que vai filtrar na minha base de dados access no campo aniversarios que contem os registos 05-06-1973 o outras datas aquelas que contem os registos deste mês.Isto é, quero todos os registos dos aniversariantes que fazem anos no mês de maio.Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continuando para verificar aquilo que eu digo, podem visitar o site:

 

http://www.msit.com.br/publicacaoDetalhes.aspx?id=29

 

que contem isto:

 

Nesse exemplo vamos pegar a parte do Mês da Data que foi informada.

 

Select DATEPART(month,'15-02-2006')as Mês

 

Resultado é Mês 2

 

Como eu disse, se na base de dados a data estiver exactamente como está aqui '15-02-2006' e quero chamar todos os registos que tem o mês 02, nunca me mostrara qualquer registo porque o que vem com a instrucção do SQL é apenas 2.

 

Gostava mesmo de saber como alterar esta situação para que o SQL filtre todos os aniversariantes que nasceram por exemplo no mes de fevereiro, como se refere este exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim não te resolve?

 

mes= DATEPART ("m","05-06-1973") if len(mes)=1 then	mes = "0"&mesend ifResponse.Write(mes)

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim não te resolve?

mes= DATEPART ("m","05-06-1973") if len(mes)=1 then	mes = "0"&mesend ifResponse.Write(mes)
Muitissimo obrigado era mesmo este simples codigo que eu precisava, resolve perfeitamente para o que eu desejo.Mudei o mes para 10, 11 e 12 porque pensei que o codigo iria acrescentar um 0 antes do 10, 11 e 12, mas nao acrescentou nada funcionou direitinho.Mais uma vez muito obrigado.
<%Session.LCID = 2070mes = datepart ("m","05-08-1973")if len(mes)=1 then	mes="0"&mesend ifresponse.write (mes)%>
Output: 08
<%Session.LCID = 2070mes = datepart ("m","05-11-1973")if len(mes)=1 then	mes="0"&mesend ifresponse.write (mes)%>
Output: 11Ricardo Gaspar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.