MSFLEXGRID MAIS RAPIDO?
No seguinte código, demora muito tempo a preencher o msflexgrid, devido á linha: [txt-color=#3333ff]reg1.Filter = "códentidade='" & rs("códentidade") & "'"[/txt-color]
Tem como melhorar, tornar mais rápido?
Tem como melhorar, tornar mais rápido?
MySql = "Select * from Entidades"
reg1.Open MySql, db, adOpenKeyset
x = 1
MySql = "Select * from [Contas Correntes] where códtipoentidade='C' order by nummov"
rs.Open MySql, db, adOpenKeyset
rs.MoveFirst
With MSFlexGrid1
.Refresh
.Visible = False
.Rows = rs.RecordCount + 1
.Cols = rs.Fields.Count - 1
.Row = 0
.Col = 0
'.RowSel = .Rows - 1
'.ColSel = .Cols - 1
While Not rs.EOF
reg1.Filter = "códentidade='" & rs("códentidade") & "'"
.TextMatrix(x, 0) = rs("NumMov")
.TextMatrix(x, 1) = rs("Data")
.TextMatrix(x, 2) = rs("CódTipo")
.TextMatrix(x, 3) = rs("NumDoc")
.TextMatrix(x, 4) = reg1("Nome")
.TextMatrix(x, 5) = FormatCurrency(rs("Débito"), 2)
.TextMatrix(x, 6) = FormatCurrency(rs("Crédito"), 2)
x = x + 1
rs.MoveNext
Wend
.Visible = True
Set rs = Nothing
'Set db = Nothing
.Row = 1
.Col = 1
.TopRow = .Rows - 1 'Posiciona no ultimo registo
End With
Explique como vc está montando este Flex
Pois pelo que estou vendo vc está filtrando dentro flex.
Porque já não passa o resultado através de um recordset
Usando Inner Join.
E não o Filter.
Algumas Dicas:
Não crie nomes de campos ou tabelas com acentuações.
Até mais,
Guardião!
Pois pelo que estou vendo vc está filtrando dentro flex.
Porque já não passa o resultado através de um recordset
Usando Inner Join.
E não o Filter.
Algumas Dicas:
Não crie nomes de campos ou tabelas com acentuações.
Até mais,
Guardião!
Tem razão se usar uma consulta, deve ser bem mais rápido.
Fico show
Fico show
SELECT [Contas Correntes].NumMov, [Contas Correntes].Data, [Contas Correntes].CódTipo, [Contas Correntes].NumDoc, Entidades.Nome, [Contas Correntes].CódTipoEntidade, [Contas Correntes].CódEntidade, [Contas Correntes].Crédito, [Contas Correntes].TotalDoc, [Contas Correntes].Débito
FROM Entidades INNER JOIN [Contas Correntes] ON (Entidades.CódEntidade = [Contas Correntes].CódEntidade) AND (Entidades.CódTipoEntidade = [Contas Correntes].CódTipoEntidade)
WHERE ((([Contas Correntes].CódTipoEntidade)="c"))
ORDER BY [Contas Correntes].NumMov
;
Tópico encerrado , respostas não são mais permitidas