CORRECÇÃO: APPEND FROM com falha determinadas tipos de arquivo para Visual FoxPro

Traduções deste artigo Traduções deste artigo
ID do artigo: 193628 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

O seguinte erro ocorre quando você usar o comando APPEND FROM com determinados tipos de arquivo:
Erro fatal: código de exceção = C0000005
Após você clicar em OK, sai do Visual FoxPro.

Causa

Isso ocorre quando você usa a seguinte sintaxe de APPEND para acrescentar dos seguintes tipos de arquivo:
APPEND FROM <filename>.xls TYPE XLS && Excel 2.1, 3.0 and 4.0 file types
APPEND FROM <filename>.wk1 TYPE WK1 && Lotus 1-2-3 version 2.x
APPEND FROM <filename>.wk3 TYPE WK3 && Lotus 1-2-3 version 3.x
APPEND FROM <filename>.mod TYPE MOD && Microsoft Multiplan 4.01
APPEND FROM <filename>.wks TYPE WKS && Lotus 1-2-3 version 1-A
				
anexação de outro podem de tipos de arquivo também causar a falha Embora arquivos de texto e dos arquivos .dbf não parecem ter problemas.

Observação : usando COPY para tipos de comando no Visual FoxPro para copiar uma tabela de saída para o arquivo na lista anterior e, em seguida, acrescentando volta para a tabela a partir desse arquivo não é exibida fazer com que a falha.

Resolução

O comando IMPORT pode importar os tipos de arquivo na lista anterior para uma nova tabela. Com um pouco de trabalho, você pode acrescentar esta tabela importada em uma tabela existente. Você pode usar o seguinte código de exemplo em vez do programa na seção "Passos para reproduzir o problema mostrados" para acrescentar registros com êxito.

Código de exemplo

CLOSE DATABASE ALL
CLEAR ALL
CLEAR

SET SAFETY OFF
CREATE TABLE fruit ;
    (fruit c(12), color c(15), treeorvine c(10), number n(8,2))

INSERT INTO fruit VALUES ("Apple", "Red", "Tree", 5)
INSERT INTO fruit VALUES ("Orange", "Orange","Tree", 18)
INSERT INTO fruit VALUES ("Grape", "Purple", "Vine", 42)
INSERT INTO fruit VALUES ("Blueberry", "Blue", "Bush", 78)
INSERT INTO fruit VALUES ("Grapefruit", "Pink", "Tree", 62)
INSERT INTO fruit VALUES ("Banana", "Yellow", "Tree", 37)
SELECT fruit

WAIT WINDOW "Choose an Excel 2.1, 3 or 4 file"
x=GETFILE("xls")
SELECT 0
IMPORT FROM (x) TYPE XLS
SET SAFETY ON
SET DELETED ON
DELETE FOR RECNO()=1 && To eliminate field name headers in Excel sheet.
y=ALIAS()

* Need to change the field names to match the target table.
For i=1 TO FCOUNT()
  ALTER TABLE (y) RENAME COLUMN (LOWER(FIELD(i))) TO (FIELD(i,"fruit"))
ENDFOR

SELECT fruit
APPEND FROM (y)
SELECT (y)
USE
ERASE (y)
SELECT fruit

BROWSE NOWAIT
				

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.

Esse bug foi corrigido no Visual Studio 6.0 Service Pack 3.

Para obter mais informações sobre service packs do Visual Studio, consulte os seguintes artigos na Base de dados de Conhecimento da Microsoft:

194022INFO: Visual Studio 6.0 Service Packs, What, WHERE, por que

194295COMO: Verificar se o Visual Studio 6.0 Service Packs estão instalados

Mais Informações

Esse problema ocorre com mais freqüência quando a tabela usada para acrescentar os registros não está vazia.

Etapas para reproduzir o problema

Aviso: As etapas a seguir FoxPro causar a falha. Certifique-se de que você salve importantes todos os dados ou código antes de seguir as etapas. Também é uma boa idéia salvar todas as informações em outros aplicativos em execução antes de usar estas etapas.
  1. Criar uma nova planilha do Excel com o seguinte layout em Sheet1: Observação: usado para recriar essas etapas no Microsoft Excel 97.
          Cell          Data to Enter
          ---------------------------
          A1            Fruit
          B1            Color
          C1            TreeorVine
          D1            Number
          A2            Apple
          B2            Red
          C2            Tree
          D2            50.25
          A3            Banana
          B3            Yellow
          C3            Tree
          D3            17.45
    					
  2. No Excel, no menu File, escolha Salvar como. Na caixa de listagem drop-down Salvar como tipo, selecione planilha do Microsoft Excel 4.0 (*.xls). Nome fruit4.xls arquivo.
  3. No Visual FoxPro 6.0, coloque o código a seguir em um novo arquivo de programa, salvá-lo e, em seguida, execute o programa:
    CLOSE DATABASE ALL
    CLEAR ALL
    CLEAR
    
    SET SAFETY OFF
    CREATE TABLE fruit ;
       (fruit c(12), color c(15), treeorvine c(10), number n(8,2))
    SET SAFETY ON
    SELECT fruit
    INSERT INTO fruit VALUES ("Apple", "Red", "Tree", 5)
    INSERT INTO fruit VALUES ("Orange", "Orange","Tree", 18)
    INSERT INTO fruit VALUES ("Grape", "Purple", "Vine", 42)
    INSERT INTO fruit VALUES ("Blueberry", "Blue", "Bush", 78)
    INSERT INTO fruit VALUES ("Grapefruit", "Pink", "Tree", 62)
    INSERT INTO fruit VALUES ("Banana", "Yellow", "Tree", 37)
    
    APPEND FROM fruit4.xls TYPE XLS    && This causes the crash.
    BROWSE NOWAIT
    					

Propriedades

ID do artigo: 193628 - Última revisão: terça-feira, 15 de outubro de 2002 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual FoxPro 6.0 Professional Edition
Palavras-chave: 
kbmt kbbug kbfix kbinterop kbvs600sp3fix kbxbase KB193628 KbMtpt
Traduçã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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 193628
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com