Jump to content
Fivewin Brasil

kleyber

Membros
  • Posts

    1,264
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by kleyber

  1. Oscar, Vamos lá: 1 - Eu preciso fazer isso porque eu tenho um único sistema que atende a vários setores e vez por outra há necessidade de ajustar o banco para atender a alguma necessidade específica de um setor. Então eu preciso que o banco se ajuste automaticamente aos novos layouts que são documentados dentro da programação. - Vocês tem algum exemplo de como eu posso fazer isso com SQL? Particularmente eu criaria um banco de dados para cada setor, para que fique bem definido o projeto para que setor funciona. Você nunca conseguirá atingir todos os setores com apenas um único banco, a não ser que na tua definição de banco de dados (modelagem) você vá definindo várias tabelas específicas para cada setor. 2 - Vocês tem algum exemplo de como eu posso configurar o banco de dados para multi-empresas com tabelas separadas por loja conforme parametrizado pelo cliente? O melhor exemplo que eu posso te dar, seria uma modelagem de um banco, pois é nela que eu defino nas tabelas se vai ter uma que tenha o cadastro das empresas e se for assim, todas as demais tabelas terão que ter o código dessa tabela de empresas (chave estrangeira). Como você pode ver, tudo passa pela modelagem do banco. Pra ter um sistema eficiente usando bancos SQL, é necessário criar um projeto de banco de dados para que não seja necessário ajustar posteriormente, a não ser que haja algum erro durante o projeto.
  2. Edutraini, Não sou de São Paulo, mas se você puder fazer um curso de SQL, é interessante sim. Os colegas que moram em SP devem ter sugestões. Como diz um amigo meu: "Conhecimento diminui limitações".
  3. Oscar, Complementando as respostas: 1 - Realmente é possível, inclusive tem posts aqui no fórum mostrando como se faz isso; 2 - Este é um ponto crítico, pois se precisa alterar a estrutura de uma tabela significa que a modelagem de dados não foi bem definida, pois TODAS as possibilidades tem que ser checadas nessa fase. Se realmente houver a necessidade de se modificar uma tabela, isto deve ser analisado com muita cautela, pois pode ter várias implicações no teu banco de dados. É possível sim, mas vejo com muuuuuuuita cautela. Daí quando isto acontece o bom mesmo é rever toda a modelagem do banco. 3 - Se você tiver o banco remotamente (hospedado em algum provedor ou do próprio cliente mas que seja acessível via WEB) isto ocorre sem problema nenhum e com uma facilidade muito maior do que com DBF. Só pra concluir, pensem no seguinte: 1 - DBF não é banco de dados; é um repositório, pois todo o controle de transações, índices etc, é feito no sistema. 2 - Bancos SQL contém a DDL (Data Definition Language), usando SQL e é onde você faz todas as criações / modificações possíveis mas dentro do próprio ambiente do banco. 3 - Esqueçam os métodos/jeitinhos/gambiarras que costumamos fazer com DBF; Com bancos SQL é outra história.
  4. Grande Valdir blz? Bom, deixa eu te dar algumas dicas: 1 - Para usar SQL é de vital importância deixar de pensar da forma que se usa DBF para entender melhor o SQL. A cultura muda, os comandos mudam, o controle de tudo fica por conta do banco, etc. Então o que você puder ler sobre SQL (tem vários tutoriais bons falando sobre o assunto na internet) leia, vai te ajudar muito, principalmente porque em desenvolvimento com SQL a parte mais importante é o banco de dados. O programa em si vai ser apenas pra mostrar os dados que estão no banco, mas você vai poder até mesmo colocar as regras de negócio no próprio banco de dados, permitindo assim uma portabilidade muito grande; 2 - Veja tudo o que puder sobre normalização de banco de dados. Isto vai te ajudar a rever as tuas tabelas DBF com seus relacionamentos e então pensar em criar um banco no MySQL com todos os relacionamentos pré-definidos, sem criação de problemas posteriores, tipo retrabalho (em criar o banco). 3 - A partir daí tente migrar teu sistema VISANDO usar unicamente o SQL. O SQLLIB ou qualquer outro RDD te permite isso, tem até mesmo a classe TDolphin do Daniel Garcia que permite isso, mas veja bem, ESCREVER em SQL é bem melhor do que usar o SQLLIB para continuar usando comandos xBASE, pois vais perder e muito em questão de performance do banco, principalmente se o banco for remoto. Parece meio difícil, mas na verdade não é. Se seguires estes passos com certeza você poderá fazer a migração do teu sistema de uma forma muito mais segura e consistente. De qualquer forma, é só minha opinião. Abraços,
  5. Luiz Fernando, Se entendi bem, poderia ser assim: cSql="SELECT concat(pe.fornecedor,'-',f.razao),date_format(pe.data,'%d/%m/%Y'),pe.qtd,pe.valor" cSql+=",(SELECT px.qtd FROM pedido as px LEFT JOIN forne as f on px.fornecedor = f.codigo WHERE pe.data >= "+Any2Sql(cGet[3]) cSql+=" AND pe.data <= "+Any2Sql(cGet[4]) cSql+=" AND pe.produto ='"+cGet[1]+"'" cSql+=" AND pe.tipo='2'" cSql+=" GROUP BY pe.fornecedor" cSql+=" ORDER BY pe.fornecedor,pe.data desc LIMIT 1) Quantidade," cSql+=",(SELECT px.valor FROM pedido as px LEFT JOIN forne as f on px.fornecedor = f.codigo WHERE pe.data >= "+Any2Sql(cGet[3]) cSql+=" AND pe.data <= "+Any2Sql(cGet[4]) cSql+=" AND pe.produto ='"+cGet[1]+"'" cSql+=" AND pe.tipo='2'" cSql+=" GROUP BY pe.fornecedor" cSql+=" ORDER BY pe.fornecedor,pe.data desc LIMIT 1) Valor" cSql+=" FROM pedido as pe" cSql+=" LEFT JOIN forne as f on pe.fornecedor = f.codigo" cSql+=" WHERE pe.data >= "+Any2Sql(cGet[3]) cSql+=" AND pe.data <= "+Any2Sql(cGet[4]) cSql+=" AND pe.produto ='"+cGet[1]+"'" cSql+=" AND pe.tipo='2'" cSql+=" GROUP BY pe.fornecedor" cSql+=" ORDER BY pe.fornecedor,pe.data asc" Não testei mas deve funcionar.
  6. Este é o meu posicionamento desde 2010, quando decidi usar o Scriptcase para desenvolvimento WEB (PHP + Javascript + Ajax embutido), pois não adianta se iludir com a evolução do Fivewin para WEB, MAC, Android ou qualquer outra plataforma, porque não vai, segundo o exposto pelo Gilmer. Para desktop, mantenho meus sistemas no FWH, mas pra WEB uso Scriptcase, mas sempre de olho em outras ferramentas que possam acelerar o meu processo de desenvolvimento, pois é exatamente isto que vocês estão dizendo: não existe mais uma linguagem de progrmação absoluta, então é sempre buscar novas opções e estar disposto a aprender para fazer um bom uso delas, conforme a necessidade do cliente. Aqui na minha região, por exemplo, a maioria das empresas quer um sistema misto (WEB + Desktop) onde na empresa usam o sistema em rede local, mas que os supervisores, gerentes e até o dono da empresa acessem na WEB pra acessarem as informações do sistema. Então o lance mesmo é analisar uma outra ferramenta na qual você se adapte melhor e estudar, pra depois obter resultados positivos.
  7. Gilmer, A Flexdocs já lançou a dll para NFC-e e já está em testes em Manaus.
  8. Kapi, Tente mudar o navegador padrão para o Chrome, por exemplo, e execute a rotina. A princípio não muda nada, mas veja ai.
  9. Oscar, Teu xHarbour é comercial? Se sim, veja o suporte deles e mostre o que está acontecendo. Se não, é como o Lailton diz, o xHarbour free tem muito menos atualização que o Harbour. Eu tenho sistemas rodando com xHarbour+FWH e funcionam 100% usando DBF, mas as últimas versões do Harbour tem sim sido sistematicamente melhores que o xHarbour. De qualquer forma, se tiveres tempo e disposição, te aconselho a pegar um sistema pequeno e migrar para o Harbour. Se puderes usar o MSVC vai ser melhor ainda.
  10. Oscar, Recentemente peguei um projeto aqui e fui experimentar migrar pra Harbour e usando MSVC 2010. Achei a performance do Harbour muito melhor. mas a melhor resposta você vai ter quando você mesmo pegar um pequeno projeto e começar a migrar.
  11. Poste a rotina completa. Está parecendo que seja algo com os teus arquivos DBF.
  12. Pessoal, Aproveito a oportunidade para desejar-lhes Boas Festas e um Feliz Natal. E que venha 2014 com tudo de bom para todos!!!! Grande abraço
  13. Senhores, Vendo este tópico, gostaria de fazer uma pergunta: Há realmente a necessidade de se recriar os índices em um banco SQL? Eu tenho trabalhado com bancos SQL desde 2009 e nunca vi a necessidade de se recriar índices, até porque quem gerencia isso é o próprio banco e não o nosso sistema, tal como fazemos em dbf. Fica só a questão.
  14. Ale boa tarde, te mandei um email pra aleseribeli@hotmail.com. Recebeste? Preciso falar conm você. Obrigado e desculpe entrar no tópico para falar de algo que não tem a ver com o assunto.
  15. Ale boa tarde, Te enviei um email para aleseribeli@hotmail.com. Recebeste? Preciso falar contigo. Abraços,
  16. Kapi, Só complementando... e muito LEEEENTO também.
  17. Oscar, Estou acompanhando este teu dilema e sinceramente acho que pode ser uma questão de nome de variável que pode ter sido criada em outro prg, fazendo com que a variável que contenha o alias do teu dbf seja recriada. Foi isso que aconteceu comigo e passei dias para descobrir. Terias que fazer um pente fino no teu sistema para descobrir onde essa variável é chamada ou criada ou acessada.
  18. Kapi, Crie um arquivo .RC e inclua os teus .FR3 da seguinte forma: MINUTA RCDATA "D:\Kleyber_TK\Plastnorte\minuta.fr3" Depois é só incluir este .RC no teu projeto e mandar compilar.
  19. Muito bom, não sabia destes recursos. Obrigado por compartilhar.
  20. Bom, como eu moro longe, não tenho como ir sempre na Padoca sempre... daí eu concordo totalmente com Evandro, sobre os 2 Encontros. Creio que um Congresso tem que ter uma meta e um tema a se perseguir. No demais, é sempre melhor termos encontros informais, mas infelizmente pra mim não dá.
  21. Daniel, Interessante tua sugestão... só fica a dúvida: Como faz pra configurar o servidor MySQL automáticamente, no caso da máquina onde está instalando ser servidor?
  22. Valdir, Concordo 100% contigo. Infelizmente fica muito caro pra mim, por exemplo, sair de São Luís-MA só pra encontrar os amigos na Padoca, mesmo que isto seja excelente pelo fato de reencontrar os amigos. Encontro é um evento informal, já um Congresso é diferente. Creio que a esta altura do campeonato é melhor nos prepararmos para o ano que vem mesmo.
×
×
  • Create New...