Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes :: 1 Motor de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
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

Enviar msg para WhatsAPP via VFP

7/2/2017, 10:31 por Eliana

Olá Pessoal!

Alguém sabe se é possível enviar mensagem para o WhatsAPP via VFP?


Grata


Comentários: 0

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

Os nossos membros postaram um total de 31 mensagens em 17 assuntos

Saber se existe indice dentro do CDX

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

Resolvido Saber se existe indice dentro do CDX

Mensagem por Julio em 22/2/2010, 21:57

Boa noite pessoal

Gostaria de saber se tem como saber se determinado indice existe dentro do CDX, como fazer a verificação.

Produtos.dbf
Produtos.CDX

Gostaria de saber se o indice codigo este existe dentro deste CDX.

Obrigado

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido chave primary

Mensagem por alceu11 em 23/2/2010, 07:57

segue um exemplo
Código:

Close Database All
Close Tables All

Close All
Create Database gozila
Open Database gozila
Create Table cfo (cfop c(6) Primary Key , Descr c(50))
Select cfo

Index On Descr Tag cfo Candidate
Use In cfo


Use cfo In 0 Alias cfo Shared
Selec cfo


CHAVE_PRIMARIA = ""
For nCount = 1 To Tagcount( )
   If !Empty(Tag(nCount))
      Wait Windo  'exite chave '+Tag(nCount) Time 2
      Wait Window Primary(nCount) Time 2
      If Primary(nCount)
         CHAVE_PRIMARIA = Tag(nCount)
         Exit
      Endif
   Else
      Wait Window 'nao tem chave primaria' Timeout 2
      Exit
   Endif
Endfor
Select cfo
If !Empty(CHAVE_PRIMARIA)
   Set Order To (CHAVE_PRIMARIA)
*set order &CHAVE_PRIMARIA
Else
   Messagebox("Não tem chave primária")
Endif
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Julio em 23/2/2010, 09:08

Alceu

Tudo bem, o exemplo que postou verifica se existe uma chave primaria, nao tinha pensado nisso, mas gostaria de saber se alem da chave primaria existe outro indice.

Por exemplo na tabela produtos criei os indexes, vamos dizer que tem uns cincos indeces criados:
index on str(codigo,10) tag codcdx candidate
index on alltrim(descricao) tag descdx
...
...
...

Preciso adicionar um novo indice, via programa mas antes preciso saber se ele existe.
Quero saber se este idece COD_DESC criado abaixo existe. Não é uma chave primaria.
index on str(codigo,10)+alltrin(descricao) tag cod_desc


Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por alceu11 em 23/2/2010, 09:20

Código:
close tables all
close all
ctrol +f2  e digite esta 2 linhas
USE c:\pendrive\nfe\nfe\cfo.dbf exclusive
MODIFY STRUCTURE

depois escolha
na aba indices aparecera todos os indices da sua tabela

mas porem se for via codigo
Código:

Close Database All
Close Tables All
SET SAFETY OFF
Close All
Create Database gozila
Open Database gozila
Create Table cfo (cfop c(6) Primary Key , Descr c(50))
Select cfo

Index On Descr Tag descr Candidate
Use In cfo


Use cfo In 0 Alias cfo Shared
Selec cfo


CHAVE_PRIMARIA = ""
For nCount = 1 To Tagcount( )
   If !Empty(Tag(nCount))
      Wait Windo  'exite chave '+Tag(nCount) Time 2
      
      Wait Window Primary(nCount) Time 1
      If Primary(nCount)
         CHAVE_PRIMARIA = Tag(nCount)
         Wait Windo  'exite chave '+Tag(nCount) Time 1
         LOOP
      **   Exit
      Endif
   Else
      Wait Window 'nao tem chave primaria' Timeout 2
      Exit
   Endif
Endfor
Select cfo
If !Empty(CHAVE_PRIMARIA)
   Set Order To (CHAVE_PRIMARIA)
*set order &CHAVE_PRIMARIA
Else
   Messagebox("Não tem chave primária")
Endif
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Marcos Guedes em 23/2/2010, 09:29

Julio, encontrei este exemplo no help do fox.
O código lista os indices existentes numa tabela:
Código:
CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\testdata')

USE Customer    && Open customer table
MODIFY STRUCTURE

CLEAR



FOR nCount = 1 TO TAGCOUNT( )

  IF !EMPTY(TAG(nCount))  && Checks for tags in the index

  ? TAG(nCount) + ' '  && Display tag name

  ?? KEY(nCount)  && Display index expression

  ELSE

      EXIT  && Exit the loop when no more tags are found

  ENDIF

ENDFOR

É só adaptar para o que precisas.
Resolve?!

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Julio em 23/2/2010, 09:42

Marcos

Na verdade eu preciso verificar se existe um indice caso ele não exista ele será criado, isto sera feito via programação.

Estou utilizar o codigo do Alceu.

O que voce postou mostra todos os codigos, vou ver tentar adaptar tb para o que preciso.

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por hugo em 23/2/2010, 09:56

amigos

se eu tento criar um indice que ja existe recebo um error level
nao eh so analisar o resultado do error level ???

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Marcos Guedes em 23/2/2010, 10:32

Eu não recebo erro algum, no VFP 9:
Código:
CREATE CURSOR teste (campo c(30))

SELECT teste
INDEX on campo TAG campo
INDEX on campo TAG campo

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Julio em 23/2/2010, 10:43

Hugo

Vou fazer via programa, tenho uma rotina no sistema que checa a versao do banco caso seja diferente faz a atualização, e como criei um indice novo preciso ver se existe na tabela do cliente ou não.

Mas pessoal

atraves dos codigos postados fiz uma alteração e o codigo ficou assim e ira atender para o que preciso.

Código:
cCaminho = ALLTRIM(SYS(5))+ALLTRIM(SYS(2003)) + '\banco\BDCarcara.dbc'
WAIT windows cCaminho && verifico se esta na pasta correta do BD

OPEN DATABASE banco\BDCarcara.DBC

USE BDCarcara!produtos &&SHARED
CHAVE_PRIMARIA = ""
FOR nCount = 1 TO TAGCOUNT( )

  IF !EMPTY(TAG(nCount))  && Checks for tags in the index

    ? TAG(nCount) + '    '  && Display tag name
    ?? KEY(nCount)  && Display index expression

      If Primary(nCount)
        CHAVE_PRIMARIA = Tag(nCount)
        *WAIT windows'e chave primaria'+"  "+chave_primaria
      Endif
     
    IF UPPER(TAG(nCount)) = "PRODUTOCRI"
      *WAIT windows 'EXISTE'

      If !Empty(CHAVE_PRIMARIA)
        Messagebox("Este indice e chave primária  "+CHAVE_PRIMARIA)
      Else
        Messagebox("Não tem chave primária")
      Endif
   
    ELSE
     
      If !Empty(CHAVE_PRIMARIA)
        Messagebox("Não tem chave primária")
      Endif
   
    ENDIF
  ELSE

      EXIT  && Exit the loop when no more tags are found

  ENDIF

ENDFOR

Depois disso tomo as providencias para criar os indices na tabela.

Alguem pode me esclarecer a diferente quando se cria um indice e o collate fica GENERAL e as vezes MACHINE?

Obrigado

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por hugo em 23/2/2010, 11:58

opa

legal

olha so, achei bem esclarecedor esta pagina

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

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Julio em 24/2/2010, 10:48

Marcos

Da minha parte pode dar como resolvido o topico.

Obrigado a quem se dispos a ajudar.


Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por hugo em 1/3/2010, 19:08

julio

descobri esta funcao cara

unique()

UNIQUE([< cdx file >,] < expN1 > [, < expN2 > | < expC >])

Returns true ( .T. ) if the specified index tag or index file
was created with the UNIQUE keyword or with SET UNIQUE ON;
otherwise, false ( .F. ) is returned.

Return value - Logical
Included for dBASE compatibility.

If the optional parameters are omitted, UNIQUE() returns the
UNIQUE status for the master controlling index tag or index
file. UNIQUE() returns false (.F.) if a master controlling
index tag or index file isn't in effect (the table is in
natural record number order).

< cdx file >
Specifies the name of a compound index file for which
UNIQUE() returns the UNIQUE status for a tag.

< expN1 >
Specifies the index position for the .CDX compound index
file tag or open .IDX single-entry index file for which
UNIQUE() returns the UNIQUE status.

< expN2 >
Specifies the work area of the table for which UNIQUE()
returns the UNIQUE status for the .CDX compound index
file tag or open .IDX single-entry index file.

< expC >
Specifies the alias of the table for which UNIQUE()
returns the UNIQUE status for the .CDX compound index
file tag or open .IDX single-entry index file.

See Also: INDEX, SET UNIQUE

agora sim acredito que achamos a solucao correta

valeuuuuuuuuu

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Marcos Guedes em 1/3/2010, 20:53

boa, Hugo!

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por alceu11 em 2/3/2010, 08:37

Boa HUGO!!!
Este forum cada vez melhor com estas sacadas do HUGO

TRADUCAO UNIQUE()
UNIQUE([< cdx file >,] < expN1 > [, < expN2 > | < expC >])

Retorna verdadeiro (. T.) se o arquivo de tag de índice ou índice especificado
foi criado com a palavra-chave única ou com SET UNIQUE ON;
Caso contrário, false (. F.) é retornado.

Valor de retorno - Logical
Incluído para compatibilidade do dBASE.

Se os parâmetros opcionais são omitidos, UNIQUE () retorna o
Estatuto único para o mestre controlando marca índice ou índice
arquivo. EXCLUSIVO () retorna falso (. F.) se um mestre controlando
tag índice ou arquivo de índice não está em vigor (a tabela está em
número de ordem natural registro).

</ Cdx>
Especifica o nome de um índice composto de arquivo para o qual
EXCLUSIVO () retorna o status único de uma marca.

<ExpN1>
Especifica a posição do índice para o índice composto. CDX
arquivo de marca ou aberto. IDX arquivo único índice de entrada para que
EXCLUSIVO () retorna o status original.
<ExpN2>
Especifica a área de trabalho do quadro para o qual EXCLUSIVO ()
retorna o estatuto único para o índice composto. CDX
arquivo de marca ou aberto. IDX arquivo único índice de entrada.

<ExpC>
Especifica o alias da tabela para a qual EXCLUSIVO ()
retorna o estatuto único para o índice composto. CDX
arquivo de marca ou aberto. IDX arquivo único índice de entrada
Very Happy
avatar
alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por Marcos Guedes em 2/3/2010, 09:01

boa, Alceu!
certamente ajudará quem tem dificuldades com o inglês.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Saber se existe indice dentro do CDX

Mensagem por hugo em 2/3/2010, 11:00

[Você precisa estar registrado e conectado para ver este link.] escreveu:Boa HUGO!!!
Este forum cada vez melhor com estas sacadas do HUGO


Embarassed

assim fico encabulado

heheheheheh

obrigado galera

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


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