USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Collections, alterar um item
dieimes_
CAXIAS DO SUL
RS - BRASIL
ENUNCIADA !
Postada em 14/08/2007 12:00 hs            
Bom dia
Pessoal, estou tendo dificuldades em alterar um item de uma coleção, por exemplo:
Em cada item eu tenho um array que representam os campos de um banco de dados, mas quando eu tento alterar esse item, ele simplesmente n altera.Ex.:
 
MinhaCollection.Item(NumeroDoItem)=array(campo1,campo2,...)
 
e continua com o valor antigo.
Estou fazendo algo errado?
 
Grato...
 
 
 
   
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 14/08/2007 13:28 hs         
Quando vc adiciona um item à uma collection, vc tem a possibilidade de especificar um key, que no seu caso pode ser o nome da tabela.
Para o seu caso específico cada ítem pode ser a tabela em si, ou seja:
Minhacollection.add rs.fields, "nome da tabela"

Assim, cada ítem vai ter os campos da tabela, e vc pode se referir à eles com o nome da tabela:
msgbox minhacollection("nome da tabela").Fields("nome do campo").Value
ou ainda
msgbox minhacollection("nome da tabela").Fields("nome do campo").type

e assim por diante
   
dieimes_
CAXIAS DO SUL
RS - BRASIL
ENUNCIADA !
Postada em 14/08/2007 14:09 hs            
Obrigado por responder....
 
Realmente essa aí é uma boa idéia, mas no meu caso aqui não funcionaria. Eu fiz assim, Tenho um objeto de cadastro, que, cada vez que eu troco de registro, ele acessa uma classe de  dependentes, e preenche os itens da collection, sendo que cada item representa um registro. Dentro desse registro, eu tenho um array com os campos. Eu já fiz praticamente todas as rotinhas: Inclusão, Exclusão, Consulta. A única rotina que não está dando certo é a atualização. Pois, por um motivo que eu desconheço eu não consigo modificar os valores que estão na collection.  
    O problema é que todas as rotinas funcionam perfeitamente, com excessão da atualização. Eu poderia fazer ela de outra maneira, mas dae, teria de modificar toda a classe, em função de uma só rotina.
   
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 14/08/2007 17:26 hs         
Pra te ajudar mais, só olhando um pedaço do código pra ver o erro.
   
dieimes_
CAXIAS DO SUL
RS - BRASIL
ENUNCIADA !
Postada em 14/08/2007 17:43 hs            
Essa é a parte do código que uso pra atualizar os itens da collection.
Obs.: "Dependente" é  uma propriedade que logo, passará os dados para a collection. No entanto, já testei direto na collection definida como public e não atualizou igual.
 
 
If Not AdicionarNovoDependente Then
        If Not IsNull(TxtNomeDependente.Text) Then ObjDependentes.Dependente(ListaDependentes.ListIndex + 1)(0) = TxtNomeDependente.Text
        If Not IsNull(MskDependenteNascimento.Text) Then ObjDependentes.Dependente(ListaDependentes.ListIndex + 1)(1) = MskDependenteNascimento.Text
        If Not IsNull(TxtDependenteDocumento.Text) Then ObjDependentes.Dependente(ListaDependentes.Text)(2) = TxtDependenteDocumento.Text
        If Not IsNull(CmbDependenteParente.Text) Then ObjDependentes.Dependente(ListaDependentes.ListIndex + 1)(3) = CmbDependenteParente.Text
      
       
        ListaDependentes.Text = TxtNomeDependente.Text
       
    Else
        ObjDependentes.Dependente.Add Array(TxtNomeDependente.Text, MskDependenteNascimento.Text, TxtDependenteDocumento.Text, CmbDependenteParente.Text)
        ListaDependentes.AddItem TxtNomeDependente
    End If
    AdicionarNovoDependente = False
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página