Ir para conteúdo

POWERED BY:

Arquivado

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

FGC

Mostrar Diárias do Ano atual

Recommended Posts

Ola amigos,

 

Tenho um sistema de diarias no meu site , gostaria agora de incluir uma opção dentro do meu codigo atual aonde ele mostre todos os registros que cadastrei no ano de 2014 por exemplo .... abaixo meu codigo

<%
' Definindo o caminho do banco de dados
caminho = "noticias.mdb"

' Fazendo a conexão com o banco de dados (paginacao.mdb)
set objconn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(caminho)
objconn.Open DSN

' String SQL para consulta
SQL = "SELECT * FROM documentos Where Externo = 'Diarias' order by Data DESC"  

' Abrindo o registro
SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open SQL,objconn,3

' Se não encontrar nada escreve a mensagem
' Senão lista os registros
If objRS.EOF Then
Response.Write("Nenhum registro foi encontrado")
Else
' Definindo o número de registros por página
objRS.PageSize = 5

' Recupera o valor da variável pagina
pagina = Request.QueryString("pagina")

' Se a variável pagina for vazio, indica que a página sera a primeira
' Senão a variável pagina recebe o valor da página corrente, definida acima
If pagina = "" Then
objRS.AbsolutePage = 1
pagina = 1
Else
objRS.AbsolutePage = pagina
End If
%>

Algume pode me dar uma forcinha..

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz a SQL

 

 

Ano= request.form("ano")

SQL = "SELECT * FROM documentos Where Externo = 'Diarias' and Ano=''&ano&"' order by Data DESC"

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum

 

Retornou o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Externo = 'Diarias' and Ano=''&ano&'.

/diarias2.asp, line 84

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê um Response.Write nessa SQL ai logo apos vc recuperar os dados para ver como é que ele ta montando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o formato do campo e como é armazenado esse ano?

Se for um campo do tipo texto, vc precisa passar o valor assim: ano = '2015'

Agora se for um campo do tipo Date, você precisa passar da seguinte maneira: ... year(ano) ='2015'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pela minha rapida analise segue o código corrigido

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Externo = 'Diarias' and Ano='"&ano&"'.

Tem que ter duas APAS SIMPLES e duas ASPAS DUPLA.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia. verifique as aspas (simples e dupla), também pode ser um nome de coluna Invalido 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada. e veja se os tipos de dados estão corretos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos,

 

Na verdade não tem o campo ANO no Bd e sim o campo DATA com formato DATA e neste campo que gostaria de Filtrar os registro apenas que forem igual á 2015.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mude o campo na sql e coloque os valores como data

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o banco esta com o valor DATAHORA então no seu select você faz assim.

select * from nome_tabela where year(nome_coluna_data)=year(date)

Dessa forma o select só vai trazer tudo que for do ano de 2015.

 

Lembrando que o select acima traz tudo que for do ano atual. Se quiser que seja de outro ano tem que mudar.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se está recebendo o valor da variável com o tipo correto

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gilberto Jr

 

Eu substituo essa linha :

' String SQL para consulta
SQL = "SELECT * FROM documentos Where Externo = 'Diarias' order by Data DESC"  

Por essa:

select * from nome_tabela where year(nome_coluna_data)=year(date)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma pergunta?

 

Se for, sim.

SELECT * FROM documentos Where Externo = 'Diarias' and year(dataregistro)=year(date) order by Data DESC 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gilberto,

 

Deixei o codigo assim:

<%
' Definindo o caminho do banco de dados
caminho = "noticias.mdb"

' Fazendo a conexão com o banco de dados (paginacao.mdb)
set objconn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(caminho)
objconn.Open DSN

' String SQL para consulta


SQL = "SELECT * FROM documentos Where Externo = 'Diarias' and year(dataregistro)=year(date) order by Data DESC"


' Abrindo o registro
SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open SQL,objconn,3

' Se não encontrar nada escreve a mensagem
' Senão lista os registros
If objRS.EOF Then
Response.Write("Nenhum registro foi encontrado")
Else
' Definindo o número de registros por página
objRS.PageSize = 5

' Recupera o valor da variável pagina
pagina = Request.QueryString("pagina")

' Se a variável pagina for vazio, indica que a página sera a primeira
' Senão a variável pagina recebe o valor da página corrente, definida acima
If pagina = "" Then
objRS.AbsolutePage = 1
pagina = 1
Else
objRS.AbsolutePage = pagina
End If
%>

E retornou o erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

/diarias2.asp, line 86

Compartilhar este post


Link para o post
Compartilhar em outros sites


dim anoatual

anoatual=Year(date)

response.write anoatual

 

"select * from TABELA where Year(dataregistro)="&anoatual

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, esse código SQL que eu coloquei no post acima foi só um exemplo.

"select * from TABELA where Year(dataregistro)=

Você deve fazer o select direto na usa tabela.

select * from NOME_DA_TABELA where YEAR(NOME_COLUNA_ONDE_VAI_A_DATA)="&anoatual

Att;

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.