Compartilhar via


Instrução UPDATE (Microsoft Access SQL)

Aplica-se ao: Access 2013, Office 2013

Cria uma consulta de atualização que altera os valores nos campos em uma tabela especificada com base em critérios específicos.

Sintaxe

UPDATE table SET newvalue WHERE criteria;

A instrução UPDATE tem as seguintes partes:

Sair

Descrição

table

Nome da tabela contendo dados que você deseja modificar.

newvalue

Uma expressão que determina o valor a ser inserido em um determinado campo nos registros atualizados.

criteria

Uma expressão que determina quais registros serão atualizados. Somente os registros que atendem à expressão são atualizados.

Comentários

UPDATE é especialmente útil quando você deseja alterar muitos registros ou quando os registros que você deseja alterar estão em várias tabelas.

Você pode alterar vários campos ao mesmo tempo. O exemplo a seguir aumenta os valores Total de Pedidos em 10% e os valores Frete em 3% para transportadoras no Reino Unido:

UPDATE Orders 
SET OrderAmount = OrderAmount * 1.1, 
Freight = Freight * 1.03 
WHERE ShipCountry = 'UK';

Importante

  • UPDATE não gerar um conjunto de resultados. Além disso, depois de atualizar registros utilizando uma consulta de atualização, você não poderá desfazer a operação. Se você quiser saber quais registros foram atualizados, primeiro examine os resultados de uma consulta de seleção que use os mesmos critérios e, em seguida, execute a consulta de atualização.
  • Mantenha cópias de backup de seus dados em todos os momentos. Se você atualizar os registros errados, poderá recuperá-los das cópias de backup.

Exemplo

Este exemplo altera os valores no campo ReportsTo para 5 em todos os registros de funcionários que atualmente têm valores de ReportsTo 2.

    Sub UpdateX() 
     
        Dim dbs As Database 
        Dim qdf As QueryDef 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
         
        ' Change values in the ReportsTo field to 5 for all  
        ' employee records that currently have ReportsTo  
        ' values of 2. 
        dbs.Execute "UPDATE Employees " _ 
            & "SET ReportsTo = 5 " _ 
            & "WHERE ReportsTo = 2;" 
             
        dbs.Close 
     
    End Sub