Eu tenho esse codigo que deve receber o valor de que a consulta retorna em cada campo da tabela SF2, mas ao inves de retornar o valor, ele ta retornando o nome do campo, como eu arrumo isso? Acredito que o problema esteja nas ultimas 5 linhas
Local aCampSF2 := FWSX3Util():GetAllFields('SF2', .F.)
cQuery := "SELECT DISTINCT " +;
" * " +;
"FROM " +;
RetSqlName("SF2") + " sf2 " +;
RetSqlName("SF3") + " sf3 " +;
RetSqlName("ZZ5") + " zz5 " +;
"WHERE " +;
"f2_filial = '" + cCodFilial + "' " +;
"AND " +;
"f2_doc = '" + cDoc + "' " +;
"AND " +;
"f2_serie = '" + cSerie + "' " +;
"AND "+;
"f2_emissao = '" + cDtEmi + "' " +;
"AND " +;
"sf2.de_l_e_t = '*' "
//Criar alias temporário
cAliasQry := MPSysOpenQuery(cQuery)
For nI := 1 To Len(aCampSF2)
aAdd(aDados, {(cAliasQry)->(aCampSF2[nI])})
Alert(cValToChar(aDados[nI, 1])
Next nI
Alert(Len(aDados))
1 curtida
Nossa cara tem muito erros nesse script
1 curtida
Precisa mesmo retornar todos os campos destas 3 tabelas?
1 curtida
Sim eu preciso de todos os campos, e pode me falar mais ou menos onde estão os erros?
1 curtida
Local aCampSF2 := FWSX3Util():GetAllFields('SF2', .F.)
cQuery := "SELECT DISTINCT "
cQuery :+ " * "
cQuery :+ "FROM "
cQuery :+ RetSqlName("SF2") + " SF2 "
cQuery :+ RetSqlName("SF3") + " SF3 "
cQuery :+ RetSqlName("ZZ5") + " ZZ5 "
cQuery :+ "WHERE "
cQuery :+ "F2_FILIAL = '" + cCodFilial + "' "
cQuery :+ "AND F2_DOC = '" + cDoc + "' "
cQuery :+ "AND F2_SERIE = '" + cSerie + "' "
cQuery :+ "AND F2_EMISSAO = '" + cDtEmi + "' "
cQuery :+ "AND SF2.D_E_L_E_T_ = '' "
//Criar alias temporário cAliasQry := MPSysOpenQuery(cQuery)
For nI := 1 To Len(aCampSF2)
aAdd(aDados, {(cAliasQry)->(aCampSF2[nI])})
Alert(cValToChar(aDados[nI, 1])
Next nI
Alert(Len(aDados))
DICAS: SQL É CASESENSITIVE, MESMO EU DANDO ESSA ARRUMADINHA NESSE SCRIPT, AINDA ACREDITO QUE ELE NAO FUNCIONE, VOCÊ ESTA QUERENDOO CONSULTAR 3 TABELAS DE 1 VEZ, SEM AMARRAÇÃO SEM NADA. QUANDO O DELET EM O * QUER DIZER QUE O DADO JÁ FOI "DELETADO".
1 curtida
A consulta completo retorna apenas um valor pra cada campo, porque nela tem inner joins, ai eu preciso que o valor que vai retornar em cada campo seja passado para uma posição na lista aDados
1 curtida