GRAVANDO RESULTADOS DE UM RECORDSET EM UMA MATRIZ
Olá gente!
Estou com uma dúvida e espero que me ajudem.
Alguém sabe armazenar os dados de um recordset ou uma tabela numa matriz bidimensional?
Obrigada!!!
Anni
Estou com uma dúvida e espero que me ajudem.
Alguém sabe armazenar os dados de um recordset ou uma tabela numa matriz bidimensional?
Obrigada!!!
Anni
qual seria o conteudo do RecordSet?
Uma tabela inteira, por exemplo.
rs.Open "Select * from Tabela order by codigo ", Banco, adOpenForwardOnly, adLockReadOnly
rs.Open "Select * from Tabela order by codigo ", Banco, adOpenForwardOnly, adLockReadOnly
Olha...pode parecer tonto...mas n entendo muito de matriz...por n usar..
poderia me dar um exemplo?
Acho que consegui uma solução... estou aberta a sugestões.
Dim dbvetor1 As Variant
Dim caminhobanc1 as New ADODB.Recorset
caminhobanc1.Open "Select * from Tabela01 order by Field1", bancocaminho1, adOpenForwardOnly, adLockReadOnly
dbvetor1 = caminhobanc1.GetRows(caminhobanc1.RecordCount)
numero_de_colunas = UBound(dbvetor, 1)
numero_de_registros = UBound(dbvetor, 2)
Dim matrixbanco1() As Variant
ReDim matrixbanco1(numero_de_registros, numero_de_colunas)
For i = 0 To numero_de_registros
For j = 0 To numero_de_colunas
matrixbanco1(i, j) = linha & dbvetor1(j, i)
Next j
linha = ""
Next i
caminhobanco1.close
Dim dbvetor1 As Variant
Dim caminhobanc1 as New ADODB.Recorset
caminhobanc1.Open "Select * from Tabela01 order by Field1", bancocaminho1, adOpenForwardOnly, adLockReadOnly
dbvetor1 = caminhobanc1.GetRows(caminhobanc1.RecordCount)
numero_de_colunas = UBound(dbvetor, 1)
numero_de_registros = UBound(dbvetor, 2)
Dim matrixbanco1() As Variant
ReDim matrixbanco1(numero_de_registros, numero_de_colunas)
For i = 0 To numero_de_registros
For j = 0 To numero_de_colunas
matrixbanco1(i, j) = linha & dbvetor1(j, i)
Next j
linha = ""
Next i
caminhobanco1.close
ANNICAROL,
Creio que sua solução realmente seja bem apropriedada.
Mais eu, PARTICULARMENTE, prefiro as vezes utilizar "Types" para este tipo de matriz, mantem o código mais organizado e fácil de se entender.
Segue um exemplo de Type, adaptando a sua necessidade.
Em um módulo:
Adaptando sua Rotina:
Creio que sua solução realmente seja bem apropriedada.
Mais eu, PARTICULARMENTE, prefiro as vezes utilizar "Types" para este tipo de matriz, mantem o código mais organizado e fácil de se entender.
Segue um exemplo de Type, adaptando a sua necessidade.
Em um módulo:
Type Teste
Campo1 As String
Campo2 As String
Campo3 As String
End Type
Adaptando sua Rotina:
Dim caminhobanc1 as New ADODB.Recorset
caminhobanc1.Open "Select * from Tabela01 order by Field1", bancocaminho1, adOpenForwardOnly, adLockReadOnly
Dim matrixbanco1() As Teste
ReDim matrixbanco1(caminhobanc1.RecordCount)
For i = 0 To caminhobanc1.RecordCount
matrixbanco1.Campo1 = caminhobanc1("Campo1")
matrixbanco1.Campo2 = caminhobanc1("Campo2")
matrixbanco1.Campo3 = caminhobanc1("Campo3")
Next i
caminhobanco1.close
Obrigada pela dica Marcelo, vou tentar implementá-la aqui!
Valeu!
[]'s
Valeu!
[]'s
Qualquer coisa, posta aÃÂÂ...
Agente vê o que consegue fazer.
Agente vê o que consegue fazer.
Tópico encerrado , respostas não são mais permitidas