Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
15 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 15 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Erro de compatibilidade de cores

28/3/2017, 10:59 por Clebervfp

Boa dia, estou com um problema com vfp9, se alguém poder me ajudar fico agradecido!

Tenho um …

Comentários: 0

Espessura do cursor intermitente

7/3/2017, 09:08 por Jefferson Matakas

Bom dia a todos !!

Existe uma opcao no windows que pode ser acessada atraves da 'central da …

Comentários: 0

DESENVOLVIMENTO EM REDES

4/3/2017, 18:45 por AJC

Pessoal tem ou conhece livros ou material para programação em
redes usando banco de dados nativo …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 4

Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Estatísticas
Temos 7039 usuários registrados
O último usuário registrado atende pelo nome de missias

Os nossos membros postaram um total de 32 mensagens em 18 assuntos

Tabelas de um DBC

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Tabelas de um DBC

Mensagem por Tales Ruan em 16/4/2010, 09:09

Pessoal, bom dia.

Procurei mas não encontrei.. Existe uma forma de eu descobrir quais os nomes das tabelas contidas em um DBC qualquer?

Sei que existe o comando DISPLAY DATABASE, e o LIST DATABASE, mas estes mostram a informação na tela.. Eu precisaria de algo que me retornasse uma matriz de tabelas por exemplo, para que eu pudesse fazer um procedimento de manutenção em cada uma, sem ter que especificar manualmente quais são as tabelas..

Agradeço qualquer ajuda, vlw!
avatar
Tales Ruan
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Tabelas de um DBC

Mensagem por alceu11 em 16/4/2010, 09:24

codigo

Código:

set bell on
SET BELL TO ("c:\windows\media\tada.wav")
?? CHR(7)
SET BELL off
INKEY(2.15)
SET BELL off
INKEY(2.15)


CLOSE DATABASES

SET DEFAULT TO (HOME(2) + 'Data') && coloque o path a ondi esta sua database

gnDbcnumber = ADIR(gaDatabase, '*.DBC') && Create array


CLEAR
SET CONSOLE OFF
SET NOTIFY off
SET SAFETY off
SET ALTERNATE TO testos.txt 
SET ALTERNATE on

?
? 'Nome de database: '


FOR nCount = 1 TO gnDbcnumber && Loop for number of databases
? gaDatabase(nCount,1) && Lista database names

ENDFOR

? 'Este o arquivo testo, de nome testos.txt que fiz com set alternate'
? 'Nome dos dbf: '

gntables = ADIR(gaDataba, '*.Dbf') && Create array

FOR nCount = 1 TO gntables && Loop for number of databases

? gaDataba(nCount,1)
endfor

? ' Este ultimo melhorou mais agora'
? '--------------------------------'
?
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Data')    && Sets path to database
OPEN DATABASE testdata  && Open testdata database
DISPLAY DATABASE  && Displays table information

SET ALTERNATE TO 
SET ALTERNATE off
SET CONSOLE ON 


MODIFY COMMAND testos.txt

Existe um topico aqui no forum reindexar a base de dados,,,,,,,
que é muito bom tambem,,,,,,,,so dar uma pesquisada.....acho que esta em dicas!!!
Foi feito por mim e melhorado pelo Marcos..!!!

achei o meu codigo para reindexar a base

Código:

CLOSE DATABASES all
CLOSE ALL
USE
CLOSE TABLES all

CREATE TABLE ARQUIVOS (DBF_NOME C(18),acao C(40),REINDEXA C(15),BANCO C(15))
SELECT ARQUIVOS

CLEAR
SET CONSOLE OFF
SET NOTIFY off
SET SAFETY off
SET ALTERNATE TO testos.txt 
SET ALTERNATE on

SOFAZUMA=.F.

 gnDbcnumber = ADIR(gaDatabase, '*.DBC') && Create array
?
? '* Nome de database: '

wbanco=SPACE(20)
FOR nCount = 1 TO gnDbcnumber && Loop for number of databases
? '* '+gaDatabase(nCount,1) && Display database names
wbanco=gaDatabase(nCount,1)
ENDFOR

? '*Este o arquivo testo, de nome testos.txt que fiz com set alternate'
? '*Nome dos dbf: REINDEXACAO'
_ARQ=''
gntables = ADIR(gaDataba, '*.Dbf') && Create array

FOR nCount = 1 TO gntables && Loop for number of databases

? '* '+ gaDataba(nCount,1)
IF !EMPTY(gaDataba(nCount,1))
IF  UPPER(gaDataba(nCount,1)) <>UPPER('foxuser.dbf') OR TRIM(UPPER(gaDataba(nCount,1)))<>UPPER('ARQUIVOS.DBF')
SELECT ARQUIVOS
APPEND BLANK
REPLACE DBF_NOME WITH gaDataba(nCount,1)
_ARQ=ALLTRIM(ARQUIVOS.DBF_NOME)
if right(_arq,3)='DBF'
        _arq = left(_arq,len(_arq)-4)
      endif

 replace ACAO WITH 'Use '+_arq +' Alias '+ALLTRIM(_arq) + ' IN 0  EXCLUS'
 replace REINDEXA WITH 'reindex'
  IF !EMPTY(wbanco)
      REPLACE Banco WITH wbanco
  Endif

  IF !EMPTY(wbanco)
  IF SOFAZUMA=.F.
? 'OPEN DATABASE '+WBANCO
  ENDIF
  ENDIF

? 'IF NOT USED("'+ALLTRIM(_arq)+ '")'
  ?    ARQUIVOS.ACAO
? '  REINDEX'
? ' Else '
? '    wait window "arquivo  esta sendo usado: '+ALLTRIM(_arq)+ '"'
?  'IF RLOCK()' 
  ?      ARQUIVOS.ACAO
?      ' REINDEX'
?    'ELSE'
?      ' wait window "arquivo  esta sendo usado: '+ALLTRIM(_arq)+ '"'
?    'ENDIF' 
? 'ENDIF'
? '*****************'
ENDIF
endif
SOFAZUMA=.T.
Endfor
SET ALTERNATE TO 
SET ALTERNATE off
SET CONSOLE ON 
SELECT ARQUIVOS
GO TOP

 BROWSE


MODIFY COMMAND testos.txt
segue um documentador

[Você precisa estar registrado e conectado para ver este link.]

Este tb esta no forum com algumas melhorias!!

Veja este documentador nesta pagina
[Você precisa estar registrado e conectado para ver este link.]
[Você precisa estar registrado e conectado para ver este link.]
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Tabelas de um DBC

Mensagem por Tales Ruan em 16/4/2010, 10:50

Alceu, obrigado! Não tinha pensado no ADIR(), boa idéia.

Vou dar uma olhada nos códigos de reindex. Provavelmente vou incorporar na minha rotina de manutenção. Atualmente a função dela é somente esvaziar um campo de todas as tabelas.

Era o que eu precisava, valeu!
avatar
Tales Ruan
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum