Ir para conteúdo
Fórum Script Brasil

Alex_DTP

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Sobre Alex_DTP

Alex_DTP's Achievements

0

Reputação

  1. Olá, MrMALJ Na verdade eu preciso ainda listar o Documento da tblDocumento. Se eu incluo este campo o resultado não é o esperado, pois assim ele lista todos os documentos na data que passaram pela seção b. Consegui resolver assim, fazendo uma outra consulta. Uma gambiarra, mas funcionou. Fiz uma query filtrando pelo último ID da tramitação dos documentos, e não pela data. Assim obtive os resultados apenas da última tramitação dos documentos. SELECT tblTramitação.docsID, Max(tblTramitação.tramID) AS MáxDetramID FROM tblTramitação GROUP BY tblTramitação.docsID; Então foi só criar uma relação desta qry com a tblTramitação "amarrando" o resultado na qryDestino SELECT tblDocumentos.docsID, tblDocumentos.Documento, tblTramitação.Destino, tblTramitação.Data FROM qryUltimaTramitacao INNER JOIN (tblDocumentos INNER JOIN tblTramitação ON tblDocumentos.docsID=tblTramitação.docsID) ON [qryUltimaTramitacao].MáxDetramID=tblTramitação.tramID GROUP BY tblDocumentos.docsID, tblDocumentos.Documento, tblTramitação.Destino, tblTramitação.Data HAVING (((tblTramitação.Destino)="Seção b")); Segue o arquivo: consultaUltData.zip Valeu pela força. Alex
  2. Resolvido pelo giesta tblDocumentos (docsID, Documento) tblTramitação (tramID, docsID, Destino, Data) select * from from tblTramitação b , tblDocumentos c , ( select docsID , Max(Data) ultimo_dia from tblTramitação group by docsID ) a where a.docsID = b.docsID AND a.docsID = c.docsID AND b.Data = a.ultimo_dia AND b.destino = 'Seção b'
  3. Pessoal, Tenho a seguinte estrutura como exemplo tblDocumentos (docsID, Documento) tblTramitação (tramID, docsID, Destino, Data) O problema: Ao pesquisar "Destino" como "Seção b", me retornasse todos os documentos que estão na "seção b", ou seja, que a última data da tramitação do documento contivesse "Seção b". Seria: listar todos os documentos em Tramitação agrupando pela última data e então selecionar somente os documentos que contivessem a "Seção b". Já tentei assim, mas não rola porque mostra todos os documentos quando a última data foi na "Seção b": SELECT tbl_documentos.docsID, tbl_documentos.documento, tbl_tramitacao.destino, Max(tbl_tramitacao.data) AS UltimaData FROM tbl_documentos INNER JOIN tbl_tramitacao ON (tbl_documentos.docsID = tbl_tramitacao.docsID) GROUP BY tbl_documentos.docsID, tbl_documentos.documento, tbl_tramitacao.destino HAVING tbl_tramitacao.destino = 'Seção b' Acho que é mais ou menos assim, mas dá erro: SELECT tbl_documentos.docsID, tbl_documentos.Documento, tbl_tramitacao.Destino, tbl_tramitacao.Data FROM tbl_documentos LEFT JOIN tbl_tramitacao ON tbl_documentos.docsID = tbl_tramitacao.docsID WHERE tbl_tramitacao.tramID IN (SELECT tramID, MAX(Data) FROM tbl_tramitacao WHERE "Seção b"); Segue o sql do bd para facilitar: db_ultima_data.sql Resultado esperado neste bd de exemplo: Pesquisando "Seção b" deve retornar os documentos B,C,D,E,F que estão (ou tem sua última tramitação) na "Seção b". Os Docs A e G não devem ser retornados pois encontram-se na seção c e d respectivamente, onde tiveram sua última tramitação. estou há dias quebrando a cabeça, já tentei várias outras coisas mas não deu certo. Agradeço desde já a ajuda de vocês Alex
  4. Alterei o link do arquivo que estava com pau. Agora tá ok. consultaUltData.zip
  5. Olha eu de novo. Segue o exemplo: consultaUltData.zip Observe que na qryDestino_1 usei assim o óbvio mas não funciona: SELECT tblDocumentos.docsID, tblDocumentos.documento, tblTramitação.destino, Max(tblTramitação.data) AS MáxDedata FROM tblDocumentos INNER JOIN tblTramitação ON tblDocumentos.docsid = tblTramitação.docsid GROUP BY tblDocumentos.docsID, tblDocumentos.documento, tblTramitação.destino HAVING (((tblTramitação.destino)="Seção b")); Observe que buscando, por exemplo, por "Seção b" ele me retorna entre os resultados o "Documento A" que a sua última tramitação é na "Seção c". Preciso que me retorne os documentos que sua última tramitação tenha sido na "Seção b" Na qryDestino_2 usei a query que postei no começo do tópico, mas dá erro. Se puder me dar uma luz, agradeço. Alex
  6. Olá, MrMALJ Infelizmente não posso postar o bd que além de ser grande tem informações da empresa e acho melhor evitar, mas vou montar um modelo depois. Ví um caso parecido, que se aproxima bem do que preciso neste tópico, mas não consegui adaptar. http://scriptbrasil.com.br/forum/index.php?showtopic=126312 Valeu por enquanto.
  7. Tenho 2 tabelas (exemplo) tblDocumentos docsID - Documento 1 - Documento tal a 2 - Documento tal b 3 - Documento tal c ... tblTramitação tramID - docsID - Destino - Data 1 - 1 - Seção a - 17/12/2008 2 - 2 - Seção b - 16/12/2008 3 - 3 - Seção b - 14/12/2008 4 - 2 - Seção b - 15/12/2008 5 - 3 - Seção a - 16/12/2008 Preciso que: ao pesquisar "destino" como "Seção b", me retornasse todos os documentos em que a última data da tramimitação contivesse "Seção b". 2 - 2 - Seção b - 16/12/2008 3 - 3 - Seção b - 14/12/2008 Sei que terei que usar uma subconsulta. Seria: listar todos os documentos em tramitação agrupando pela última data e então selecionar somente os que contivessem a seção pesquisada. Acho que o caminho é mais ou menos este: SELECT tblDocumentos.ID, tblDocumentos.Documento, tblTramitação.tramID, tblTramitação.docsID, tblTramitação.Destino, tblTramitação.Data FROM tblDocumentos LEFT JOIN tblTramitação ON tblDocumentos.ID = tblTramitação.ID WHERE (((tblTramitação.tramID) In (SELECT tramID, MAX(Data) FROM tbltblTramitação WHERE ([tbltblTramitação].[Destino]=[Formulários]![frmPesquisa]![Combinação38])))) Mas não está funcionando. O Access dá a seguinte mensagem: "Você gravou uma subconsulta que pode retornar mais de um campo sem usar a palavra EXISTS na cláusula FROM da consulta principal..." Já tentei também de várias outras formas, mas não consegui. Talvez nem seja assim, então se alguém puder me ajudar, agradeço. Alex
  8. Resolvi, ufa!! Nomeei a pg de destino, usei um target no action do form e botei window.close no botão do form no popup. Relativamente simples e eu quebrando a cabeça. Valeu!
  9. Não deu, não. Tá difícil. Assim abre no popup direitinho, e na janela pai abre a página mas sem as variáveis. &lt;script type="text/javascript"> function navegar() { window.opener.location = "escult-editar.php"; window.opener.document.posicao.x.value = x; window.opener.document.posicao.y.value = y; window.opener.document.posicao.idObra.value = idObra; window.close(); return false; } </script> <form action="http://localhost:8080/intradph/w_escult/escultura-editar.php" name="posicao" id="posicao"> ... <input type="submit" value="Atualizar posição" onclick="java script:navegar();"/> Assim ele fecha o popup, mas na pai não leva as variáveis &lt;script type="text/javascript"> function navegar() { window.opener.location = "escult-editar.php"; window.close(); return false; } </script> <form action="http://localhost:8080/intradph/w_escult/escultura-editar.php" name="posicao" id="posicao"> ... <input type="submit" value="Atualizar posição" onclick="java script:navegar();"/>
  10. Pssoal, tenho um formulário num popup que quando for submetido deve fechar o popup, abrir o destino na janela pai levando as váriaveis de url. Estou tentando este script mas não tá dando certo. Algém pode me dar uma luz? &lt;script type="text/javascript"> function navegar() { window.opener.document.location = "editar.php"; window.opener.document.posicao.x.value = x; window.opener.document.posicao.y.value = y; window.opener.document.posicao.idObra.value = idObra; window.close(); } </script> <form action="" name="posicao" id="posicao" onsubmit="java script:navegar();"> <table width="750" border="0" cellpadding="0" cellspacing="0"> <tr> Long: <input name="x" type="text" value="" size="18" /></td> Lat: <input name="y" type="text" value="" size="18" /></td> <input name="idObra" type="hidden" value="" /> <input type="submit" value="Atualizar" /></td> </form> // Já tentei assim também &lt;script type="text/javascript"> function navegar() { window.opener.document.location = "editar.php"; window.opener.document.posicao.x.value = x; window.opener.document.posicao.y.value = y; window.opener.document.posicao.idObra.value = idObra; window.close(); } </script> <form action="editar.php" name="posicao" id="posicao"> <table width="750" border="0" cellpadding="0" cellspacing="0"> <tr> Long: <input name="x" type="text" value="" size="18" /></td> Lat: <input name="y" type="text" value="" size="18" /></td> <input name="idObra" type="hidden" value="" /> <input type="submit" value="Atualizar" onclick="java script:navegar();" /></td> </form> Me parece que só fica tentando pegar o valor do form action. Funciona, só que fica abrindo o destino dentro da janela filho. Alex
  11. Pessoal, valeu a ajuda mas acabei resolvendo num outro forum: Deixo aqui o link para ajudar quem precisar: http://forum.imasters.uol.com.br/index.php?showtopic=310147 Queimei tanto a cabeça com isso que depois com calma vou testar as outras sugestões Valeu Alex
  12. Amigo, Não entendi Devo trazer o script que estava no mapa.html e colcar na pagina.php junto com o link? Você pode detalhar mais. Segue o código do mapa.html inteiro para mostar melhor <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Intranet Preservação</title> &lt;script src="http://maps.google.com/maps?file=api&v=2&key=XXXX" type="text/javascript"></script> &lt;script type="text/javascript"> //<![CDATA[ function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); var center = new GLatLng(AQUI O VALOR LAT, AQUI O VALOR LONG ); map.setCenter(center, 17); map.setMapType(G_HYBRID_MAP); var marker = new GMarker(center, {draggable: true}); GEvent.addListener(marker, "dragstart", function() { map.closeInfoWindow(); }); GEvent.addListener(marker, "dragend", function() { marker.openInfoWindowHtml("Desenvolvendo"); }); map.addOverlay(marker); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GOverviewMapControl());; } } //]]> </script> <style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style></head> <body onload="load()" onunload="GUnload()"> <div id="map" style="width: 760px; height: 500px"></div> </body> </html>
  13. Pessoal, estou quebrando a cabeça e não consegui encontrar nada esclarecedor Quero pegar o "valor" passado pela URL. Tenho um link em pagina.php <a href="mapa.html?lat=<?php echo $row_rsCoordenadas['latitude']; & long=<?php echo $row_rsCoordenadas['longitude'];?>" onclick="MM_openBrWindow('mapa.html','gmap','width=760,height=500')" />Mapa</a> e um javascript em mapa.html . . . function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); var center = new GLatLng( AQUI O VALOR LAT, AQUI O VALOR LONG ); . . . Como pegar o valor 'lat' e 'long' passados pela página em php ? Valeu por enquanto. Alex
  14. Então, dei uma olhada nos recursos do ADDT mas não consegui achar intuitivamente como fazer, já que não domino muito bem os recursos. Mas vou dar uma pesquisada la no forum do DW. Você tem razão, já que usei a extensão fica mais complicado mexer no código e além do mais, agora, no estágio que meu projeto está, prá refazer não vai dar. Será mesmo uma mão na roda se eu puder implementar isto com os próprios recursos da extensão. De qualquer forma, a dica do Juan já me ajudou a entender a solução. Agora vou repensar o uso de extensões em determinadas situações e encarar o código. Vai ser bom para facilitar as personalizações e melhorar o meu aprendizado. Valeu, Alex
  15. Legal! Vou ver com calma como consigo adaptar e depois posto. Valeu, Alex
×
×
  • Criar Novo...