Como exportar campos de memorando para um arquivo ASCII

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: 95722
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
<filename>O COPY TO <nome_do_arquivo> tipo DELIMITADO comando ignora os campos Memorando. Para criar um ASCII, o arquivo delimitado de um arquivo .dbf que contém campos Memorando, você deve converter os campos de memorando para campos de caractere ou usar comandos de E/s de arquivo nível baixo.
Mais Informações
Os exemplos a seguir pressupõem que o arquivo .dbf tem a seguinte estrutura:
   FIELD NAME            TYPE   Numfield              Numeric   Memo1                 Memo   Charfield             Character				

Método 1 (para FoxPro 2.x somente)

Para converter o campo Memorando em um campo de caractere:
  1. Na janela comando, digite:
    USE < nome do banco de dados >
  2. No menu ' banco de dados ', escolha instalação.
  3. Na caixa de diálogo Instalação, escolha o botão Modificar.
  4. Na caixa de diálogo estrutura, adicione um campo "Newchar" do tipo de caractere. O comprimento do campo caractere deve ser grande o suficiente para acomodar o maior campo de memorando.
  5. Para salvar suas alterações, escolha o botão OK na caixa de diálogo estrutura, escolha o botão Sim na caixa de mensagem "Fazer alterações de estrutura permanente?" e escolha o botão OK na configuração do caixa de diálogo.
  6. Na janela comando, digite:
    REPLACE ALL newchar WITH memo1
Agora você pode criar um ASCII, delimitado arquivo de banco de dados com o comando a seguir:
<filename> COPY TO <nome_do_arquivo> FIELDS numfield charfield, newchar;
TIPO DELIMITED
A limitação desse método é que o número máximo de caracteres permitidos em um campo de caractere é 254. Se o campo Memorando for maior que isso, ele será truncado.

Método 1 (para Visual FoxPro)

Para converter o campo Memorando em um campo de caractere:
  1. Na janela comando, digite:
    USE <database_name>! <nome_da_tabela>
  2. No menu ' janela ', escolha modo de exibição.
  3. Na caixa de diálogo View, escolha o botão Propriedades.
  4. Na caixa de diálogo de propriedades do área de trabalho, escolha modificar.
  5. Na caixa de diálogo designer tabela, adicionar um campo "Newchar" de digite caracteres. O comprimento do campo caractere deve ser grande o suficiente para acomodar o maior campo de memorando.
  6. Para salvar suas alterações, escolha o botão OK na caixa de diálogo designer tabela, escolha o botão Sim na caixa de diálogo "Fazer alterações de estrutura permanente?" e escolha o botão OK na caixa de diálogo de propriedades de área trabalho.
  7. Na janela comando, digite:
    REPLACE ALL newchar WITH memo1
Agora você pode criar um arquivo ASCII delimitado do banco de dados com o comando a seguir:
<filename> COPY TO <nome_do_arquivo> FIELDS numfield charfield, newchar;
TIPO DELIMITED
A limitação desse método é que o número máximo de caracteres permitidos em um campo de caractere é 254. Se o campo Memorando for maior que isso, ele será truncado.

Método 2

Esse método usa comandos de E/s de arquivo de nível inferior para criar o ASCII, o arquivo delimitado. <filename>É o arquivo criado no mesmo formato como um arquivo criado com a COPY TO <nome_do_arquivo> delimitada por tipo de comando; ou seja, campos são separados por vírgulas e caractere campos são colocados entre aspas. O exemplo a seguir presume que o banco de dados é chamado "mydata" e que o campo de memorando é deve ser tratado como um campo de caractere:
   handle=FCREATE('c:\mytext.txt')   IF handle < 0     WAIT WINDOW "Unable to create file"     RETURN   ENDIF   USE mydata   SCAN     *Numeric values must be converted to characters before     *writing them to a text file.     *The following line converts the number to a string     =FWRITE(handle,ALLTRIM(STR(numfield))+",")     *The following sends open quotes for the memo field     =FWRITE(handle,CHR(34))     x=MEMLINES(memo1)     FOR i = 1 TO x       =FWRITE(handle,MLINE(memo1,i))       *The following line inserts a space before writing the next       *line from the memo field       =FWRITE(handle," ")     ENDFOR     *the following line adds close quotes and a delimiter     *after the memo field     =FWRITE(handle,CHR(34)+",")     *the following line uses FPUTS to end a record with a     *carriage return and linefeed     =FPUTS(handle,CHR(34)+ALLTRIM(charfield)+CHR(34))   ENDSCAN   =FCLOSE(handle)				
Referências
FoxPro versão 2.0 para MS-DOS "Interface Guide", "Modificar a estrutura de banco de dados"

FoxPro versão 2.0 para MS-DOS "Guia do desenvolvedor do", "E/s de arquivo de baixo nível"
VFoxWin FoxDos FoxWin FoxMac 2,50 2.50a 2.50b Memorando 2.60 exportação kbvfp300 kbvfp600 kbMac

Propriedades

ID do Artigo: 95722 - Última Revisão: 12/04/2015 09:23:34 - Revisão: 2.1

Microsoft Visual FoxPro 3.0 Standard Edition, Microsoft Visual FoxPro 6.0 Professional Edition, Microsoft FoxPro 2.0, Microsoft FoxPro 2.6a Professional Edition para Macintosh

  • kbnosurvey kbarchive kbmt KB95722 KbMtpt
Comentários