Ir para conteúdo

POWERED BY:

Arquivado

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

paulojorge3l

Inserir Dados em uma Tabela e Automaticamente Grava o ID em Outra Tabe

Recommended Posts

Galera aqui estou eu com mais uma pergunta ..... estava com um proplema para gravar dados em duas tabelas em partes dei conta de resolver mais vamos por parte segue abaixo meu SQL para alguem me ajudar preciso que quando gravar na tabela leitura o proximo INSERT recupere o valor de ID atribuido ao ultimo registro gravado no banco ai q mora a duvida alguem sabe como posso colocar isso ai no Codigo Obrigado ......<% Response.expires = 0Response.Buffer=TrueSet conn = Server.CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(".mdb")IDUG = Request("UG")DATA = Request("DATA")HORA = Request("HORA")sql = "INSERT INTO LEITURA (IDUG, DATA, HORA) VALUES ('"& IDUG &"', '"& DATA &"', '"& HORA &"') " Set Rs = Conn.Execute(SQL)IDLEITURA = Request("????? ") <<< ==== Aqui mora a Duvida .... :wacko: UG = Request("UG")PA = Request("PA")sql = "INSERT INTO VALORES (IDLEITURA, UG, PA) VALUES ('"& IDLEITURA &"', '"& UG &"', '"& PA &"') " Set Rs = Conn.Execute(SQL)Response.Redirect("../ok.ASP?erro=no")rs.closeset rs = nothingconn.closeset conn=nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eita.. no access...

será q funciona o camando do sql @@IDENTITY???? acho q não né...

mas procura na net q vai ter algo q você consiga usar q seja semelhante.. todas as bases tem isso.. não é possível q o access não tenha..heehhe.. mas por enquanto... você pode usar um SELECT q pega o ultimo e tenha todos os parametros q você passou...

 

sql = "INSERT INTO LEITURA (IDUG, DATA, HORA) VALUES ('"& IDUG &"', '"& DATA &"', '"& HORA &"') " Set Rs = Conn.Execute(SQL)sql = "SELECT MAX(ID) ULTIMO FROM LEITURA WHERE IDUG='"& IDUG &"' AND DATA='"& DATA &"' AND HORA='"& HORA &"'" Set Rs = Conn.Execute(SQL)IDLEITURA = rS(0)

Compartilhar este post


Link para o post
Compartilhar em outros sites

A melhor solução é a que foi passada pelo Ska_Ska.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que a solução mais adequada é utilizar os métodos do recordset, veja abaixo o exemplo

objRs.Open "NomeDaTabela",objConexao,1,3,2objRs.AddNewObjRs("NomeDoCampo") = ValorCampoobjRs("NomedoCampo2")  = ValorDoCampo2objRs.UpdateMeuID = objRs("id")  ''''Aqui, como já demos o Update, já temos o ID que foi incrementado automaticamente.objRs.Close

Compartilhar este post


Link para o post
Compartilhar em outros sites
Acho que a solução mais adequada é utilizar os métodos do recordset, veja abaixo o exemplo

objRs.Open "NomeDaTabela",objConexao,1,3,2
objRs.AddNew
ObjRs("NomeDoCampo") = ValorCampo
objRs("NomedoCampo2")  = ValorDoCampo2
objRs.Update
MeuID = objRs("id")  ''''Aqui, como já demos o Update, já temos o ID que foi incrementado automaticamente.
objRs.Close

Rapaz, usei isso num sisteminha de enquete de exemplo para um desafio e acabei esquecendo disso. Muito mais rápido de se usar.

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.