Colegas peguei um desafio para melhorar o desempenho do Ms - access em rede, a tabela de venda consta com 1 de 299777 registros
o antigo programador tem o habito de puxar todos os dados direto na FONTE DE REGISTROS, o qual faz todo sentido na abertura dos formulários ficar lento.
No momento estou aplicando no sistema abertura de vendas por criterio de entre datas, e mesmo assim fica muito lento.
passei abrir formulários em tempo de execução no qual ganhei desempenho em muitos formulários.
usando o código abaixo para puxar somente as vendas do dia, ainda tem uma demora.
lembrando que o assunto é nos computadores da rede, no servidor fica muito bom o desempenho.
'Historico de Vendas por Período
Public Function AbrirVendasPorPeriodo(pDataIni As String, pDataFim As String) As DAO.Recordset
On Error GoTo error
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select Código, CodCliente, Nome, DataVenda, TotalVendaBruto, TotalVendaLiquido, SitVenda, TipaPagamento From Tab_Venda where DataVenda BETWEEN #" & pDataIni & "# AND #" & pDataFim & "# ORDER BY DataVenda", dbOpenDynaset)
Set AbrirVendasPorPeriodo = rs
Set db = Nothing
Set rs = Nothing
Exit Function
error:
MsgBox "ERRO AO OBTER VENDAS POR PERÍODO, MVC CAMADA VENDA DAO" & Err.Description, vbCritical, "Error"
End Function
o antigo programador tem o habito de puxar todos os dados direto na FONTE DE REGISTROS, o qual faz todo sentido na abertura dos formulários ficar lento.
No momento estou aplicando no sistema abertura de vendas por criterio de entre datas, e mesmo assim fica muito lento.
passei abrir formulários em tempo de execução no qual ganhei desempenho em muitos formulários.
usando o código abaixo para puxar somente as vendas do dia, ainda tem uma demora.
lembrando que o assunto é nos computadores da rede, no servidor fica muito bom o desempenho.
'Historico de Vendas por Período
Public Function AbrirVendasPorPeriodo(pDataIni As String, pDataFim As String) As DAO.Recordset
On Error GoTo error
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select Código, CodCliente, Nome, DataVenda, TotalVendaBruto, TotalVendaLiquido, SitVenda, TipaPagamento From Tab_Venda where DataVenda BETWEEN #" & pDataIni & "# AND #" & pDataFim & "# ORDER BY DataVenda", dbOpenDynaset)
Set AbrirVendasPorPeriodo = rs
Set db = Nothing
Set rs = Nothing
Exit Function
error:
MsgBox "ERRO AO OBTER VENDAS POR PERÍODO, MVC CAMADA VENDA DAO" & Err.Description, vbCritical, "Error"
End Function