ramon Postado Março 19, 2005 Denunciar Share Postado Março 19, 2005 Como alterar este codigo para ser apresentado numa listbox ou ser armazenado numa matriz pois não estou conseguindo alguém poderia me ajudar, pois sinceramente não conheco nada de banco de dados Private Sub Form_Load() Dim i As Integer Dim rsDesconectado As ADODB.Recordset Set rsDesconectado = New ADODB.Recordset rsDesconectado.Fields.Append "Time", adChar, 40 rsDesconectado.Fields.Append "Pontos", adInteger rsDesconectado.Fields.Append "SaldoGols", adInteger rsDesconectado.ActiveConnection = Nothing rsDesconectado.CursorLocation = adUseClient rsDesconectado.Open rsDesconectado.AddNew rsDesconectado("Time").Value = "Grêmio" rsDesconectado("Pontos") = 3 rsDesconectado("SaldoGols") = 1 rsDesconectado.AddNew rsDesconectado("Time").Value = "Santástico Futebol Show" rsDesconectado("Pontos") = 9 rsDesconectado("SaldoGols") = 13 rsDesconectado.AddNew rsDesconectado("Time").Value = "Juventude" rsDesconectado("Pontos") = 4 rsDesconectado("SaldoGols") = -3 rsDesconectado.AddNew rsDesconectado("Time").Value = "Caxias" rsDesconectado("Pontos") = 4 rsDesconectado("SaldoGols") = 1 rsDesconectado.Sort = ("Pontos desc, SaldoGols desc") Set MSHFlexGrid1.DataSource = rsDesconectado rsDesconectado.Close Set rsDesconectado = Nothing End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 19, 2005 Denunciar Share Postado Março 19, 2005 Existem diversas maneiras de se comportar os dados apresentados em um vetor ou em uma matriz. Seguem duas maneiras, sendo a primeira utilizando um tipo definido pelo usuário (Registro) e um vetor; a segunda já cria um vetor de vetores (o que pode ser considerada uma matriz):'No General Declarations do Form (ou em um módulo, trocando o "Private" por "Public") Private Type Registro Time As String Pontos As Integer SaldoGols As Integer End Type 'Criando o vetor e preenchendo-o Dim dados(3) As Registro dados(0).Time = "Grêmio" dados(0).Pontos = 3 dados(0).SaldoGols = 1 dados(1).Time = "Santástico Futebol Show" dados(1).Pontos = 9 dados(1).SaldoGols = 13 dados(2).Time = "Juventude" dados(2).Pontos = 4 dados(2).SaldoGols = -3 dados(3).Time = "Caxias" dados(3).Pontos = 4 dados(3).SaldoGols = 1 dados = Array(Array("Grêmio", 3, 1), _ Array("Santástico Futebol Show", 9, 13), _ Array("Juventude", 4, -3), _ Array("Caxias", 4, 1))Certo? Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ramon Postado Março 19, 2005 Autor Denunciar Share Postado Março 19, 2005 Não eu quero em vez de apresentar os dados numa MSHFlexGrid1.DataSource passar ela para uma matrizComo alterar esta parte do codigo Set MSHFlexGrid1.DataSource = rsDesconectado rsDesconectado.Close Set rsDesconectado = Nothing Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 screech Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 Lembrando que o Internacional ficará em 1º lugar!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 Não eu quero em vez de apresentar os dados numa MSHFlexGrid1.DataSource passar ela para uma matrizComo alterar esta parte do codigo Set MSHFlexGrid1.DataSource = rsDesconectado rsDesconectado.Close Set rsDesconectado = Nothing Ah sim, perdão. Não tinha entendido o que você queria. Mas, então, é só fazer: Dim dados() quantidade = 0 With rsDesconectado .MoveFirst Do While Not .EOF ReDim v(.Fields.Count - 1) qt = 0 For Each f In .Fields v(qt) = f.Value qt = qt + 1 Next f ReDim Preserve dados(quantidade) dados(quantidade) = v quantidade = quantidade + 1 .MoveNext Loop End WithNo lugar de "Set MSHFlexGrid1.DataSource = rsDesconectado" e você terá a matriz dados preenchida (igual ao segundo exemplo do meu outro post).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ramon Postado Março 20, 2005 Autor Denunciar Share Postado Março 20, 2005 Cara não funcionou aquiColoquei o Debug.print para testar o que tem dentro da matriz dados e da erro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 Cara não funcionou aquiColoquei o Debug.print para testar o que tem dentro da matriz dados e da erro Como você fez? Lembre-se que é um vetor de vetores e não uma matriz propriamente. Eu fiz o teste assim: For Each informação In dados For Each dado In informação Debug.Print dado Next dado Next informaçãoAbraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ramon Postado Março 20, 2005 Autor Denunciar Share Postado Março 20, 2005 Sim agora funcionouGostaria claro se fose possivel uma breve explicação dos codigos que você postou For Each informação In dados For Each dado In informação Debug.Print dado Next dado Next informaçãoO que o each e o in fazem Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 Sim agora funcionouGostaria claro se fose possivel uma breve explicação dos codigos que você postou For Each informação In dados For Each dado In informação Debug.Print dado Next dado Next informaçãoO que o each e o in fazemO For Each... Next é uma alternativa (mais pragmática na utilização, na minha opinião) ao For... Next (eu simplesmente não conseguiria viver sem o For Each... ).Para esclarecimentos sobre o For Each... Next, dê uma olhada neste post (do meio para baixo): http://scriptbrasil.com.br/forum/index.php...=0entry249402Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ramon Postado Março 20, 2005 Autor Denunciar Share Postado Março 20, 2005 Ok!você teria alguma sugestão em vez de usar um banco de dados desconectado para organizar a posicoes dos meus times usar algum outro meio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 20, 2005 Denunciar Share Postado Março 20, 2005 Ok!você teria alguma sugestão em vez de usar um banco de dados desconectado para organizar a posicoes dos meus times usar algum outro meio Não... aliás, acho que esta já é uma ótima forma (utilizando Recordsets desconectados).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ramon Postado Abril 18, 2005 Autor Denunciar Share Postado Abril 18, 2005 Com que eu faria para remover os dados do banco de dados pois preciso fazer um laco de 4 vezes sendo que cada vez eu terei que apagar os dados que forem guardadosPois tenho 4 divisoes de 10 times então entro com os 10 primeiros valores faco o sorteio apresento ela na 1°listbox agora quero apagar os valores do bd para entrar os novos 10 valores que sera apresentado na 2° listboxBom resumindo so presizo saber como apagar os valores para depois colocar outros Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 18, 2005 Denunciar Share Postado Abril 18, 2005 Com que eu faria para remover os dados do banco de dados pois preciso fazer um laco de 4 vezes sendo que cada vez eu terei que apagar os dados que forem guardadosPois tenho 4 divisoes de 10 times então entro com os 10 primeiros valores faco o sorteio apresento ela na 1°listbox agora quero apagar os valores do bd para entrar os novos 10 valores que sera apresentado na 2° listboxBom resumindo so presizo saber como apagar os valores para depois colocar outros Qual BD???? Você não está utilizando recordsets *desconectados*??? No caso acima, basta destruir o recordset (o que já é feito no final rotina) e criá-lo novamente ao chamar a rotina (o que já é feito no começo dela).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ramon Postado Abril 18, 2005 Autor Denunciar Share Postado Abril 18, 2005 então basta repetir o processo colcando um laco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 18, 2005 Denunciar Share Postado Abril 18, 2005 então basta repetir o processo colcando um laco Basicamente sim. Você só vai ter que colocar assim:for blábláblá Set rsDesconectado = New ADODB.Recordset '... restante da rotina Porque é naquela linha ali que ele vai criar o objeto.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ramon Postado Abril 18, 2005 Autor Denunciar Share Postado Abril 18, 2005 beleza valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ramon
Como alterar este codigo para ser apresentado numa listbox ou ser armazenado numa matriz pois não estou conseguindo
alguém poderia me ajudar, pois sinceramente não conheco nada de banco de dados
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.