Ir para conteúdo

POWERED BY:

Arquivado

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

_Fábio_

O registro existe mas o programa retorna BOF ou EOF

Recommended Posts

Bom dia galera, o esquema é o seguinte, estou trabalhando em um sistema em que o usuario fara lançamentos de visitas por um determinado tempo, para tal controle temos uma tabela onde temos o número sequencial das semanas corridas, acontece que em uma de minhas consultas o programa retorna bof ou eof, fiz a mesma consulta no banco imprimindo na tela copiando, e colando no banco e ele retorna valor, não sei o que acontece, alguem tem alguma ideia do que está acontencendo?Agradeço desde já Galera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o cod aí pra gente vÊ o que ta de errado!!

<!--#include file="../FUNCOES/bib_conexao.asp"--><%Dim Conexaocall abre_conexaodata_atual = dateif weekday(data_atual) = 7 then	data_atual = data_atual - 1end ifif weekday(data_atual) = 1 then	data_atual = data_atual - 2end ifdata_atual = month(data_atual) & "/" & day(data_atual) & "/" & year(data_atual)sql_semana = "select * from SEMANAS where data_inicio <= #"& data_atual &"# and data_fim >= #"& data_atual &"#"set tab_semana = Conexao.Execute(sql_semana)primeira_semana_inicio = tab_semana("data_inicio")primeira_semana_fim = tab_semana("data_fim")numero_primeira_semana = tab_semana ("numero_semana")numero_segunda_semana = numero_primeira_semana + 1sql_semana = "select * from SEMANAS where numero_semana = "& numero_segunda_semana & ""Set tab_semana = Conexao.Execute(sql_semana)'****************A linha do erro é essa abaixo  ********************segunda_semana_inicio = tab_semana("data_inicio")segunda_semana_fim = tab_semana("data_fim")%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tiozinho

 

voce não pode usar um dado do banco sem ter certeza que ele existe

 

aqui por exemplo

 

set tab_semana = Conexao.Execute(sql_semana)primeira_semana_inicio = tab_semana("data_inicio")
voce tenta pegar tab_semana("data_inicio") mas não testa se realmente pegou

 

deveria ser assim

 

set tab_semana = Conexao.Execute(sql_semana)IF NOT tab_semana.EOF THEN   primeira_semana_inicio = tab_semana("data_inicio")ELSE   primeira_semana_inicio = "<<Não Encontrada>>"END IF
Entende?? e isto vale para todos os campos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar uma funcao pra datadia = day(date)mes = month(date)ano = year(date)data_atual = dia&"/"&mes&"/"&ano>> confirme tb se o campo é do tipo data e qdo for inserir a data no campo use a mesma funcao acima, porém inverta o mes com o dia: data_atual = mes&"/"&dia&"/"&ano

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade o problema é que ele não tá tratando se o recordset ta vindo vazio como falei lá em cima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o tratamento... e continuava retornando o erro, mas na verdade foi uma burrada minha, eu abri o banco de backup, como a rotina de adicionar novas semanas ainda não está pronta eu precisei inserir essa semana2 manualmente, acontece que eu estava rodando o programa em um banco e estava fazendo a consulta para verificação em outro, de toda forma eu agradeço a ajuda e vou fazer o tratamento nas outras consultas conforme sugerido pelo Marioufpa....Bom natal e boa entrada de ano.....estou indo viajar.....férias.....MARAVILHAUm grande abraço...Fábio

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa viagem e boas festas... :natalw00t:

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.