ACELERAR CARGA DE DADOS NA FLEX

LCSSP 23/03/2015 10:06:31
#445422
Bom dia pessoal.

Estou com um problema na carga de dados na flex, até o momento usava o Additem para inserir registros na flex, porém de um tempo para cá tem ficado muito lento por este método, então vi na net um método chamado clip para carga mas não consegui reproduzir com sucesso, ele simplesmente não carrega os dados mas a consulta volta os dados, se alguem puder dar um help, segue o código:

      [ô]define os objetos para o acesso aos dados no Microsoft Access
Dim db As New ADODB.Connection
Dim RS As Recordset

flgDados.Refresh

flgDados.Redraw = False

[ô]define o numero de linhas e colunas e configura o grid
Call Formata_Grid

[ô]abre o banco de dados e define o recordset a ser usado
Set cnn = CreateObject([Ô]ADODB.Connection[Ô])
cnn.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};user=usuario;password=senha;server=localhost;database=banco;option=20499[Ô]
Set RS = CreateObject([Ô]ADODB.RecordSet[Ô])
Set RS.ActiveConnection = cnn
ssql = [Ô]SELECT cli_cod, cli_razao, cli_fantasia from tb_cliente[Ô]
RS.Open ssql, cnn, adOpenStatic, adLockReadOnly

[ô]estamos usando a propriedade Clip e o método GetString para selecionar uma região do grid
flgDados.Clip = RS.GetString(adClipString)
flgDados.Row = 1
flgDados.Redraw = True

[ô]libera os objetos
Set RS = Nothing
Set db = Nothing
OMAR2011 23/03/2015 11:20:19
#445428
Resposta escolhida
Olhe isto.
http://www.macoratti.net/vb6_msfg.htm
Prefiro MSHFlexGrid1.Basta usar
Set flgDados.DataSource = RS
LCSSP 23/03/2015 14:51:15
#445432
Então Omar,

Eu peguei este código e me apoiei nele para adaptar a minha necessidade, mas quando o disparo ele só apresenta a informação na primeira célula e depois só em branco, me parece que a Flex não esta reconhecendo a tabulação dos dados.



OMAR2011 23/03/2015 18:10:44
#445440
Pela sua intenção não está conforme você pegou no site
Veja

Dim cnn As New ADODB.Connection
Dim RS As Recordset
Dim Ssql As String

flgDados.Refresh

flgDados.Redraw = False

[ô]define o numero de linhas e colunas e configura o grid
[ô] Call Formata_Grid

[ô]abre o banco de dados e define o recordset a ser usado
Set cnn = CreateObject([Ô]ADODB.Connection[Ô])
cnn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\Teste.mdb;Persist Security Info=False[Ô]
[ô]cnn.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};user=usuario;password=senha;server=localhost;database=banco;option=20499[Ô]
Set RS = CreateObject([Ô]ADODB.RecordSet[Ô])
Set RS.ActiveConnection = cnn
Ssql = [Ô]SELECT * From Comum[Ô]
RS.Open Ssql, cnn, adOpenStatic, adLockReadOnly
[ô]RS.MoveFirst
flgDados.Rows = RS.RecordCount + 1
flgDados.Cols = RS.Fields.Count - 1
flgDados.Row = 0
flgDados.Col = 0
flgDados.RowSel = flgDados.Rows - 1
flgDados.ColSel = flgDados.Cols - 1

[ô]estamos usando a propriedade Clip e o método GetString para selecionar uma região do grid
flgDados.Clip = RS.GetString(adClipString, -1, Chr(9), Chr(13), vbNullString)
[ô] flgDados.Row = 1
flgDados.Redraw = True

[ô]libera os objetos
Set RS = Nothing
Set cnn = Nothing
LCSSP 25/03/2015 20:19:44
#445487
Obrigado Omar agora funcionou. Vlw.

Tópico encerrado , respostas não são mais permitidas