DbSeek eventualmente não funciona?? Será??
Moderador: Moderadores
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
DbSeek eventualmente não funciona?? Será??
tembem me confundo sebre HBNETIO, e LetoDB ,ainda nao usei nem um dos 2 por nao entender bem
aqui no forum tem muitas informaçoes mais um pouco desencontradas
seria legal um topico tratando basicamente sobre os 2 com exemplos funcionais mesmo que pequenos
seria bom fica a dica
aqui no forum tem muitas informaçoes mais um pouco desencontradas
seria legal um topico tratando basicamente sobre os 2 com exemplos funcionais mesmo que pequenos
seria bom fica a dica
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
DbSeek eventualmente não funciona?? Será??
Ola!
Melhor perguntar o que não sabe, caso tenha faltado alguma informação.
O que está faltando no caso do Letodb ? que é o que eu uso, entrar lá no forum "Banco de Dados" e faça sua pergunta.
https://pctoledo.org/forum/viewto ... 42&t=15108 fora outros posts.
Lembrando que este postagem é velha, mas a explicação é atual. E mudei para o Letodbf que é um fork.
https://pctoledo.org/forum/viewto ... 42&t=18083
O NetIO é parecido, e tem exemplos diversos no \contrib\hbnetio está no Harbour, faz parte dele!
Saudações,
Itamar M. Lins Jr.
Melhor perguntar o que não sabe, caso tenha faltado alguma informação.
O que está faltando no caso do Letodb ? que é o que eu uso, entrar lá no forum "Banco de Dados" e faça sua pergunta.
https://pctoledo.org/forum/viewto ... 42&t=15108 fora outros posts.
Lembrando que este postagem é velha, mas a explicação é atual. E mudei para o Letodbf que é um fork.
https://pctoledo.org/forum/viewto ... 42&t=18083
O NetIO é parecido, e tem exemplos diversos no \contrib\hbnetio está no Harbour, faz parte dele!
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
DbSeek eventualmente não funciona?? Será??
tarde amigos....
tenho uma base de datos que preciso atualizar ... e algo q sempre fiz e agora não funciona nem com "REZA" ...
preciso buscar tendo da base .. se já existir eu ignoro e não existir em crio .. e o seek nem DBSEEK encontra minha pesquisa .... segue o codigo :[/code]
a principio eu exclui da base somente o 'codfor' e a atualização deveria criar somente ele .. e o sistema ignora a condição e cria todos novamente .. onde eu errei aqui ?? uma luz por favor ... obrigado amigos ... abraços!
tenho uma base de datos que preciso atualizar ... e algo q sempre fiz e agora não funciona nem com "REZA" ...
preciso buscar tendo da base .. se já existir eu ignoro e não existir em crio .. e o seek nem DBSEEK encontra minha pesquisa .... segue o codigo :
Código: Selecionar todos
[code]
if file("id.dbf") //.and. curdir() == ("controle_")
vdbf := "id.dbf"
id := {}
aadd(id,{"c_cod","C", 08, 0})
aadd(id,{"c_seq","C", 12, 0})
criadbf()
Ver_Dbf(vdbf,id)
matriz_id:={} // MATRIZ DADOS DBF // NOME DO CODIGO + QUANTIDADE DE CARACTERES
AADD(matriz_id,{"codcli",5})
AADD(matriz_id,{"codfor",4})
AADD(matriz_id,{"codven",4})
AADD(matriz_id,{"codgru",3})
AADD(matriz_id,{"codpro",6})
AADD(matriz_id,{"codgrd",6})
AADD(matriz_id,{"regmoe",8})
AADD(matriz_id,{"regmos",8})
AADD(matriz_id,{"codrec",1})
AADD(matriz_id,{"codpag",1})
AADD(matriz_id,{"pedcmp",6})
AADD(matriz_id,{"pcptmp",8})
AADD(matriz_id,{"codfact",2})
AADD(matriz_id,{"seqfact",10})
AADD(matriz_id,{"seqdes",10})
use id alias id new
index on c_cod tag idcx_tmp
SELECT ID
DBGOTOP()
FOR A:=1 TO LEN(matriz_id)
IF ID->(ORDSETFOCUS("IDCX_TMP"),!DBSEEK(c_cod==matriz_id[A,1]))
append blank
replace c_cod with matriz_id[A,1],;
c_seq with strzero(val("0")+1,matriz_id[A,2])
ENDIF
NEXT
DBEDIT()
id->(dbclosearea())
endif
a principio eu exclui da base somente o 'codfor' e a atualização deveria criar somente ele .. e o sistema ignora a condição e cria todos novamente .. onde eu errei aqui ?? uma luz por favor ... obrigado amigos ... abraços!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
DbSeek eventualmente não funciona?? Será??
Ola!
O problema está na expressão de busca... está buscando um valor lógico em um índice carácter.
Tem que buscar uma chave carácter. Coloque assim:
Este OrdSetFocus() deve executar apenas uma vez. Tire de onde está e coloque entre as linhas 34 e 35 do código mostrado.
O problema está na expressão de busca... está buscando um valor lógico em um índice carácter.
Isto vai resultar .T. ou .F., que nunca vai existir no índice.deividdjs escreveu:DBSEEK(c_cod==matriz_id[A,1])
Tem que buscar uma chave carácter. Coloque assim:
Código: Selecionar todos
If id->( ! DbSeek ( matriz_id[A,1] ) )
id->( DbAppend ())
...
Endif[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
DbSeek eventualmente não funciona?? Será??
funcionou !! e o pior q eu tinha feito desta maneira tbm .. porem não com o Dbappend() ... o e ordsetfocus tinha posto na abertura do arquivo da forma q sempre fiz .. porem nada funcionava!!! vai entender!!alxsts escreveu:Ola!
O problema está na expressão de busca... está buscando um valor lógico em um índice carácter.Isto vai resultar .T. ou .F., que nunca vai existir no índice.deividdjs escreveu:DBSEEK(c_cod==matriz_id[A,1])
Tem que buscar uma chave carácter. Coloque assim:Este OrdSetFocus() deve executar apenas uma vez. Tire de onde está e coloque entre as linhas 34 e 35 do código mostrado.Código: Selecionar todos
If id->( ! DbSeek ( matriz_id[A,1] ) ) id->( DbAppend ()) ... Endif
é brincadeira kkkk
Obrigado amigo ... showw
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
DbSeek eventualmente não funciona?? Será??
Estou mundando umas rotinas de seek do meu sistema .. como eu faço pra fazer uma busca de duas chaves com o dbseek()
no caso seria pedido + codigo do produto
existe a necessidade do PDP->(DBGOTOP()) antes de buscar ??
Neste caso acima .. se eu encontrar no PDP.DBF quero apagar nas duas bases ... no PDP e no TMP
qual seria a solucion mais simplificada .. ??
o exemplo acima ele não retorna a pesquisa de modo satisfatório .. rsrs
Abraço!
no caso seria pedido + codigo do produto
Código: Selecionar todos
// neste caso estou dentro de um arquivo temporario buscando no arquivo PDP.DBF
index on (cc_codped + cc_codprod) tag pdpcx_16
IF Opcao := MsgBox2("Eliminar este item?",,13,,,2) == 1
PDP->(DBGOTOP())
IF PDP->(ordsetfocus("PDPCX_16"),DBSEEK(c_codped) .and. DBSEEK(c_codprod))
select PDP
Bloq_reg()
delete
unlock
select TMP
Bloq_reg()
delete;DBSKIP(1)
unlock
endif
Neste caso acima .. se eu encontrar no PDP.DBF quero apagar nas duas bases ... no PDP e no TMP
qual seria a solucion mais simplificada .. ??
o exemplo acima ele não retorna a pesquisa de modo satisfatório .. rsrs
Abraço!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
DbSeek eventualmente não funciona?? Será??
Se campos numéricos:
Se campos string
Código: Selecionar todos
Index on Str( pedido, 10 ) + Str( produto, 10 ) TO indice
...
Seek Str( nPedido, 10 ) + Str( nProduto, 10 )
Código: Selecionar todos
index on pedido + produto to indice
seek cpedido + cProduto // mesmo tamanho do index
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
DbSeek eventualmente não funciona?? Será??
Olá!
Não precisa fazer DbGoTop().
A busca tem que estar de acordo com a chave de indexação:
Não precisa fazer DbGoTop().
A busca tem que estar de acordo com a chave de indexação:
Código: Selecionar todos
If PDP->( DbSeek( cc_codped + cc_codprod ) )
PDP->( Bloq_reg(), DbDelete(), DbUnlock() )
TMP->( Bloq_reg(), DbDelete(), DbUnlock() )
Endif[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
DbSeek eventualmente não funciona?? Será??
TOP!! economizei umas 10 linhas de codigos .. heheh
tô enxugando o sistema ...
valeu amigos!! show!
tô enxugando o sistema ...
valeu amigos!! show!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX