-
Posts
2,514 -
Joined
-
Last visited
-
Days Won
19
Everything posted by evandro
-
Olá, Dá para usar os comandos DBF, só que é um quebra-galho. O certo é você "brincar" bastante com o SGDB escolhido ( recomendo MySql ) antes de migrar. Depois de migrar teste todas as rotinas para ver se deu algum problema e ver também questão de tempo de processamento. Tem rotina que vai ficar mais rápida e outras vão ficar mais demoradas. Priorize a conversão das rotinas que ficarão mais lentas e/ou das que são mais críticas.
-
Olá, O problema é o subselect, que também se faz presente na sugestão do João. Sugiro criar uma tabela temporária, criar um índice nesta tabela e relacionar (join) com a principal. Seria algo mais ou menos assim: create TEMPORARY table temp SELECT MAX(pe.data) AS data, pe.produto FROM pedido as pe WHERE pe.tipo='1' and data < '2015-11-30' GROUP BY pe.produto ORDER BY pe.produto; CREATE INDEX produto ON temp (produto); SELECT temp.data, prod.produto, prod.descricao FROM produto as prod LEFT JOIN temp ON prod.produto = temp.codigo;
-
Olá, O problema é que normalmente as leis, portarias, regulamentações, etc. acontecem e os responsáveis não nos informam. Acham que somos mágicos. Aí, na última hora, é que chega pra gente: "se virem nos 30". Comigo isto acontece todo dia.
-
Olá, Vou pesquisar uma ocasião que tenha voo mais barato ( afinal sou mineiro, né?) e farei a sugestão de data.
-
Olá, Pessoal, esqueçam o Christiano. Querem fazer um encontro? Façamos. Como já se vão trocentos anos sem ter o ENCONTRO (congresso), sugiro marcarmos um encontro "para bater papo e rever os amigos.." e até traçar planos para um ENCONTRO. Putz! que tanto de encontro!
-
Olá, Verifique se na máquina que dá o problema não tem instalado programa do BB ou da Caixa. Se tiver é isto. Eles instalam um sistema de segurança que faz a maior m...
-
Olá, Utilizo sem problemas também.
-
Olá, Não falei que o "Nanico" é bom nisso?
-
Olá, Claro que não se usa DBSEEK. O que postei foi apenas respondendo ao João, não contestando a capacidade de se fazer a rotina, ou seja, não estou viajando. Aliás, até estou. No momento estou em Brasília.
-
Olá, O "Nanico" é bom nisso! A rotina ficou nota mil. É só ele acordar que deve aparecer.
-
Olá, Discordo totalmente. O Alex2002 desenvolveu uma rotina que faz esta busca mais rápido do que se fosse DBF (argh!). Creio até que ele já postou esta rotina por aqui.
-
Olá, Verifique se tem índice do campo CODVEN, tabela VENDAS. Na criação das tabelas temporárias não precisa do GROUP BY.
-
Olá, Isto pode ser feito no MySql também.
-
Olá, Altere a linha para o modelo abaixo. cSql+=" marg1 = IF(custo>0, ("+Any2Sql(cVlrAtu)+"-custo)*100/custo), 0 ) "
-
Olá, Interessante que do jeito que postei gerou normalmente. Só mudei o BD, a tabela e os campos. Não retorna erro?
-
Olá, Tente assim: function tr_etiqueta_g() cSql:='USE empresoft;' SqlExecute(cSql) cSql:='DROP TRIGGER tr_etiqueta_g;' SqlExecute(cSql) cSql:='CREATE' cSql+=' TRIGGER tr_etiqueta_g' cSql+=' AFTER' cSql+=' INSERT' cSql+=' ON altepre' cSql+=' FOR EACH ROW BEGIN' cSql+=' INSERT INTO etique_gandola ( produto,preco,conferido )' cSql+=' VALUES ( new.codigo, new.vlratu, "N" ) ;' cSql+=' END;' cSql+='' SqlExecute(cSql) return .t.
-
Olá, Faça uma rotina que verifique a existência. Caso não exista, crie. aSql := SqlArray( 'SHOW TRIGGERS FROM empresoft ' ) for i := 1 to len( aTriggers ) nAchou:=AAscan( aSql, lower(aTriggers[i]) ) if nAchou=0 if !CriaTrigger( aTriggers[i] ) MsgAlert( 'problema', 'Problema' ) endif endif next return nil static function CriaTrigger( cTrigger ) if cTrigger='tr_etiqueta_g' cSql:='USE empresoft;' cSql+='' cSql+='DROP TRIGGER tr_etiqueta_g;' cSql+='' cSql+='CREATE' cSql+=' TRIGGER tr_etiqueta_g' cSql+=' AFTER' cSql+=' INSERT' cSql+=' ON altepre' cSql+=' FOR EACH ROW BEGIN' cSql+=' INSERT INTO etique_gandola ( produto,preco,conferido )' cSql+=' VALUES ( new.codigo, new.vlratu, "N" ) ;' cSql+=' END;' cSql+='' SqlExecute(cSql) endif return .t.
-
Olá, Você sabe das nossas dificuldades com a escassez de pessoal, portanto nem preciso falar que apoio integralmente.
-
Olá, Seria algo assim: create temporary table temp1 SELECT vda.CODVEN, SUM(vda.QTDVEN) AS TOTAL_VENDIDO, COUNT(*) AS Num_Pedido FROM vendas AS vda where vda.COD_PRODUTO = 1 GROUP BY vda.CODVEN; create index temp1 on temp1 ( codven ) create temporary table temp2 comp.COD_PRODUTO, SUM(comp.QTDE_COMPRADA) AS TOTAL_COMPRADO, COUNT(*) AS Num_comprado from compras as comp where comp.COD_PRODUTO = 1 GROUP BY vda.CODVEN; create index temp2 on temp2 ( codven ) SELECT vda.CODVEN, vda.TOTAL_VENDIDO, vda.Num_Pedido, comp.COD_PRODUTO, comp.TOTAL_COMPRADO, comp.Num_comprado, comp.QTDE_COMPRADA-vda.QTDVEN AS SALDO FROM temp1 AS vda LEFT JOIN temp2 AS comp ON vda.CODVEN = comp.COD_PRODUTO
-
Olá, Crie uma tabela temporária das vendas e outra das compras com os filtros que forem necessários. crie índice pelo código do produto em ambas. Finalmente faça o select com o join nas tabelas resultantes.
-
Olá, Fiz o AR que imprime 2 por página, que deve ser o que você quer. No formulário coloquei apenas um MasterData da altura de meia página com todas as informações no MasterData. Funciona perfeitamente.
-
Olá, Primeiro agradecer pela alcunha de "Pilantra" hehehehe. É claro que fazer um Encontro em Petrópolis, Curvelo ou outra cidade do interior tem inúmeras vantagens, teremos o maior prazer em organizar, mas tem uma desvantagem que mata tudo: deslocamento, logística. É muito mais complicado do que se for em SP ( que tem a maioria do fivewiners ) ou BH (que tem os mais presentes nos Encontros). O tema, muito bem colocado pelo Marcelo, deve ser os rumos a adotar para Web e Mobile. Os outros, citados anteriormente, são específicos para um ramo de negócio. Pode até ser abordado também, claro, mas vejo que o primordial é traçarmos um caminho a seguir, orientarmos para o futuro, que já é presente. E nem preciso reafirmar que sendo em Petrópolis, Rio, Curvelo, BH, SP, Guarulhos ou onde for, estarei presente.
-
Olá, Ainda mais agora com a aprovação do Barak.... É só marcar a data.
-
Olá, Você acha que o Marcelo vai fazer um evento destes na mega loja da Rua Teresa? Nada disto. Tem outros locais muito mais apropriados. Até a casa dele deve comportar. Ele morava numa mansão num sítio, mudou para outra melhor. Imagine esta nova! Além disto tem vários locais bacanas.
-
Olá, Já houve Encontro em Curvelo. Alguém já soube de algum em Petrópolis?