VIEW NO ACCESS
Boa Tarde
Criei uma View dentro do Access, dai usei o comando Delete para excluir todos os dados da View.Dai os dados sao excluidos da View, como deveria ser, porem eles estao sendo excluidos tambem da tabela principal me deixando sem registro nenhum.
Isso e normal?
Obrigado e um Abraço
Criei uma View dentro do Access, dai usei o comando Delete para excluir todos os dados da View.Dai os dados sao excluidos da View, como deveria ser, porem eles estao sendo excluidos tambem da tabela principal me deixando sem registro nenhum.
Isso e normal?
Obrigado e um Abraço
Poste as linhas de código no tópico.
Obrigado por sua ajuda TECLA.
Na verdade resovi criar uma View porque nao consegui resolver um outro problema e mesmo que tivesse funcionado nao acho que seria a melhor maneira em programacao mas como preciso resolver o meu problema principal, resolvi tentar atraves da View e ainda sem sucesso.
Eu criei a View manualmente no Access,depois selecionei os registros desejados, deletei todos os registros da View, mandei gravar os novos registros.
**** Seleciono os registros desejados
strSelect = [Ô]Select TBCLI_ID,TBCLI_NOME,TBCLI_DATANASC,TBCLI_SOCIOSIM,TBCLI_SOCIONAO From Alunos[Ô]
strSelect = strSelect & [Ô] WHERE month(TBCLI_DATANASC) >=[Ô] & Month(CDate(MskInicio.Text))
strSelect = strSelect & [Ô] AND day(TBCLI_DATANASC) <=[Ô] & Day(CDate(MskFim.Text))
strSelect = strSelect & [Ô] ORDER BY TBCLI_DATANASC ASC[Ô]
With rsAlu
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.CacheSize = 50
.Source = strSelect
.ActiveConnection = Conexao
.Open
End With
*** Deleto todos os registros da View
strSelect = [Ô]DELETE from VISAO [Ô]
Conexao.Execute (strSelect)
***** Leio a Tabela Principal para jogar os registros do recordSet na View.
While Not rsAlu.EOF
*** Abro a View
strSelect = [Ô]Select * From VISAO[Ô]
With rsView
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.CacheSize = 50
.Source = strSelect
.ActiveConnection = Conexao
.Open
End With
rsView.AddNew
*** Gravo os registros da Tabela Principal na View
rsView!TBCLI_NOME = rsAlu!TBCLI_NOME
rsView!TBCLI_DATANASC = rsAlu!TBCLI_DATANASC
rsView!TBCLI_SOCIOSIM = CDbl([Ô]0[Ô] & rsAlu!TBCLI_SOCIOSIM)
rsView!TBCLI_SOCIONAO = CDbl([Ô]0[Ô] & rsAlu!TBCLI_SOCIONAO)
rsView.Update
rsView.Close
rsAlu.MoveNext
Wend
rsAlu.Close
Ao final, nao tenho nenhum registros gravado na View e todos os registros da outra tabela sao apagados.
Detalhe : Criei uma View da propria Tabela principal.Isso e possivel?
Obrigado e um Abraço
Na verdade resovi criar uma View porque nao consegui resolver um outro problema e mesmo que tivesse funcionado nao acho que seria a melhor maneira em programacao mas como preciso resolver o meu problema principal, resolvi tentar atraves da View e ainda sem sucesso.
Eu criei a View manualmente no Access,depois selecionei os registros desejados, deletei todos os registros da View, mandei gravar os novos registros.
**** Seleciono os registros desejados
strSelect = [Ô]Select TBCLI_ID,TBCLI_NOME,TBCLI_DATANASC,TBCLI_SOCIOSIM,TBCLI_SOCIONAO From Alunos[Ô]
strSelect = strSelect & [Ô] WHERE month(TBCLI_DATANASC) >=[Ô] & Month(CDate(MskInicio.Text))
strSelect = strSelect & [Ô] AND day(TBCLI_DATANASC) <=[Ô] & Day(CDate(MskFim.Text))
strSelect = strSelect & [Ô] ORDER BY TBCLI_DATANASC ASC[Ô]
With rsAlu
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.CacheSize = 50
.Source = strSelect
.ActiveConnection = Conexao
.Open
End With
*** Deleto todos os registros da View
strSelect = [Ô]DELETE from VISAO [Ô]
Conexao.Execute (strSelect)
***** Leio a Tabela Principal para jogar os registros do recordSet na View.
While Not rsAlu.EOF
*** Abro a View
strSelect = [Ô]Select * From VISAO[Ô]
With rsView
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.CacheSize = 50
.Source = strSelect
.ActiveConnection = Conexao
.Open
End With
rsView.AddNew
*** Gravo os registros da Tabela Principal na View
rsView!TBCLI_NOME = rsAlu!TBCLI_NOME
rsView!TBCLI_DATANASC = rsAlu!TBCLI_DATANASC
rsView!TBCLI_SOCIOSIM = CDbl([Ô]0[Ô] & rsAlu!TBCLI_SOCIOSIM)
rsView!TBCLI_SOCIONAO = CDbl([Ô]0[Ô] & rsAlu!TBCLI_SOCIONAO)
rsView.Update
rsView.Close
rsAlu.MoveNext
Wend
rsAlu.Close
Ao final, nao tenho nenhum registros gravado na View e todos os registros da outra tabela sao apagados.
Detalhe : Criei uma View da propria Tabela principal.Isso e possivel?
Obrigado e um Abraço
Cara, essas linhas:
strSelect = [Ô]DELETE from VISAO [Ô]
Conexao.Execute (strSelect)
Apagam todos os registros da tabela Visao
Tu executou uma sql direto na conexão pra apagar tudo
. . .
strSelect = [Ô]DELETE from VISAO [Ô]
Conexao.Execute (strSelect)
Apagam todos os registros da tabela Visao
Tu executou uma sql direto na conexão pra apagar tudo
. . .
Obrigado por sua ajuda
Na verdade eu realmente quero apagar todos os dados da Tabela Visao que e a View.
Mas os dados da tabela principal que gera ess View, tambem estao sendo apagados e isso eu nao quero.
Obrigado
Na verdade eu realmente quero apagar todos os dados da Tabela Visao que e a View.
Mas os dados da tabela principal que gera ess View, tambem estao sendo apagados e isso eu nao quero.
Obrigado
Cara.
Não localizaei no teu código nenhuma linha que possa estar deletando os registros da tabela alunos.
Acredito que no meio deste código que tu postou, deve haver alguma linha que tá deletando
tudo da tabela principal.
O que ajudaria, se tu concordasse, zip teu projeto e posta pra gente baixar e tentar localizar a linha que
tá matando o teu trampo.
Blz . . .
Cara se sua view ta carregando a tabela de aluno, eh normal que ao apagar os dados da view, ele apague os dados dos alunos, pois eh referenciado.
Eh a mesma coisa que se vc fizer uma consulta no acess e apagar os dados da consulta, o access vai apagar os dados da tabela da consulta.
Eh a mesma coisa que se vc fizer uma consulta no acess e apagar os dados da consulta, o access vai apagar os dados da tabela da consulta.
Tópico encerrado , respostas não são mais permitidas