Estou com um probleminha primário, que talvez seja simples mas não encontrei a luz para ele.
//utilizo um replicador automatico de dados MATRIZ X FILIAL que fiz e nele na linha abaixo funciona perfeitamente quando as chaves primárias dos indices são em modo DATA, CARACTER, já se tratando de campo numério sem formatação não funciona, exemplo:
Campos:="CFOP" ,"N",05,3
//campo numero com 3 casas decimais
Indice "ARQUIVOIDX" indexado pelo campo "CFOP"
// da forma acima se eu abrir o banco de dados e pesquisar por exemplo na linha abaixo, da CERTO, ele encontra o registro.
WCfOp:=0
@ 13,14 Get WCfOp Pict "@R 9.999" Valid(CkCfOp(@wCfOp,"C",13,20,47))
Keyin()
If DbSeek(wCfOp)
//achou
EndIf
agora na função abaixo não encontra:
(d_ALIAS)->(DbSetOrder(2)) //chave primaria
If !(d_ALIAS)->(DbSeek(xKey)) //erro xkey 1.202
//o registro existe no banco de dados a variavel xkey esta carregada com o valor por exemplo 1.202 e ao pesquisar ele não acha e entra e cria o registro novamente.
EndIf
// agora aqui um exemplo usando uma formatação do campo numérico:
Campos:={{"ORDEM" ,"N",10,0},;
indice "StrZero(ORDEM,10)"
aà a função abaixo da certo, localiza perfeitamente.
(d_ALIAS)->(DbSetOrder(2)) //chave primaria
If !(d_ALIAS)->(DbSeek(xKey)) //nao da erro ele acha o valor da xkey no registro = exemplo: "0000000091"
EndIf
// pergunta: o que pode estar ocorrendo, por acaso o campo numérico sem formatação ele não funciona legal?
sendo que resumidamente:
var:=1.202
DbSeek(var) // resultado FOUND()
(alias)->(DbSeek(var)) // resultado NOT FOUND()
Alguem se candidata a resolver este b.o.zinho.
Grato a todos pela colaboração.
:{