Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edbizzi

VB Editando Recordsets

Recommended Posts

PessoalTenho um programa em VB que acessa uma base de dados Firebird via ODBC.Tudo ok e funcionando.Agora surgiu a necessidade de eu alterar os dados em um dos recordsets que criei alterando o campo VALOR para um novo valor multiplicado por um indice (conversão de moeda).Mas recebo uma mensagem de erro que o recordset não pode ser alterado pois ele é proveniente de uma select que envolve várias tabelas na clausula "from".Será que o problema pode ser porque o recordset é conectado? Não posso alterar os dados de um recordset que esteja conectado?Na criação do recordset ele está como keyset e lock otimista.Alguém sabe me ajudar como fazer isso?Antecipadamente, muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não pode fazer o update em duas tabelas ao mesmo tempo ok.

LipeObrigado pelo retorno.Acho que não estou entendendo alguma coisa, ou não entendo de recordsets (creio que ambas afirmações são verdadeiras :rolleyes: )Não quero fazer update em 2 tabelas simultaneamente.Sempre achei que quando crio um recordset (mesmo que sendo uma consulta - select - oriunda de outras tabelas), este recordset é um objeto independente das tabelas....E que, portanto, eu poderia alterá-lo a qualquer momento.Suponhamos o seguinte exemploTABELA PEDIDOTABELA CLIENTERECORDSET : SELECT PEDIDO.NUMERO, PEDIDO. VALOR, CLIENTE.NOME_DO_CLIENTE FROM PEDIDO, CLIENTE WHERE BLA BLA BLA BLADepois de preeenchido o recordset com os dados da select acima, não posso mexer nesse conjunto de dados(recordset)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Interessante, também achava que seria possível fazer o que deseja, mas pelo erro retornado acho que não.Mas se for analisar, pelo SQL não é possível também executar um update envolvendo duas tabelas, correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Interessante, também achava que seria possível fazer o que deseja, mas pelo erro retornado acho que não.Mas se for analisar, pelo SQL não é possível também executar um update envolvendo duas tabelas, correto?

A idéia que tenho é a seguinte(não estou me atendo à sintaxe...):TABELA PEDIDO: numero e valorTABELA CLIENTE: codigo, nomeMinhaQuery= "SELECT PEDIDO.NUMERO, PEDIDO. VALOR, CLIENTE.NOME FROM PEDIDO, CLIENTE WHERE BLA BLA BLA "...rs.open, MinhaQuery adopenkeyset, optimist With rs.recordsetrs.movefirstWhile not .eof .fields("valor") = .fields("valor") * 2,2 .update .movenextWendNão é possível ?!Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.