Tenho um programa de cadastros que gera relatórios por intervalos entre. Os registros estão em um banco mysql.
Acontece que quando eu peço para listar registros dentro do mesmo mês, ele funciona normalmente. Mas quando eu peço para listar registros que começam em um mês e terminam em outro, ele não lista nada! Exemplo:
Data iniical = 20/08/2008 e Data final = 28/08/2008 -------> Funciona
Data Inicial = 20/08/2008 e Data final = 02/09/2008 -------> Não funciona
Já mudei o data type do campo das datas para integer, varchar(10), date, mas nada muda. Segue o código que eu uso no evento Iniciar do Data Report:
Private Sub DataReport_Initialize()
If myCon.State = adStateOpen Then myCon.Close
myCon.CursorLocation = adUseClient
'estou usando a conexão que já foi criada no dataenvironment
Pergunta
Guest --Marco Antonio --
Olá a todos.
Tenho um programa de cadastros que gera relatórios por intervalos entre. Os registros estão em um banco mysql.
Acontece que quando eu peço para listar registros dentro do mesmo mês, ele funciona normalmente. Mas quando eu peço para listar registros que começam em um mês e terminam em outro, ele não lista nada! Exemplo:
Data iniical = 20/08/2008 e Data final = 28/08/2008 -------> Funciona
Data Inicial = 20/08/2008 e Data final = 02/09/2008 -------> Não funciona
Já mudei o data type do campo das datas para integer, varchar(10), date, mas nada muda. Segue o código que eu uso no evento Iniciar do Data Report:
Private Sub DataReport_Initialize()
If myCon.State = adStateOpen Then myCon.Close
myCon.CursorLocation = adUseClient
'estou usando a conexão que já foi criada no dataenvironment
myCon.ConnectionString = DataEnvironment1.Connection1
'abre a conexão com o banco de dados
myCon.Open "DSN=odonto"
'pega as datas de inicio e de fim
With formdata
strInicio = .dataini.Value
strAte = .datafin.Value
End With
DataReport2.Title = "Período de: " & strInicio & " até: " & strAte
'define o comando SHAPE
sql = "SHAPE { "
sql = sql & "SELECT DISTINCT u.* "
sql = sql & "FROM unidade u INNER JOIN registro r ON u.codigo = r.cod "
sql = sql & "WHERE r.data1 "
sql = sql & "BETWEEN '" & strInicio & "' "
sql = sql & "AND '" & strAte & "' "
sql = sql & "ORDER BY u.codigo "
sql = sql & "} AS Command1 "
sql = sql & "APPEND ({ "
sql = sql & "SELECT registro.* "
sql = sql & "FROM registro "
sql = sql & "WHERE data1 "
sql = sql & " BETWEEN '" & strInicio & "' "
sql = sql & "AND '" & strAte & "' "
sql = sql & "ORDER BY data1 "
sql = sql & "} AS Command2 "
sql = sql & "RELATE 'codigo' TO 'cod') "
sql = sql & "AS Command2 "
myRS.Open sql, myCon, adOpenForwardOnly
'atribui o recordset gerado ao datareport
Set DataReport2.DataSource = myRS
End Sub
Agradeço a atenção desde já!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.