Entendi o que quiseste dizer... e teu raciocínio está correto. A diferença é que no caso do Luiz ele precisa ter 2 tabelas relacionadas ao mesmo tempo com a tabela principal e por isso é necessário 2 joins.
Luiz Fernando,
Tente assim:
cSql="SELECT n.notafiscal,n.tipo,n.cliente,c.razao"
cSql+=" FROM nfe as n"
cSql+=" LEFT JOIN cliente as c on n.cliente = c.codigo AND n.tipo=1"
cSql+=" LEFT JOIN fornecedor as f on n.cliente = f.codigo AND n.tipo=0"
Luiz Fernando,
Nada impede de você fazer assim:
INSERT INTO vendas(campo1,campo2,campo3,campo4,campo5,campo6...campo40) VALUES
(variavel1,variavel2,variavel3,variavel4,variavel5,variavel6...(SELECT custo FROM produto WHERE cod_est="1"))
Edu,
Pelo que entendi o arquivo vem no formato onde o caracter de final de linha é somente o CR. Nos arquitos TXT o caracter de final de linha é o CRLF. Por isso o oText:ReadLine() não funciona diretamente no arquivo. Tem que haver mesmo a conversão, pois não me lembro de existir uma forma de ler nativamente arquivos em formato UNIX.
Brother Aferra, na boa, não é negativismo não. É como o Marcio expôs mais acima... atualmente penso assim: talvez não dê certo, pra ver se dá, entendes? A gente coloca esperanças em uma nova tecnologia porque precisamos colocar à disposição de nossos clientes, aí essa tecnologia não vinga e temos que correr atrás de outras coisas.
Meu querido Aferra, acho que você está confundindo as coisas. Mas de qualquer forma, entendo tua posição, apesar de não concordar. Por isso fique à vontade para pagar os 200 euros.
É brincadeira né? Pagar 200 euros por um produto que ainda está sendo construido? Como dizem aqui na minha terra: "mamar no peito de uma onça parida de 2 dias não quer né?"
Luis Fernando,
Deu erro porque faltou delimitar cada linha de dados a ser inserida com a vírgula (,). Ficaria mais ou menos assim:
SQLBeginTrans()
cSql:="INSERT INTO pedido(pedido,tipo... continuação do codigo
cSql+="VALUES "
for i:=1 to len(aItens)
( "+any2sql(aDados[D_PEDIDO])+" ,"
cSql+=" "+any2sql(aDados[D_TIPO])+" ,"
... continuação do codigo
cSql+=" "+any2sql(aItens[i,26])+"),"
next
//
cSql:=substr(cSql,1,len(cSql)-1) // Pra tirar a última virgula
//
SqlExecute(cSql)
if SQLErrorNO() > 0
fMensagem()
return(.f.)
endif
SqlExecute("commit")
SQLRollBack()
SQLEndTrans()
SQLRefresh()
Kapi,
Brother, não te ilude: O Linares entrega um projeto novo se alguém terminar por ele e se ele perceber que é comercializável. Se não for, vai ficar no meio do caminho como os outros projetos inacabados.
De qualquer forma, a esperança é a última que morre; porque a primeira é a paciência!!!! kkkkkkkkkkkkkkkkkkkkkkkk
De repente pode ser a descrição de um produto que é muito longa e a classe faz a mudança automaticamente, pra poder caber essa descrição... pode ser por ai também.