Artigo: 903074 - Última revisão: sexta-feira, 28 de Julho de 2006 - Revisão: 2.7

CORRECÇÃO: Um registo numa tabela da base de dados SQL Server 2000 ligado não é correctamente actualizado quando modificar o registo numa tabela de base de dados do Access 2003

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando modificar um registo numa tabela da base de dados do Microsoft Office Access 2003, o registo a tabela de base de dados Microsoft SQL Server 2000 não correctamente actualizada. Em vez disso, os novos dados são registados no registo errado.

Este problema ocorre quando o registo que modificar é apresentado como parte do conjunto de registos devolvido por uma consulta. Por exemplo, poderá ser apresentado o registo num subformulário.

Resolução

Para resolver este problema, obtenha o service pack mais recente do Office 2003. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
870924  (http://support.microsoft.com/kb/870924/ ) Como obter o service pack mais recente do Office 2003

Como contornar

Para contornar este problema, utilize um dos seguintes métodos.

Método 1

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Seleccione programaticamente o último registo no conjunto de registos e, em seguida, o primeiro registo no conjunto de registos quando o conjunto de registos é apresentado. Para o fazer, utilize código semelhante ao exemplo que se segue.
Set rs = Forms![Database].Recordset

rs.MoveLast
rs.MoveFirst

rs.FindFirst ("[Keyfield ID] = " & Me.[Keyfield ID])

; Note that "Keyfield ID" is the field name for the key field 
; that is used to index the recordset.
; Substitute the name of the key field in your
; application for "Keyfield ID."
Nota este código produz os mesmos resultados como mover manualmente a selecção para a última gravar no conjunto de registos e, em seguida, novamente para o primeiro registo no conjunto de registos.

Método 2

Utilizar uma instrução de SQL em vez de uma consulta do Access 2003 para criar o conjunto de registos.

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos do Microsoft listados na secção "Aplica-se a". Este problema foi corrigido pela primeira vez no Microsoft Office 2003 Service Pack 2.

A informação contida neste artigo aplica-se a:
  • Microsoft Office Access 2003
Palavras-chave: 
kbmt kbqfe kboffice2003sp2fix kbprogramming kbbug KB903074 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 903074  (http://support.microsoft.com/kb/903074/en-us/ )