Ir para conteúdo

POWERED BY:

Arquivado

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

flneves

[Resolvido] Captura do mês e do ano - ASP usando Access

Recommended Posts

Pessoal,

 

 

Gostaria que quando fosse cadastrado um novo serviço pegasse o mês e o ano do servidor direto sem a necessidade de preenchimento do combo pelo usuário, como consigo? No access usei Data () e funcionou pegou a data completa, mas em outra tabela preciso apenas dos campos citados acima, não quero nem usar combo na tela quero que inclua direto no bd sem interface com usuário. Tentei usar a função NomeMês («mês»; «abreviar») no access mas não foi permitido. Alguem pode ajudar?

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa assim:

 

Function pegaData()
dia = day(now)
mes = month(now)
ano = year(now)
pegaData = CStr(dia) + "/" + CStr(mes) + "/" + CStr(ano)
End Function

 

Exemplo de uso:

 

 

<

% Response.write "A data atual é: " & pegaData %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, consegui fazer só preciso agora criar um recordset com dois filtros:

 

Tenho uma tabela que captura a data automaticamente e a coloca no bd com a função Data(), a partir dai consigo coloca-la na página somente o mês e o ano que é realmente o que me interessa, so que ao criar um recordset com a data da problema pois ele retorna a data integral. Ex. 14/10/2010

 

Preciso fazer um filtro no recordset para que puxe somente o mês e o ano, no entanto não sei como fazer, Alguem pode ajudar?

 

A SQL está assim:

SELECT *
FROM Afiliações
WHERE afiliador = MMColParam AND mes = ??????

Como devo fazer?

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o sql SELECT MONTH

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o sql SELECT MONTH

 

Xamburzão,

 

 

Se eu soubesse fazer não insistiria, se puderes me ajudar, a desenvolver te agradeço!

 

Aguardo sua ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo de uso:

 

listarmes = 10
listarano = 2010

Set RS = Conn.Execute("SELECT * FROM tabeladados WHERE MONTH(colunadatacadastro) = " & listarmes & " and YEAR(colunadatacadastro) = " & listarano & " ORDER BY Id")

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue o que foi passado acima....e você fazer uma busca simples sobre

 

SELECT * FROM tabeladados WHERE MONTH

 

irá encontrar varios exemplos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui fazer....

 

Tentei é deu operador faltando....

 

segue abaixo codigo da página:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
' *** Logout the current user.
MM_Logout = CStr(Request.ServerVariables("URL")) & "?MM_Logoutnow=1"
If (CStr(Request("MM_Logoutnow")) = "1") Then
  Session.Contents.Remove("MM_Username")
  Session.Contents.Remove("MM_UserAuthorization")
  MM_logoutRedirectPage = "../index.asp"
  ' redirect with URL parameters (remove the "MM_Logoutnow" query param).
  if (MM_logoutRedirectPage = "") Then MM_logoutRedirectPage = CStr(Request.ServerVariables("URL"))
  If (InStr(1, UC_redirectPage, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
    MM_newQS = "?"
    For Each Item In Request.QueryString
      If (Item <> "MM_Logoutnow") Then
        If (Len(MM_newQS) > 1) Then MM_newQS = MM_newQS & "&"
        MM_newQS = MM_newQS & Item & "=" & Server.URLencode(Request.QueryString(Item))
      End If
    Next
    if (Len(MM_newQS) > 1) Then MM_logoutRedirectPage = MM_logoutRedirectPage & MM_newQS
  End If
  Response.Redirect(MM_logoutRedirectPage)
End If
%>
<!--#include file="../Connections/Conex_attract.asp" -->
<%
Dim usuario__MMColParam
usuario__MMColParam = "1"
If (Session("MM_Username") <> "") Then 
  usuario__MMColParam = Session("MM_Username")
End If
%>
<%
Dim usuario
Dim usuario_cmd
Dim usuario_numRows

Set usuario_cmd = Server.CreateObject ("ADODB.Command")
usuario_cmd.ActiveConnection = MM_Conex_attract_STRING
usuario_cmd.CommandText = "SELECT * FROM Dados WHERE login = ?" 
usuario_cmd.Prepared = true
usuario_cmd.Parameters.Append usuario_cmd.CreateParameter("param1", 200, 1, 255, usuario__MMColParam) ' adVarChar

Set usuario = usuario_cmd.Execute
usuario_numRows = 0
%>
<%
Dim afiliacoes__MMColParam
afiliacoes__MMColParam = "1"
If (Session("MM_Username") <> "") Then 
  afiliacoes__MMColParam = Session("MM_Username")
End If
%>
<%
Dim afiliacoes
Dim afiliacoes_cmd
Dim afiliacoes_numRows

Set afiliacoes_cmd = Server.CreateObject ("ADODB.Command")
afiliacoes_cmd.ActiveConnection = MM_Conex_attract_STRING
afiliacoes_cmd.CommandText = "SELECT * FROM Afiliações WHERE afiliador = ? " 
afiliacoes_cmd.Prepared = true
afiliacoes_cmd.Parameters.Append afiliacoes_cmd.CreateParameter("param1", 200, 1, 255, afiliacoes__MMColParam) ' adVarChar

Set afiliacoes = afiliacoes_cmd.Execute
afiliacoes_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 10
Repeat1__index = 0
afiliacoes_numRows = afiliacoes_numRows + Repeat1__numRows
%>
<%
'  *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

Dim afiliacoes_total
Dim afiliacoes_first
Dim afiliacoes_last

' set the record count
afiliacoes_total = afiliacoes.RecordCount

' set the number of rows displayed on this page
If (afiliacoes_numRows < 0) Then
  afiliacoes_numRows = afiliacoes_total
Elseif (afiliacoes_numRows = 0) Then
  afiliacoes_numRows = 1
End If

' set the first and last displayed record
afiliacoes_first = 1
afiliacoes_last  = afiliacoes_first + afiliacoes_numRows - 1

' if we have the correct record count, check the other stats
If (afiliacoes_total <> -1) Then
  If (afiliacoes_first > afiliacoes_total) Then
    afiliacoes_first = afiliacoes_total
  End If
  If (afiliacoes_last > afiliacoes_total) Then
    afiliacoes_last = afiliacoes_total
  End If
  If (afiliacoes_numRows > afiliacoes_total) Then
    afiliacoes_numRows = afiliacoes_total
  End If
End If
%>
<%
' *** Recordset Stats: if we don't know the record count, manually count them

If (afiliacoes_total = -1) Then

  ' count the total records by iterating through the recordset
  afiliacoes_total=0
  While (Not afiliacoes.EOF)
    afiliacoes_total = afiliacoes_total + 1
    afiliacoes.MoveNext
  Wend

  ' reset the cursor to the beginning
  If (afiliacoes.CursorType > 0) Then
    afiliacoes.MoveFirst
  Else
    afiliacoes.Requery
  End If

  ' set the number of rows displayed on this page
  If (afiliacoes_numRows < 0 Or afiliacoes_numRows > afiliacoes_total) Then
    afiliacoes_numRows = afiliacoes_total
  End If

  ' set the first and last displayed record
  afiliacoes_first = 1
  afiliacoes_last = afiliacoes_first + afiliacoes_numRows - 1
  
  If (afiliacoes_first > afiliacoes_total) Then
    afiliacoes_first = afiliacoes_total
  End If
  If (afiliacoes_last > afiliacoes_total) Then
    afiliacoes_last = afiliacoes_total
  End If

End If
%>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Attract Consultoria e Serviços</title>
<link href="../css/modelagem.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="top">
  <h1> </h1>
  <table width="1010" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="234"><a href="aadmin.asp"><img src="../imagens/logo-attract.png" alt="Attract Consultoria e Serviços" width="225" height="76" border="0" /></a></td>
      <td width="784" align="right" valign="bottom"><h1><a href="<%= MM_Logout %>">Sair</a> | Bem vindo, <%=(usuario.Fields.Item("Nome_usuario").Value)%>!</h1></td>
    </tr>
  </table>
</div>
<div id="barra_adm"><img src="../imagens/barra_link_adm.png" width="1020" height="40" border="0" usemap="#Map" />
  <map name="Map" id="Map"><area shape="rect" coords="6,5,197,35" href="cadastro_propostas.asp" alt="Cadastro de propostas" />
    <area shape="rect" coords="5,5,196,35" href="../teste.asp" />
    <area shape="rect" coords="207,6,362,35" href="relatorio_mensal.asp" alt="Relatório mensal de Afiliações por afiliador" />
    <area shape="rect" coords="375,7,516,35" href="fale_conosco.asp" alt="Fale conosco" />
  </map>
</div>
<div id="outros_adm">
  <table width="1020" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td width="805"><h2>   <img src="../imagens/consulta_proposta.png" width="16" height="16" /> Relatório Mensal por afiliador</h2></td>
      <td width="215"><form id="consulta_proposta" name="consulta_proposta" method="post" action="busca_proposta.asp">
        <h1>Localizar: 
          <label>
            <input name="cnpj" type="text" class="combos" id="cnpj" value="Digite CNPJ" />
          </label>
          <label>
            <input name="button" type="submit" class="combos" id="button" value="Buscar" />
          </label>
        </h1>
      </form></td>
    </tr>
  </table>
</div>
<div id="lista_propostas">
  <table width="1016" border="0" cellspacing="1">
    <tr>
      <td colspan="6"><h5>Total de afiliações cadastradas no mês atual: <%=(afiliacoes_total)%> - <%Response.Write(MonthName(Month(Date()),False))%>/<%Response.Write(Year(Date()))%></h5></td>
    </tr>
    <tr>
      <td width="150" height="14" bgcolor="#EC3237"><h3>CNPJ</h3></td>
      <td width="250" bgcolor="#EC3237"><h3>Razão Social</h3></td>
      <td width="250" bgcolor="#EC3237"><h3>Nome Fantasia</h3></td>
      <td width="80" bgcolor="#EC3237"><h3>Agência</h3></td>
      <td width="120" bgcolor="#EC3237"><h3>Conta Corrente</h3></td>
      <td width="166" bgcolor="#EC3237"><h3>Status Atual</h3></td>
    </tr>
  </table>
  <% 
While ((Repeat1__numRows <> 0) AND (NOT afiliacoes.EOF)) 
%>
  <table width="1016" border="0" cellpadding="0" cellspacing="1" class="tabela_proposta">
    <tr>
      <td width="150"><h4><%=(afiliacoes.Fields.Item("cnpj").Value)%></h4></td>
      <td width="250"><h4><%=(afiliacoes.Fields.Item("razão_social").Value)%></h4></td>
      <td width="250"><h4><%=(afiliacoes.Fields.Item("nome_fantasia").Value)%></h4></td>
      <td width="80"><h4><%=(afiliacoes.Fields.Item("agência").Value)%></h4></td>
      <td width="120"><h4><%=(afiliacoes.Fields.Item("cc").Value)%></h4></td>
      <td width="166"><h4><%=(afiliacoes.Fields.Item("status_atual").Value)%></h4></td>
      </tr>
  </table>
  <% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  afiliacoes.MoveNext()
Wend
%>
</div>
<div id="end">
  <table width="1020" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="110"><a href="../index.asp"><img src="../imagens/logo-attract-pequena.png" alt="Attract Consultoria e Serviços" width="110" height="29" border="0" /></a></td>
      <td width="910"><h1><a href="<%= MM_Logout %>">Inicial</a> | <a href="../quemsomos.asp">Quem somos</a> | <a href="../servicos.asp">Serviços</a> | <a href="../nossos_clientes.asp">Nossos clientes</a> | <a href="../fale_conosco.asp">Fale conosco</a><br />
      Todos os diretos reservados Attract ® 2010 </h1></td>
    </tr>
  </table>
</div>
</body>
</html>
<%
usuario.Close()
Set usuario = Nothing
%>
<%
afiliacoes.Close()
Set afiliacoes = Nothing
%>

 

segue o que foi passado acima....e você fazer uma busca simples sobre

 

SELECT * FROM tabeladados WHERE MONTH

 

irá encontrar varios exemplos

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o número do erro e linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu erro nenhum porque ainda não mexi no código, gostaria que a partir desse codigo que esta funcionando corretamente fizesse a seleção por mes que captura na coluna mes do bd, porém como foi informado pela o numero e nao o nome!!!!!

 

Abraços,

 

 

poste o número do erro e linha

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o SQL SELECT com o MONTH

 

  sql = "SELECT column FROM table WHERE MONTH(seu_campo) = MONTH(GETDATE())

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pessoal consegui resolver a bronca anterior, salvei automático no access, agora preciso de outra ajuda, essa é galho fraco!!!

 

 

Usei a função Mês(Agora()) pra salvar o mês e realmente salvou... porém em formato número "12" quero converter para texto quero que salve ao inves de 12 // Dezembro.... tem como?

 

 

Aguardo ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use a função MonthName em conjunto com a Month

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário,

 

Eu usei a função MonthName("Month") porém estou com alguns problemas, primeiro é traduzido para o portugues quando coloco no valor padrão do access e segundo que está dando a seguinte mensagem Erro 'Tipos incompativeis no valor padrão'....

 

Não sei como resolver preciso realmente de ajuda....

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que ser MonthName(Month(Now()))

 

Isso se fosse usar no codigo VBScript

 

voce disse que está colocando como valor padrão é isso mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso, Mário tentei postar a informação que me passastes acima e deu esse erro!

 

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[Microsoft][ODBC Microsoft Access Driver] Unknown function 'MonthName' in validation expression or default value on 'Afiliações.mes manual'.

 

/adm/funcional/cadastro_propostas.asp, line 53

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como tentou incluir e onde?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como tentou incluir e onde?

 

Mário,

 

Fiz um formulário que inclui informações de um cadastro, e esse campo está sendo preenchido direto pelo banco de dados com as informações do próprio sistema operacional, não tem combo, to pegando do windows/linux e jogando no bd, e a informação do MonthName estou colocando dentro do campo no access como valor padrão conforme imagem em anexo.

 

Olha aqui!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei no access 2003 e a função mesnome como valor padrão não funcionou como deveria

 

Voce pode fazer isso via script

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.