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

- Mensagens: 765
- 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: 8028
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 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: 401
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
- Curtiram: 1 vez
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!
Saludos,
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
-
alxsts
- Colaborador

- Mensagens: 3107
- 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: 401
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
- Curtiram: 1 vez
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
Saludos,
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
- deividdjs
- Usuário Nível 3

- Mensagens: 401
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
- Curtiram: 1 vez
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!
Saludos,
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
- JoséQuintas
- Administrador

- Mensagens: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 3107
- 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: 401
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
- Curtiram: 1 vez
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!
Saludos,
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8