GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Caixa de Listagem - Gravar em outra Tabela
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Júnior

postado
Boa tarde,

Possuo uma caixa de listagem com seleção múltipla com nomes de CLIENTES provenientes da tabela TBLBACKLOG, gostaria de salvar as seleções na tabela TBLCLIENTES. Estou utilizando o código abaixo, mas o que ocorre é que os nomes estão sendo gravados na TBLCLIENTES como nulo, ou seja, se eu selecionar 10 clientes, são gravados 10 registros em branco na tabela.

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb()
Set rs = db.OpenRecordset("tblclientes")

With rs
rs.AddNew
If Me.Lista1 <> "" Then rs("CLIENTES") = Me.Lista1
rs.Update
End With

rs.Close

Grata
Janette
 
Postagens: 111 | Registrado: 19 April 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Analista Sênior

Figura de  Cláudio Más
postado Hide Post
Oi Janette, acho que a caixa de listagem não armazena seleções múltiplas. Então vc teria que selecionar e gravar um nome de cada vez. Verifique também a coluna acoplada da caixa de listagem, se é a coluna do nome do CLIENTE, pois é esta que estaria sendo gravada. A não ser que vc use rs("CLIENTES") = Me.Lista1.Column(x), onde x seria o número da coluna com o nome do cliente (a contagem das colunas inicia em zero).


***********************************
If you think education expensive, try ignorance
A.C.W. Elliot
 
Postagens: 1761 | Localização: Rio de Janeiro | Registrado: 16 September 2004Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Júnior

postado Hide Post
Oi Claudio,

Eu alterei a linha para:
If Me.Lista1.Column(0) <> "" Then rs("CLIENTES") = Me.Lista1.Column(0)
e gravou na tabela, mas realmente só grava um por vez. Vc não sabe se existe uma maneira de gravar por seleção ou um outro jeito de eu fazer? Pois a lista de Clientes é enorme!

Obrigada
Janette
 
Postagens: 111 | Registrado: 19 April 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Analista Sênior

Figura de  Cláudio Más
postado Hide Post
Janette, o ideal seria mesmo com seleções múltiplas em caixa de listagem. Mas se não tiver como, eu usaria na tabela um campo Incluir do tipo Sim/Não e trocaria a caixa de listagem por um sub-formulário com os campos Cliente e Incluir. Depois usaria uma consulta acréscimo com critério Incluir = Sim, para gravar na outra tabela os nomes selecionados .


***********************************
If you think education expensive, try ignorance
A.C.W. Elliot
 
Postagens: 1761 | Localização: Rio de Janeiro | Registrado: 16 September 2004Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Júnior

postado Hide Post
Oi Claudio,

Como é um trabalho para o presidente da minha empresa eu quis "caprichar", mas já estou há dias nisto! Portanto estou fazendo como vc me disse, criei um campo SELECAO, tipo SIM/NÃO acoplei a tabela a um formulário contínuo, e farei a Consulta Acréscimo para a nova tabela, como critério SIM.

Obrigada pela ajuda!!!
 
Postagens: 111 | Registrado: 19 April 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Analista Sênior

Figura de  Cláudio Más
postado Hide Post
De nada Janette, disponha!
Feliz


***********************************
If you think education expensive, try ignorance
A.C.W. Elliot
 
Postagens: 1761 | Localização: Rio de Janeiro | Registrado: 16 September 2004Reply With QuoteEditar ou Apagar MensagemReport This Post
Iniciante

postado Hide Post
Oi Janete, não tenho certeza se entendi, mas acho que esse código faz o que você está querendo. A maior parte foi retirado aqui do fórum.
Este código procura na ListBox lstDest todos os itens selecionados e salva-os em tblAlim.

Public Sub InsDadosTbl()
Dim varItem As Variant
Dim ctl As Control
Set ctl = Me.lstDest

Dim DBS As Database
Dim rst As Recordset
Set DBS = CurrentDb
Set rst = DBS.OpenRecordset("tblAlim")

With rst
For Each varItem In ctl.ItemsSelected
.AddNew
rst!CodigoPreso = ctl.Column(0, varItem)
'rst!Cela = ctl.Column(1, varItem) indique aqui mais colunas
.Update
Next varItem
.Close
End With
End Sub

Legal
 
Postagens: 1 | Registrado: 22 January 2006Reply With QuoteEditar ou Apagar MensagemReport This Post
 Tópico Anterior | Próximo Tópico Powered by Eve For Enterprise  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Caixa de Listagem - Gravar em outra Tabela

©