Boa tarde pessoal, recorro mais uma vez a este forum para pedir ajuda...
tenho 3 tabelas: veiculos (chave id_veiculo), condutores (chave id_CONDUTOR) e seguros (possui id_condutor e id_veiculo)
atraves de formularios, toda vez que for alterado o condutor no cadastro do veiculo preciso que inclua na tabela de seguros um novo registro com a informação do novo condutor, porem, existem alguns dados do ultimo registro que deve ser copiado...
para isso crie algumas variaveis: novoconcutor, velhocondutor, id_placa
no evento AfterUpdate do campo 'condutor' carrego a variavel velhocondutor
no evento click do botão salvar carrego a variavel tb campo 'condutor'
- criei uma sub que vai fazer conexoes com as tabelas e fazer loop com if
achei o registro da placa alterada e fiz inclusão de resgistro somente quando o condutor for diferente, mas não consegui achar tb o ultimo registro da tabela seguros
espero que alguem me ajude...
um grande abraço
sidney
do Until Rs.EOF
If Rs!id_placa = lngplaca And Rs!id_condutor <> lngoldcondutor Then
placa = Rs!placa
DoCmd.RunSQL ("INSERT INTO tbl_veiculo_historico (id_placa,data,condutor,situacao) VALUES (' " & lngplaca & " ',Now(),' " & lngoldcondutor & " ','Data Final')") 'texto no sql deve ser entre aspas simples
DoCmd.RunSQL ("INSERT INTO tbl_veiculo_historico (id_placa,data,condutor,situacao) VALUES (' " & lngplaca & " ',Now(),' " & lngcondutor & " ','Data Inicial')")
' DoCmd.RunSQL ("insert into tbl_seguros (id_placa2,dtinicio,id_condutor,endosso,situacao) values (' " & lngplaca & " ',now(),' " & lngcondutor & " ',true,'5')")
Do Until rs2.EOF
If rs2!id_condutor = lngoldcondutor Then
condutor_antigo = rs2!nome
ElseIf rs2!id_condutor = lngcondutor Then
condutor = rs2!nome
End If
rs2.MoveNext
Loop
Call EnviarEmail
Do Until rs3.EOF
If rs3!id_placa2 = lngplaca Then
item = rs3!item
apolice = rs3!apolice
End If
rs3.MoveNext
Loop
End If
Rs.MoveNext
Loop
tenho 3 tabelas: veiculos (chave id_veiculo), condutores (chave id_CONDUTOR) e seguros (possui id_condutor e id_veiculo)
atraves de formularios, toda vez que for alterado o condutor no cadastro do veiculo preciso que inclua na tabela de seguros um novo registro com a informação do novo condutor, porem, existem alguns dados do ultimo registro que deve ser copiado...
para isso crie algumas variaveis: novoconcutor, velhocondutor, id_placa
no evento AfterUpdate do campo 'condutor' carrego a variavel velhocondutor
no evento click do botão salvar carrego a variavel tb campo 'condutor'
- criei uma sub que vai fazer conexoes com as tabelas e fazer loop com if
achei o registro da placa alterada e fiz inclusão de resgistro somente quando o condutor for diferente, mas não consegui achar tb o ultimo registro da tabela seguros
espero que alguem me ajude...
um grande abraço
sidney
do Until Rs.EOF
If Rs!id_placa = lngplaca And Rs!id_condutor <> lngoldcondutor Then
placa = Rs!placa
DoCmd.RunSQL ("INSERT INTO tbl_veiculo_historico (id_placa,data,condutor,situacao) VALUES (' " & lngplaca & " ',Now(),' " & lngoldcondutor & " ','Data Final')") 'texto no sql deve ser entre aspas simples
DoCmd.RunSQL ("INSERT INTO tbl_veiculo_historico (id_placa,data,condutor,situacao) VALUES (' " & lngplaca & " ',Now(),' " & lngcondutor & " ','Data Inicial')")
' DoCmd.RunSQL ("insert into tbl_seguros (id_placa2,dtinicio,id_condutor,endosso,situacao) values (' " & lngplaca & " ',now(),' " & lngcondutor & " ',true,'5')")
Do Until rs2.EOF
If rs2!id_condutor = lngoldcondutor Then
condutor_antigo = rs2!nome
ElseIf rs2!id_condutor = lngcondutor Then
condutor = rs2!nome
End If
rs2.MoveNext
Loop
Call EnviarEmail
Do Until rs3.EOF
If rs3!id_placa2 = lngplaca Then
item = rs3!item
apolice = rs3!apolice
End If
rs3.MoveNext
Loop
End If
Rs.MoveNext
Loop