ACELERAR CARGA DE DADOS NA FLEX
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:
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
Olhe isto.
http://www.macoratti.net/vb6_msfg.htm
Prefiro MSHFlexGrid1.Basta usar
Set flgDados.DataSource = RS
http://www.macoratti.net/vb6_msfg.htm
Prefiro MSHFlexGrid1.Basta usar
Set flgDados.DataSource = RS
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.
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.
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
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
Obrigado Omar agora funcionou. Vlw.
Tópico encerrado , respostas não são mais permitidas