TABELAS

USUARIO.EXCLUIDOS 19/11/2004 11:03:37
#51075
Gente tenho duas tabelas , tabela 1 e tabela 2 em access
gostaria de fazer que os dados da tabela2 copie determinado registro da tabela1.

estou fazendo assim:

Sql = "select * tabela1 where campo = '" & text1.text & "'"

ado.recordsource = sql

mas ele não joga os dados que selecionei na tabela 2
esse ado que estou usando não é o mesmo que uso na tabela1 cada tabela tem seu ado.
USUARIO.EXCLUIDOS 19/11/2004 12:27:45
#51091
se vc quer pegar o registro de uma tabela e colocar em outra
use insert select
tipo..insert into tabela1(campo1,campo2) select campo1,campo2 from tabela2
where condição

O campo1 e o campo 2 não precisam ser iguais nas duas tabelas..nem o tipo do dado pois vc pode converter na passagem.
USUARIO.EXCLUIDOS 20/11/2004 10:21:39
#51245
Explica melhor o que vc quer fazer...nome da tabela, campos....pra qual tabela vai..campos..e eu te monto o insert select..caso seja este seu problema...passar dados de um tabela pra outra.
USUARIO.EXCLUIDOS 20/11/2004 11:38:57
#51249
Tá vamos lá....pra começar este sql que vc fez só faz um select na tab_orca com numeroetiqueta igual ao valor digitado no textbox..nada mais do que isso.
Pelo que estou ententendo vc utiliza o controle ado do vb. Eu não uso controles vinculados ao banco diretamente. Talvez alguém aqui do forum possa te ajudar melhor com controles vinculados diretamente ao banco. Mas utilizando o ado (não o controle e sim a referencia..adodb.recordset, adodb.connection .) ficaria desta maneira.

dim cn as adodb.connection
dim sql as string
set cn = new adodb.connection
sql = "insert into tab_baixa(campo1,campo2,campo3....) select
campo1,campo2,campo3.... from tab_orca where numeroetiqueta = '" & txt_cod.text & "'"
cn.execute (sql)
sql = "delete from tab_orca where numeroetiqueta = '" & txt_cod.text & "'"
cn.execute (sql)
cn.close
set cn = nothing

desta maneira vc irá passar pra tabela tab_baixa todos as linhas da tab_orca
que tiverem numeroetiqueta igual ao valor digitado no text_box e logo depois as linhas são excluidas da tab_orca

é um exemplo bem básico, pois neste caso vc pode trabalhar com tratamento de erros(e até talvez transação..tomando cuidado com concorrencia), pra que caso não se consiga inserir na tabela tab_baixa (primeiro sql)..não se faça o segundo sql(eliminação das linhas)...Se vc utilizar o sql server uma coisa legal seria uma trigger pra excluir as linhas após a inclusão...ou fazer todo o processo em uma proc com transaction.

Espero ter entendido o problemas e ter ajudado...
abraços
USUARIO.EXCLUIDOS 20/11/2004 11:41:36
#51250
Resposta escolhida
OPs....no código faltou a connectionstring e o open..lá vai

dim cn as adodb.connection
dim sql as string
set cn = new adodb.connection
cn.connectionstring = "sua string de conexao"
cn.open
sql = "insert into tab_baixa(campo1,campo2,campo3....) select
campo1,campo2,campo3.... from tab_orca where numeroetiqueta = '" & txt_cod.text & "'"
cn.execute (sql)
sql = "delete from tab_orca where numeroetiqueta = '" & txt_cod.text & "'"
cn.execute (sql)
cn.close
set cn = nothing





USUARIO.EXCLUIDOS 20/11/2004 13:08:03
#51260
Vc tem que montar sua string de conexão...Não sou a melhor pessoa pra te falar de conexão em acccess..mas montei um udl aqui usando o jet4..ficaria assim
cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:    este.mdb;Persist Security Info=False"
aonde esta C:    este.mdb..troque pelo caminho do seu mdb
Tópico encerrado , respostas não são mais permitidas