Chamuanza Posted June 23, 2023 at 03:11 PM Report Share #631363 Posted June 23, 2023 at 03:11 PM Boa tarde, agradeço desde já ajuda para perceber Tenho um aplicação feita por mim em VBNet com base dados Access para meu uso que funcionava bem, e por motivo que desconheço não apresenta todos os registo dentro da data inicial e data final e critérios escolhidos. Tentei várias alterações mas não consigo detectar o erro Private Sub frmDespesasActuais_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim DataInicio As Date = DateTimePicker1.Value Dim DataFim As Date = DateTimePicker2.Value Dim sDataInicio = Format(DataInicio, "yyyy/MM/dd") Dim sDatafim = Format(DataFim, "yyyy/MM/dd") 'Dim DataConsulta As Date = MonthCalendar1.SelectionStart 'Dim sData = Format(DataConsulta, "yyyy/MM/dd") Dim ConnectionString As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\DespesasCaseiras\DespesasPessoaisFamiliares.mdb;") ' Dim Query As String = "SELECT Id,Data,Designacao,Despesa,Categoria,SubCategoria,Familiar FROM DadosActuais Where Despesa > 0 AND Data BETWEEN '" & sDataInicio & "' AND '" & sDatafim & "'Order By Id" Dim Query As String = "SELECT Id,Data,Designacao,Despesa,Categoria,SubCategoria,Familiar FROM DadosActuais Where Data BETWEEN CDate('" & sDataInicio & "') AND CDate('" & sDatafim & "') Order By Id" 'Dim command As New OleDbCommand(query, ConnectionString) '' Seleccionar os dados 'command.Parameters.Add("@Despesa", OleDbType.Decimal).Value = "0,00" Dim DataAdapter As New OleDbDataAdapter(Query, ConnectionString) Dim MyData As New DataSet DataAdapter.Fill(MyData, "DadosActuais") ' Neste caso utilizei uma datagridview para visualizar os dados Me.DataGridView1.DataSource = MyData.Tables("DadosActuais") 'Me.DataGridView1.DataSource = MyData.Tables(0) 'Conta as linhas da Grid e coloca na Label Label1.Text = "Este Filtro encontrou - " & Me.DataGridView1.RowCount - 1 & " Registos" Button2.Enabled = False Call ControlaGrid() Call SomarColunas() ConnectionString.Close() TextBox1.Text = Nothing TextBox2.Text = Nothing TextBox3.Text = Nothing Exit Sub Também me aparece estes avisos no VS, não sei se estão relacionados Citação Severity Code Description Project File Line Suppression State Warning Cannot get the file path for type library "00020813-0000-0000-c000-000000000046" version 1.9. Biblioteca não registada. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) DespesasCaseiras Severity Code Description Project File Line Suppression State Warning Cannot get the file path for type library "2df8d04c-5bfa-101b-bde5-00aa0044de52" version 2.8. Biblioteca não registada. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) DespesasCaseiras Severity Code Description Project File Line Suppression State Warning The referenced component 'Microsoft.Office.Core' could not be found. DespesasCaseiras Severity Code Description Project File Line Suppression State Warning The referenced component 'Microsoft.Office.Interop.Excel' could not be found. DespesasCaseiras Link to comment Share on other sites More sharing options...
Cerzedelo Posted June 26, 2023 at 12:28 PM Report Share #631393 Posted June 26, 2023 at 12:28 PM Em 23/06/2023 às 16:11, Chamuanza disse: Boa tarde, agradeço desde já ajuda para perceber Tenho um aplicação feita por mim em VBNet com base dados Access para meu uso que funcionava bem, e por motivo que desconheço não apresenta todos os registo dentro da data inicial e data final e critérios escolhidos. Tentei várias alterações mas não consigo detectar o erro Private Sub frmDespesasActuais_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim DataInicio As Date = DateTimePicker1.Value Dim DataFim As Date = DateTimePicker2.Value Dim sDataInicio = Format(DataInicio, "yyyy/MM/dd") Dim sDatafim = Format(DataFim, "yyyy/MM/dd") 'Dim DataConsulta As Date = MonthCalendar1.SelectionStart 'Dim sData = Format(DataConsulta, "yyyy/MM/dd") Dim ConnectionString As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\DespesasCaseiras\DespesasPessoaisFamiliares.mdb;") ' Dim Query As String = "SELECT Id,Data,Designacao,Despesa,Categoria,SubCategoria,Familiar FROM DadosActuais Where Despesa > 0 AND Data BETWEEN '" & sDataInicio & "' AND '" & sDatafim & "'Order By Id" Dim Query As String = "SELECT Id,Data,Designacao,Despesa,Categoria,SubCategoria,Familiar FROM DadosActuais Where Data BETWEEN CDate('" & sDataInicio & "') AND CDate('" & sDatafim & "') Order By Id" 'Dim command As New OleDbCommand(query, ConnectionString) '' Seleccionar os dados 'command.Parameters.Add("@Despesa", OleDbType.Decimal).Value = "0,00" Dim DataAdapter As New OleDbDataAdapter(Query, ConnectionString) Dim MyData As New DataSet DataAdapter.Fill(MyData, "DadosActuais") ' Neste caso utilizei uma datagridview para visualizar os dados Me.DataGridView1.DataSource = MyData.Tables("DadosActuais") 'Me.DataGridView1.DataSource = MyData.Tables(0) 'Conta as linhas da Grid e coloca na Label Label1.Text = "Este Filtro encontrou - " & Me.DataGridView1.RowCount - 1 & " Registos" Button2.Enabled = False Call ControlaGrid() Call SomarColunas() ConnectionString.Close() TextBox1.Text = Nothing TextBox2.Text = Nothing TextBox3.Text = Nothing Exit Sub Também me aparece estes avisos no VS, não sei se estão relacionados Refere que o sistema funcionava bem, agora deixou de funcionar? É que a utilização do CDate está associado às definições regionais das datas e horários que tem no seu computaor. Verifique se não procedeu a nenhuma alteração das mesmas. Pode ocorrer uma incompatibilidade de formatos da data que é registada no access e a data que passa via variável do vb.net. Experimente na função sql passar a data sem ser em variável, mas em string mesmo, no mesmo formato que esteja no access. Experimente listar o output das variáveis sDatainicio e sDataFim, e comparar esse resultado com o valor registado no access. Quanto aos avisos deve estar a faltar esses componentes no seu projeto no vb.net, pelo que deve adicionar em Add References do vb.net. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now