Ir para conteúdo
Fórum Script Brasil
  • 0

Atualizando Banco De Dados


duaurocan

Pergunta

AMIGOS, GOSTARIA DE SABER COMO PROCEDER EM ALGUNS CASOS:

VOU ALTUALIZR UM BANCO DE DADOS E O CLIENTE ATUALIZAÇA ELE CONTANTEMENTE, QUERIA PEGAR UMA COPIA ATUALIZA-LO, CONFORME SEU PEDIDO DEPOIS QUANDO FOR ENTREGA-LO COPIAS AS TABELAS DELE PARA O ATUALIZADO.

FIZ UM TESTE E PARECE QUE NÃO ACEITA SUBISTITUIR AS TABELAS DEVIDO AOS RELACIONAMENTOS.

COMO DEVO PROCEDER NESSA OCASIÃO?????

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
AMIGOS, GOSTARIA DE SABER COMO PROCEDER EM ALGUNS CASOS:

VOU ALTUALIZR UM BANCO DE DADOS E O CLIENTE ATUALIZAÇA ELE CONTANTEMENTE, QUERIA PEGAR UMA COPIA ATUALIZA-LO, CONFORME SEU PEDIDO DEPOIS QUANDO FOR ENTREGA-LO COPIAS AS TABELAS DELE PARA O ATUALIZADO.

FIZ UM TESTE E PARECE QUE NÃO ACEITA SUBISTITUIR AS TABELAS DEVIDO AOS RELACIONAMENTOS.

COMO DEVO PROCEDER NESSA OCASIÃO?????

alguém sabe como posso fazer essa atualização, por favor !!!!!!srsrrsrsr

Link para o comentário
Compartilhar em outros sites

  • 0
huauhaa...cara, não entendi nada...

dá pra explicar melhor?

Mestre, vou explicar melhor!

Atualizei um banco que tem 2 tabelas principais, clientes e emitentes, é um sistema de cobrança!

Realizei um update nesse banco, mas a pessoa cadastra dados diariamente, tive que copiar a tabela

do dia que fui entregar e refazer todos os relacionamentos, pois exportei a tabelas, mas o access

dizia que não podia substituir as tabelas devido aos relacionamentos.

Minha divida, é como fazer essa troca de dados mais facilmente.

Isso é possivel, ou tem que ser desse jeito mesmo?????

Link para o comentário
Compartilhar em outros sites

  • 0
AMIGOS, GOSTARIA DE SABER COMO PROCEDER EM ALGUNS CASOS:

VOU ALTUALIZR UM BANCO DE DADOS E O CLIENTE ATUALIZAÇA ELE CONTANTEMENTE, QUERIA PEGAR UMA COPIA ATUALIZA-LO, CONFORME SEU PEDIDO DEPOIS QUANDO FOR ENTREGA-LO COPIAS AS TABELAS DELE PARA O ATUALIZADO.

FIZ UM TESTE E PARECE QUE NÃO ACEITA SUBISTITUIR AS TABELAS DEVIDO AOS RELACIONAMENTOS.

COMO DEVO PROCEDER NESSA OCASIÃO?????

alguém sabe como posso fazer essa atualização, por favor !!!!!!srsrrsrsr

Este procedimento deve ser feito via código DAO.

Se você substituir uma tabela por outra causará inconsistencia de dados e terá problemas com relacionamentos e muitos outros que virão. Qualquer mudificação deve ser feito DAO visto que esta linguagem tem todos os objetos necessarios de acesso a dados.

Link para o comentário
Compartilhar em outros sites

  • 0
AMIGOS, GOSTARIA DE SABER COMO PROCEDER EM ALGUNS CASOS:

VOU ALTUALIZR UM BANCO DE DADOS E O CLIENTE ATUALIZAÇA ELE CONTANTEMENTE, QUERIA PEGAR UMA COPIA ATUALIZA-LO, CONFORME SEU PEDIDO DEPOIS QUANDO FOR ENTREGA-LO COPIAS AS TABELAS DELE PARA O ATUALIZADO.

FIZ UM TESTE E PARECE QUE NÃO ACEITA SUBISTITUIR AS TABELAS DEVIDO AOS RELACIONAMENTOS.

COMO DEVO PROCEDER NESSA OCASIÃO?????

alguém sabe como posso fazer essa atualização, por favor !!!!!!srsrrsrsr

Este procedimento deve ser feito via código DAO.

Se você substituir uma tabela por outra causará inconsistencia de dados e terá problemas com relacionamentos e muitos outros que virão. Qualquer mudificação deve ser feito DAO visto que esta linguagem tem todos os objetos necessarios de acesso a dados.

Mestre, como funciona esse codigo DAO ??? será que consigo usar???

Link para o comentário
Compartilhar em outros sites

  • 0
AMIGOS, GOSTARIA DE SABER COMO PROCEDER EM ALGUNS CASOS:

VOU ALTUALIZR UM BANCO DE DADOS E O CLIENTE ATUALIZAÇA ELE CONTANTEMENTE, QUERIA PEGAR UMA COPIA ATUALIZA-LO, CONFORME SEU PEDIDO DEPOIS QUANDO FOR ENTREGA-LO COPIAS AS TABELAS DELE PARA O ATUALIZADO.

FIZ UM TESTE E PARECE QUE NÃO ACEITA SUBISTITUIR AS TABELAS DEVIDO AOS RELACIONAMENTOS.

COMO DEVO PROCEDER NESSA OCASIÃO?????

alguém sabe como posso fazer essa atualização, por favor !!!!!!srsrrsrsr

Este procedimento deve ser feito via código DAO.

Se você substituir uma tabela por outra causará inconsistencia de dados e terá problemas com relacionamentos e muitos outros que virão. Qualquer mudificação deve ser feito DAO visto que esta linguagem tem todos os objetos necessarios de acesso a dados.

Mestre, como funciona esse codigo DAO ??? será que consigo usar???

você tem que usar UPDATE:

Exemplo dos métodos Update e CancelUpdate (VB)

Este exemplo mostra o método Update junto com o método CancelUpdate.

Public Sub UpdateX()

Dim rstEmployees As ADODB.Recordset

Dim strOldFirst As String

Dim strOldLast As String

Dim strMessage As String

' Abrir conjunto de registros com nomes da tabela Employees.

strCnn = "Provider=sqloledb;" & _

"Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "

Set rstEmployees = New ADODB.Recordset

rstEmployees.CursorType = adOpenKeyset

rstEmployees.LockType = adLockOptimistic

rstEmployees.Open "SELECT fname, lname " & _

"FROM Employees ORDER BY lname", strCnn, , , adCmdText

' Armazenar dados originais.

strOldFirst = rstEmployees!fname

strOldLast = rstEmployees!lname

' Alterar dados no buffer de edição.

rstEmployees!fname = "Linda"

rstEmployees!lname = "Kobara"

' Mostrar conteúdo do buffer e obter entrada do usuário.

strMessage = "Edit in progress:" & vbCr & _

" Original data = " & strOldFirst & " " & _

strOldLast & vbCr & " Data in buffer = " & _

rstEmployees!fname & " " & rstEmployees!lname & vbCr & vbCr & _

"Use Update to replace the original data with " & _

"the buffered data in the Recordset?"

If MsgBox(strMessage, vbYesNo) = vbYes Then

rstEmployees.Update

Else

rstEmployees.CancelUpdate

End If

' Mostrar os dados resultantes.

MsgBox "Data in recordset = " & rstEmployees!fname & " " & _

rstEmployees!lname

' Restaurar dados originais porque isso é uma demonstração.

If Not (strOldFirst = rstEmployees!fname And _

strOldLast = rstEmployees!lname) Then

rstEmployees!fname = strOldFirst

rstEmployees!lname = strOldLast

rstEmployees.Update

End If

rstEmployees.Close

End Sub

Este exemplo mostra o método Update junto com o método AddNew.

Public Sub UpdateX2()

Dim cnn1 As ADODB.Connection

Dim rstEmployees As ADODB.Recordset

Dim strEmpID As String

Dim strOldFirst As String

Dim strOldLast As String

Dim strMessage As String

' Abrir uma conexão.

Set cnn1 = New ADODB.Connection

strCnn = "Provider=sqloledb;" & _

"Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "

cnn1.Open strCnn

' Abrir conjunto de registros com dados da tabela Employees.

Set rstEmployees = New ADODB.Recordset

rstEmployees.CursorType = adOpenKeyset

rstEmployees.LockType = adLockOptimistic

rstEmployees.Open "employee", cnn1, , , adCmdTable

rstEmployees.AddNew

strEmpID = "B-S55555M"

rstEmployees!emp_id = strEmpID

rstEmployees!fname = "Bill"

rstEmployees!lname = "Sornsin"

' Mostrar conteúdo do buffer e obter entrada do usuário.

strMessage = "AddNew in progress:" & vbCr & _

"Data in buffer = " & rstEmployees!emp_id & ", " & _

rstEmployees!fname & " " & rstEmployees!lname & vbCr & vbCr & _

"Use Update to save buffer to recordset?"

If MsgBox(strMessage, vbYesNoCancel) = vbYes Then

rstEmployees.Update

' Ir para o novo registro e mostrar os dados resultantes.

MsgBox "Data in recordset = " & rstEmployees!emp_id & ", " & _

rstEmployees!fname & " " & rstEmployees!lname

Else

rstEmployees.CancelUpdate

MsgBox "No new record added."

End If

' Excluir novos dados porque isso é uma demonstração.

cnn1.Execute "DELETE FROM employee WHERE emp_id = '" & strEmpID & "'"

rstEmployees.Close

End Sub

Não esqueça de usar transação

Exemplo dos métodos BeginTrans, CommitTrans e Rollback

Este exemplo altera o nome do cargo de todos os representantes de vendas na tabela Funcionários do banco de dados. Quando o método BeginTrans iniciar uma transação que isola todas as alterações feitas na tabela Funcionários, o método CommitTrans salvará as modificações. Observe que você pode usar o método Rollback para desfazer as alterações que salvou usando o método Update. Além disso, a transação principal é aninhada dentro de outra transação que automaticamente reverte todas as alterações feitas pelo usuário durante esse exemplo.

Uma ou mais páginas da tabela permanecem protegidas enquanto o usuário decide se aceita ou não as alterações. Por esse motivo, esta técnica não é recomendada, sendo mostrada apenas como um exemplo.

Sub BeginTransX()

Dim strNome As String

Dim strMensagem As String

Dim wrkDefault As Workspace

Dim dbsNorthwind As Database

Dim rstFuncionários As Recordset

' Obter o Workspace padrão.

Set wrkDefault = DBEngine.Workspaces(0)

Set dbsNorthwind = OpenDatabase("Northwind.mdb")

Set rstFuncionários = _

dbsNorthwind.OpenRecordset("Funcionários")

' Início da transação externa.

wrkDefault.BeginTrans

' Início da transação principal.

wrkDefault.BeginTrans

With rstFuncionários

' Fazer o loop pelo conjunto de registros e

' perguntar se o usuário deseja alterar o cargo

' do funcionário especificado.

Do Until .EOF

If !Cargo = "Representante de vendas" Then

strNome = !Sobrenome & ", " & !Nome

strMessage = "Funcionário: " & strNome & vbCr & _

"Alterar o cargo para Diretor de contas?"

' Altera o cargo do funcionário

' especificado.

If MsgBox(strMessage, vbYesNo) = vbYes Then

.Edit

!Cargo = "Diretor de contas"

.Update

End If

End If

.MoveNext

Loop

' Perguntar se o usuário aceita todas as

' alterações feitas acima.

If MsgBox("Salvar todas as modificações?", vbYesNo) = vbYes Then

wrkDefault.CommitTrans

Else

wrkDefault.Rollback

End If

' Imprimir os dados atuais no conjunto de registros.

.MoveFirst

Do While Not .EOF

Debug.Print !Sobrenome & ", " & !Nome & _

" - " & !Cargo

.MoveNext

Loop

' Reverter todas as alterações feitas pelo

' usuário porque esta é uma demonstração.

wrkDefault.Rollback

.Close

End With

dbsNorthwind.Close

End Sub

Editado por leitis
Link para o comentário
Compartilhar em outros sites

  • 0

Oi Dauro, para atualizar uma tabela no access sem que os relacionamentos sejam excluídos faça o seguinte.

Por exemplo, eu tenho uma tabela chamada ASSINANTES e quero atualizá-la de forma que contemple os novos assinantes ou quaisquer outras informações que contém nela. O que eu faço, simples!

1 - Vá até seu banco de dados

2 - Renomeie a tabela que será atualizada (p. ex: ASSINANTES para ASSINANTES 1)

3 - Peça para Importar uma outra tabela (p. ex: A mesma tabela de ASSINANTES só que mais atualizada)

4 - O relacionamento é automaticamente restaurado.

5 - DELETE, ou guarde se quiser, a tabela renomeada ASSINANTES1.

Pronto.

espero ter ajudado.

Michelle Rodrigues

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...