Olá pessoal,
Não sei o motivo, mas ao comentar essa linha, não dá mais erro.
// produtos->(DbUNLOCK())
Moderador: Moderadores
VAR nTimeOut AS INTEGER INIT -1
.
.
Do While Leto_Connect( ::cServidorDB, , , ::nTimeOut ) < 0
If ::nLoop > 10 .AND. ::nLoop < 15
cIpAddServer := hwg_GetIni( 'CONFIGURACAO', 'Addr', '', [SERVER5\LETODBSERVER.INI] )
cPortaServer := hwg_GetIni( 'CONFIGURACAO', 'Port', '', [SERVER5\LETODBSERVER.INI] )
::cServidorDB := [//] + cIpAddServer + [:] + cPortaServer + [/]
Elseif ::nLoop > 15
::lConnect := .F.
Exit
Elseif ::nLoop <= 10
cIpAddServer := aNICS[nVezes,1] //"127.0.0.1"
::cServidorDB := [//] + cIpAddServer + [:] + cPortaServer + [/]
nVezes ++
If nVezes = Len( aNICS )
nVezes := 1
Endif
Endif
::nLoop ++
oClPF:DoEvents()
Enddo
porter escreveu:Gostaria de saber, como faço para saber qual a versão do LETODBF
FUNC elktest
LOCAL cReturn := leto_Alias()
LOCAL cAlias := leto_Alias( "ELK" )
cReturn += "==" + cAlias + ";"
IF EMPTY( cAlias )
IF leto_dbcreate( "mem:elk",{{"name","C",32,0},{"age","N",3,0}},"DBFCDX",.T.,"ELK")
leto_ordcreate( "ELK", "mem:elk", "name", "NAME" )
cReturn += leto_alias("ELK") + "#"
leto_ordcreate( "ELK", "mem:elk", "age", "AGE" )
leto_dbclosearea()
ENDIF
ENDIF
RETURN cReturn
fladimir escreveu:uma dúvida isso não tem nada a ver com o teste q eu propus de indice temporario ou no caso de indice temporario filtrado tb tenho q usar essa função?
Alguém testou da forma q eu falei?
/*
* Estrutura clientes.dbf
*/
LOCAL aField[101]
aField[001] := {"CODIGO" , "C", 8, 0}
aField[002] := {"NOME" , "C", 60, 0}
aField[003] := {"ENDERECO" , "C", 60, 0}
aField[004] := {"BAIRRO" , "C", 25, 0}
aField[005] := {"CIDADE" , "C", 25, 0}
aField[006] := {"ESTADO" , "C", 2, 0}
aField[007] := {"PONTOREF" , "C", 25, 0}
aField[008] := {"NASCIMENTO", "D", 8, 0}
aField[009] := {"CEP" , "C", 9, 0}
aField[010] := {"TELEFONE" , "C", 14, 0}
aField[011] := {"LOJA" , "C", 3, 0}
aField[012] := {"TOLERANCIA", "N", 3, 0}
aField[013] := {"BLOQUEIO" , "N", 3, 0}
aField[014] := {"JUROS" , "N", 3, 0}
aField[015] := {"DESCONTO" , "N", 6, 2}
aField[016] := {"DESCONTO2" , "N", 6, 2}
aField[017] := {"RG" , "C", 35, 0}
aField[018] := {"INSCRICAO" , "C", 16, 0}
aField[019] := {"CPF" , "C", 11, 0}
aField[020] := {"CNPJ" , "C", 15, 0}
aField[021] := {"EXTERNO" , "C", 6, 0}
aField[022] := {"TEMCASA" , "C", 1, 0}
aField[023] := {"TRABALHO" , "C", 25, 0}
aField[024] := {"CARGO" , "C", 17, 0}
aField[025] := {"SALARIO" , "N", 9, 2}
aField[026] := {"FONECOM" , "C", 14, 0}
aField[027] := {"FILIACAO" , "C", 60, 0}
aField[028] := {"CONJUGE" , "C", 35, 0}
aField[029] := {"NASCCONJ" , "D", 8, 0}
aField[030] := {"RGCONJ" , "C", 15, 0}
aField[031] := {"CPFCONJ" , "C", 16, 0}
aField[032] := {"TRABCONJ" , "C", 20, 0}
aField[033] := {"GANHOCONJ" , "N", 9, 2}
aField[034] := {"CARGOCONJ" , "C", 21, 0}
aField[035] := {"FONECONJ" , "C", 14, 0}
aField[036] := {"LIMITE" , "N", 9, 2}
aField[037] := {"CREDITO" , "N", 12, 2}
aField[038] := {"CADASTRO" , "D", 8, 0}
aField[039] := {"OBSERVACAO", "C", 70, 0}
aField[040] := {"BLOQUEADO" , "C", 1, 0}
aField[041] := {"AUTORIZA1" , "C", 30, 0}
aField[042] := {"AUTORIZA2" , "C", 30, 0}
aField[043] := {"AUTORIZA3" , "C", 30, 0}
aField[044] := {"AUTORIZA4" , "C", 30, 0}
aField[045] := {"DTULTCOMP" , "D", 8, 0}
aField[046] := {"VLULTCOMP" , "N", 12, 2}
aField[047] := {"BANCO" , "C", 3, 0}
aField[048] := {"AGENCIA" , "C", 10, 0}
aField[049] := {"CONTA" , "C", 14, 0}
aField[050] := {"APOSENTADO", "C", 1, 0}
aField[051] := {"REFERENCIA", "C", 30, 0}
aField[052] := {"VENDECRED" , "C", 1, 0}
aField[053] := {"MES_ANO" , "C", 4, 0}
aField[054] := {"TIPO" , "C", 1, 0}
aField[055] := {"DIACOBRA" , "C", 2, 0}
aField[056] := {"SITUACAO" , "C", 2, 0}
aField[057] := {"MALADIRETA", "C", 1, 0}
aField[058] := {"DTCADASTRO", "D", 8, 0}
aField[059] := {"SENHA" , "C", 5, 0}
aField[060] := {"FANTASIA" , "C", 30, 0}
aField[061] := {"EMAIL" , "C", 50, 0}
aField[062] := {"HOME" , "C", 35, 0}
aField[063] := {"PRODUTOR" , "C", 16, 0}
aField[064] := {"REFCOM1" , "C", 60, 0}
aField[065] := {"REFCOM2" , "C", 60, 0}
aField[066] := {"REFCOM3" , "C", 60, 0}
aField[067] := {"VALEDESC" , "C", 1, 0}
aField[068] := {"PROMOCAO" , "C", 1, 0}
aField[069] := {"NATURALID" , "C", 25, 0}
aField[070] := {"CODMUN" , "C", 7, 0}
aField[071] := {"DTULTATU" , "D", 8, 0}
aField[072] := {"NUMEROEND" , "C", 8, 0}
aField[073] := {"MAXVLRPARC", "N", 12, 3}
aField[074] := {"NRCALCADO" , "C", 2, 0}
aField[075] := {"NRCALCCONJ", "C", 2, 0}
aField[076] := {"CATEGORIA" , "C", 5, 0}
aField[077] := {"GRUPO" , "C", 5, 0}
aField[078] := {"SUBGRUPO" , "C", 5, 0}
aField[079] := {"ORGAOEXP" , "C", 2, 0}
aField[080] := {"CARTTRAB" , "C", 20, 0}
aField[081] := {"AVALISTA1" , "C", 20, 0}
aField[082] := {"DTULTSERV" , "D", 8, 0}
aField[083] := {"VLULTSERV" , "N", 12, 2}
aField[084] := {"CELULAR" , "C", 14, 0}
aField[085] := {"TEMPOSERV" , "C", 20, 0}
aField[086] := {"QUEMCADALT", "C", 20, 0}
aField[087] := {"AUT1_CPF" , "C", 11, 0}
aField[088] := {"AUT1_RG" , "C", 21, 0}
aField[089] := {"AUT1_NASC" , "D", 8, 0}
aField[090] := {"AUT2_CPF" , "C", 11, 0}
aField[091] := {"AUT2_RG" , "C", 21, 0}
aField[092] := {"AUT2_NASC" , "D", 8, 0}
aField[093] := {"AUT3_CPF" , "C", 11, 0}
aField[094] := {"AUT3_RG" , "C", 21, 0}
aField[095] := {"AUT3_NASC" , "D", 8, 0}
aField[096] := {"AUT4_CPF" , "C", 11, 0}
aField[097] := {"AUT4_RG" , "C", 21, 0}
aField[098] := {"AUT4_NASC" , "D", 8, 0}
aField[099] := {"LATITUDE" , "N", 14, 8}
aField[100] := {"LONGITUDE" , "N", 14, 8}
aField[101] := {"NET_ID" , "C", 20, 0}
// Array onde tem as chaves q uso para os indices:
#define ch_Files_03 {{ .f., 'clientes', 'clientes', 'codigo', .t.,'clientes1' },;
{ .f., 'clientes', 'clientes', 'nome', .f.,'clientes2' },;
{ .f., 'clientes', 'clientes', 'cpf', .f.,'clientes3' },;
{ .f., 'clientes', 'clientes', 'cnpj', .f.,'clientes4' },;
{ .f., 'clientes', 'clientes', 'STRZERO(Val(CharOnly("0123456789", Telefone)), LEN(Telefone))', .F.,'clientes5' },;
{ .f., 'clientes', 'clientes', 'padr(CharOnly("0123456789", Telefone), LEN(Telefone))', .f.,'clientes6' },;
{ .f., 'clientes', 'clientes', 'fantasia', .f.,'clientes7' },;
{ .f., 'clientes', 'clientes', 'dtos(DtUltComp)', .f.,'clientes8' },;
{ .f., 'clientes', 'clientes', 'dtos(DtCadastro)', .f.,'clientes9' },;
#include 'rddleto.ch'
function TesteLETO()
PRIVATE Cli1 := 10, Cli2 := 1000, cGrupo := "01" //----> Pensei q pudesse ser visibilidade tentei LOCAL, PRIVATE, STATIC, PUBLIC
DBCLOSEALL()
DbUseArea( .T., 'LETO', 'Clientes, 'Clientes', .T.)
DBSETINDEX('Clientes.CDX')
// Criando indices temporarios
INDEX ON Clientes->Codigo TAG Temp01 TO (arquivotmp) ;
FOR VAL(Clientes->Codigo) >= VAL(cli1) .and. VAL(Clientes->Codigo) <= VAL(cli2) .and.;
Clientes->MalaDireta=="S" .and. Clientes->Situacao==cGrupo ADDITIVE MEMORY
Browse()
INDEX ON Clientes->Codigo TAG Temp02 TO (arquivotmp) ;
FOR VAL(Clientes->Codigo) >= VAL(cli1) .and. VAL(Clientes->Codigo) <= VAL(cli2) .and.;
Clientes->MalaDireta=="N" .and. Clientes->Situacao==cGrupo ADDITIVE MEMORY
Browse()
return
Itamar M. Lins Jr. escreveu:Olá!
Não vai funcionar em versão nenhuma.
Cli1,cli2,cgrupo não existem do lado do servidor. Nem com nenhum SGBD. Esqueceu que precisa usar '+' para juntar a query ?
Saudações,
Itamar M. Lins Jr
Usuários vendo este fórum: Nenhum usuário registrado online e 11 visitantes