Ir para conteúdo
Fórum Script Brasil

Fells

Membros
  • Total de itens

    23
  • Registro em

  • Última visita

Sobre Fells

  • Data de Nascimento 01/03/1991

Perfil

  • Gender
    Male

Últimos Visitantes

1.057 visualizações

Fells's Achievements

0

Reputação

  1. Srs, ainda estou no aguardo de uma manifestação de ajuda!
  2. Vamos resumir: Não entendo bulhufas... então PORRR FAVOOOR me ajudem a criar um laço onde eu pego um numero de cpf coloco no array, pego outro cpf e comparo com o(s) que esta(ão) no array. Se já tiver algum cpf igual ele pula ou não faz nada ou qualquer coisa, mais não insere no array. Se não tiver nenhum cpf igual a aquele comparado ele é inserido no array. Quero um array com varios cpfs, porem que nenhum se repita. O resto eu me improviso. Só uma duvida: isso abaixo ou algo do tipo, funcionaria? If Array = Nothing THEN Array(0) strCPF ' variavel que vai armazenar o num do cpf do BD End If For i = 0 to 19 '(ou FOR i = 0 to Array.Length) If Array(i) = strCPF Next Else Array(i) = strCPF End If
  3. Seguinte, eu peguei um programa em VB na sexta feira e recebi a missão de criar (de preferencia) um array que fizesse isso que informei na 1ª explicação. Mas eu não sei naaaaaaaada de VB, então me perdoem a "burrice". No BD tem 6 campos diferentes que guardam CPF's "diferentes". O programa roda as instruções abaixo: 'Instrução para selecionar os dados do Inspetor 1 (1 de 6) 'Essa instrução se repete + 5 vezes para pegar o conteudo dos outros inspetores/campos CPF strSql = "SELECT Count(Instr_local.CPF_inspetor) as numInstrumentos, Instr_local.CPF_inspetor, Pessoas.nome , Login.Email" strSql = strSql & " FROM Instrumentos" strSql = strSql & " INNER JOIN Instr_local ON Instrumentos.Cod_local = Instr_local.Cod_local" strSql = strSql & " INNER JOIN Pessoas ON Instr_local.CPF_inspetor = Pessoas.CPF" strSql = strSql & " INNER JOIN Login ON Pessoas.CPF = Login.CPF" strSql = strSql & " WHERE (" 'Manda Apenas as calibrações vencidas strSql = strSql & " YEAR(Instrumentos.Prox_calibr) < YEAR(GETDATE()) OR" strSql = strSql & " MONTH(Instrumentos.Prox_calibr) < MONTH(GETDATE()) AND YEAR(Instrumentos.Prox_calibr) = YEAR(GETDATE())" strSql = strSql & " )" strSql = strSql & " GROUP BY Instr_local.CPF_inspetor, Pessoas.Nome, Login.Email" 'Executa a consulta SQL Set objRS = CreateObject("ADODB.Recordset") objRS.Open strSql, objCon, 3, 3 If Not (objRS.BOF And objRS.EOF) Then While Not objRS.EOF 'Define os dados a serem enviados para o usuário via email strNome = objRS("Nome") strEmail = objRS("Email") strCPF = objRS("CPF_inspetor") strLink = "http://" & strServidor & "/Qualidade/Calibracao/Email_instr_calibr4.asp?CPF=" & strCPF strMensagem = strNome & "<br><br>Há <span style='color: #ff0000;' >" & objRS("numInstrumentos") & "</span> instrumento(s) de sua responsanbilidade que precisa(m) ser calibrado(s).<br><br><br>Para consultar, <a href=" & strLink & ">clique aqui</a>.<br><br><br>" 'Envia a mensagem de aviso da calibração str = Envia_email(strDeNome, strDeEmail, strNome, strEmail, strAssunto, strMensagem) objRS.MoveNext Wend End If Se deixar assim do jeito que esta (lembrando que há mais CPF's de outros inspetores), cada vez que o a instrução localizar o CPF repetido da pessoa, ele mandará um e-mail (o mesmo e-mail). Por isso a necessidade do Array. Quando o programa processar o inspetor 1, o array "guardaria" os CPF's encontrados sem repeti-los. Quando o programa rodar a intrução do inspetor 2, o array já tem alguns CPF's lá que irá comparar com os CPF's encontrados para o inspetor 2. Se achasse algum igual ele não faria nada pois já tem aquele CPF, mas se ele achasse algum diferente do que ele já possui no array adicionaria na lista para que quando for para o inspetor 3, 4, 5 e 6 fazer a mesma comparação, adicionar ou não os CPF's e encaminhar apenas um e-mail, uma unica vez, para os inspetores contidos no array. Podem me ajudar por favor????
  4. Bom dia galera, beleza? Como crio um array de CPF não repetidos? Vou explicar: Tenho um banco com varios campos de CPF's (CPF_responsavel, CPF_inspetor, CPF_inspetor2, CPF_inspetor3 ..... ) que podem ser repetidos. Por exemplo, no CPF_inspetor2 tenho o CPF 99988877766. Se eu verificar o campo CPF_inspetor3 eu posso achar o mesmo CPF 99988877766. O problema não é repetir, o problema é que tem um programa (em VB6) que manda emails para essas pessoas assim que localiza o CPF da mesma em algum desses campos. Para evitar que a pessoa receba 20 emails iguais (caso o programa ache o CPF dela 20 vezes), queria implementar no codigo um array. Assim a ideia seria comparar o CPF e ver se ele é repetido ou não. Pego um CPF insiro no vetor, pego outro CPF comparo com o(s) CPF(s) que tem no vetor. Se for igual não guardo ele no array, se for diferente GUARDO no array. Pego outro CPF e comparo novamente e assim por diante até que não tenha mais CPF para comparar. Desta forma terei uma lista com apenas um CPF de cada pessoa e encaminho apenas um email. Deu para entender mais o menos galera? Sou iniciante e não manjo muito de array. Mais preciso desenvolver algo urgente para solucionar o problema. Abraços.
  5. [RESOLVIDO] Bom dia Rafaeelll... Vlwws cara! Isso mesmo... funfou. você me ajudou pácas... Ta aee o código em que me ajudou. Ele compara certinho agora. O problema é que a instrução sql não esta trazendo o que eu de fato gostaria, mais vou abrir outro post porque já é outro assunto. Valeu mesmo cara. ' Cria-se uma variavel com mes/ano do Sistema Datasistem = 0 DataSistem = CDate(01 &"/"& Month(date) &"/"& Year(date)) 'trecho que adiciona o zero a esquerda no mes que tiver apenas 1 digito. Ex.: dd/m/aaaa - transforma para dd/MM/aaaa! If Len(MONTH(DataSistem)) < 2 THEN DataSistem = CDate(01 &"/0"& Month(date) &"/"& Year(date)) End If ' Cria-se uma variavel com mes/ano do BD RsProx = 0 RsProx = CDate(01 &"/"& Month(rs.Fields("Prox")) &"/"& Year(rs.Fields("Prox"))) 'trecho que adiciona o zero a esquerda no mes que tiver apenas 1 digito. Ex.: dd/m/aaaa - transforma para dd/MM/aaaa! If Len(Month(rs.Fields("Prox"))) < 2 THEN RsProx = CDate(01 &"/0"& Month(rs.Fields("Prox")) &"/"& Year(rs.Fields("Prox"))) End If 'Exemplo de um dos itens que é exibido no sisteminha. 'NÚMERO DO PATRIMONIO ******************************************************************************* 'If faz a comparação das datas... e pinta de vermelho os dados das calibrações vencidos. If (RsProx < DataSistem) THEN %> <td width="15%" align="center"> <font size="1" color = '#FF0000' ><%=rs.Fields("Num_patr").Value%></font> </td> <%Elseif (RsProx >= DataSistem) THEN%> <td width="10%" align="center"> <font size="1" color = '#000000'><%=rs.Fields("Num_patr").Value%></font> </td> <%Else%> <td width="15%" align="center"> <font size="1" color = '#DAA520'>Há erro(s) aqui!</font> </td> <% End if 'NÚMERO DO PATRIMONIO *******************************************************************************
  6. Bom dia galera, Feliz 2012. Bom, tenho um probleminha e gostaria da ajuda de vocês. Desenvolvo em ASP. Peguei um sistema meio pronto já onde há uma instrução (no codigo abaixo) para trazer dados do SQL. Esses dados se alteram de acordo com quem acessa o sistema. O mesmo identifica o cpf do usuario e traz os dados do banco que se referem aquele determinado usuário apenas. É um sistema de calibração de instrumentos que exibe alguns dados do item juntamente com a ultima calibração feita (Dat_calibr) e a proxima a se fazer (Prox_calibr). O problema é que não consigo fazer com que os dados com proxima calibração vencida sejam exibidos pintados de vermelho e os itens a vencer continuem em preto. Ele simplesmente esta exibindo TUDO em preto. Abaixo tem um exemplo (NÚMERO DO PATRIMONIO) de como tentei fazer, mais não funfou. Aparentemente estou com problemas pra comparar datas. Parece idiota, mais esta me dando mta dor de cabeça tentar resolver porque não estou conseguindo. rs Vlwws 'Select para pegar os dados do banco pertinentes ao usuário logado sql = "SELECT *, convert(NVARCHAR(10), Dat_calibr, 103) AS Dat , convert(NVARCHAR(10), Prox_calibr, 103) AS Prox " sql = sql & " FROM Instrumentos " sql = sql & " INNER JOIN Instr_local ON Instrumentos.Cod_local = Instr_local.Cod_local AND Instr_local.CPF_respons =" & "'" & request("CPF") & "'" sql = sql & " WHERE (" 'Calibrações vencidas e que vencem no mes atual sql = sql & " YEAR(Instrumentos.Prox_calibr) < YEAR(GETDATE()) OR " sql = sql & " MONTH(Instrumentos.Prox_calibr) <= MONTH(GETDATE()) AND YEAR(Instrumentos.Prox_calibr) = YEAR(GETDATE())" sql = sql & " ) OR" sql = sql & " (" 'Calibrações a vencer no mês seguinte e que estão marcadas como "Notificar calibração a vencer" sql = sql & " ((MONTH(Instrumentos.Prox_calibr) = MONTH(DATEADD(MONTH, +1, GETDATE())) AND MONTH(DATEADD(MONTH, +1, GETDATE())) <=12) AND YEAR(Instrumentos.Prox_calibr) = YEAR(GETDATE()) ) OR" sql = sql & " ((MONTH(Instrumentos.Prox_calibr) = MONTH(DATEADD(MONTH, +1, GETDATE())) AND MONTH(DATEADD(MONTH, +1, GETDATE())) =13) AND YEAR(Instrumentos.Prox_calibr) = YEAR(DATEADD(YEAR, +1, GETDATE())) )" sql = sql & " AND Instr_local.flg_aviso_calibracao_avencer = 1 )" sql = sql & " ORDER BY Instrumentos.Prox_calibr" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, Session("Gestao_conn"), 3, 3 If Not rs.bof AND Not rs.EOF Then rs.MoveFirst ' Cria-se uma variavel com mes/ano do sistema DataSistem = Month(date) &"/"& Year(date) ' trecho que adiciona o zero a esquerda no mes que tiver apenas 1 digito. Ex.: dd/m/aaaa - transforma para dd/MM/aaaa! If Len(MONTH(DataSistem)) < 2 THEN DataSistem = "0"& Month(date) &"/"& Year(date) End If Do While Not rs.EOF %><tr><% '************************************************************************************************************************ 'NÚMERO DO PATRIMONIO ************************************************************************************************** 'If faz a comparação das datas... pega-se com o MID o mes e ano e compara com a data do sistema (DataSistem) 'e pinta de vermelho os dados das calibrações vencidos. If (MID(rs.Fields("Prox"),4,7) < DataSistem) THEN %> <td width="15%" align="center"> <font size="1" color = "red"><%=rs.Fields("Num_patr").Value%></font> </td> <%Else%> <td width="15%" align="center"> <font size="1"><%=rs.Fields("Num_patr").Value%> - <%=MID(rs.Fields("Prox"),4,7)%> - <%=DataSistem%> </font> </td> <% End if %>
  7. Ricardo, Fulvio... eu jurava que tinha deixado alguma resposta pra vocês aqui sobre nosso assunto mais lembrei que no dia quando estava escrevendo o pessoal mexeu na força e caiu tudo aqui... ai quando voltou acabei esquecendo... Então galera... fiz o que o Fulvio disse sobre o comando Unique... Importei as tebelas que queria novamente e inseri Unique nos campos que precisavam ser unicos! Ai deu certinho!! Agradecido!!! Sei que é quinta, mais tenham um bom fds.
  8. Então cara... o CODIGO (PK) é gerado sozinho... o usuário não faz isso... porem esse NUMERORM e NUMEROAMOSTRA são eles que digitam. Assim... a empresa finaliza uma peça e os proprio pessoal atribui esses dois números para cada peça manualmente... é meio estranho, mais é um padrão da empresa, enfim! Ai já que eles fazem isso manualmente, eles queria um jeito de esse número não se repetir! Ai achei que entrando no SQL Server/Tabela/Design Table e selecionar a coluna e dizer que era uma PK me ajudaria, mais não deu! Não sei como posso fazer isso... Aquelas soluções que me passou eu entendi +/- Fulvio.
  9. Boa dia e boa semanaa!!! A duvida da vez é: tenho várias colunas na minha tabela... CODIGO (PK), NUMERORM, CATEGORIA, TIPO, NUMEROPECA, QTDE, NUMEROAMOSTRA, APLICACAO, CLIENTE, DATA ..... e mais alguns. Na intranet o usuário vai preencher um formulário com esses campos acima e salvar (encaminha para o SQL Server). Como podem ver minha PK é o CODIGO... porém pediram que a coluna NUMERORM (que é tipo Varchar) e NUMEROAMOSTRA (que é do tipo Varchar) onde ambos são digitadas pelo usuário, fosse algo unico como uma PK =/. Ou seja... o cara vai preencher o formulário e atribuir um número qualquer e esse número não pode se repetir... há algo que possa ser feito no SQL Server que vai solucionar esse problema??
  10. Fells

    Função SQL no ASP

    Eu abri o SQL Query Analyzer e fiz alguns testes e o que eu quero e consegui fazer lá no SQL é assim: select * from Tabela where year(getdate()) = left(CampoPK,4) 'Exemplo da PK 201100123 Order by CampoPK desc ele me trouxe todos os dados onde a Coluna Chave Primaria tem seus 4 primeiros digitos igual ao ano, ou seja = a 2011 Exemplo: 201100001; 201100002; 201100003; 201100005 [.....] 201100254. Os dados dos anos anteriores não vieram, que seriam: 20100000n; 20090000n; 20080000n; 20070000n; 20060000n e 20050000n. Agoooooora que sei como se faz ISSO... preciso implementar na minha página ASP e não estou sabendo como fazer, rsrs...
  11. Fells

    Função SQL no ASP

    Bom dia... e boa sexta feira \O/ Minha base de dados do SQL Server tem vários dados de diferentes anos. Por isso criei um método de separação na mesma base onde a coluna PK exibi-se assim: 200500001, 200500002 ..... 200600001, 200600002.... até o 201100001, 201100002 [....] 201100153.... e por aii vai... os 4 primeiros números são correspondentes ao ano e os 5 seguidos começam do 0 e vai até onde der... até ai beleza (só pra vocês entenderem). Tenho um ASP que gera um "relatorio" desses dados e os exibe na intranet! Porem como tem dados desde 2005... acaba não gerando esse relatório pelo tamanho do arquivo! é muito pesado! Descidi então gerar esse relátorio apenas com as informações do ano corrente... só que não consegui. Quero saber como posso fazer isso!!! Eu preciso fazer uma instrução (creio que uma query no ASP) que vai selecionar apenas os dados onde a PK tiver os primeiros 4 digitos (201100001) iguais ao ano corrente. Valeww No aguardo de uma luz.
  12. Cara... você não vai acreditar... eu não te disse que eu havia conferido todas as datas e arrumado???? ... realmente elas estavam no formato dd/mm/aaaa... conferi um milhão de vezes! rsrs Mas não sei o porque não estavamos conseguindo... sendo que elas estavam certas. Ai fiz um "import" da mesma Tabela "problemática" [A_CONTROLE DE SOLICITAÇÕES 2009] no SQL e dei o nome de A_S_2009... só pra caso fizesse algo errado ter um backup... na hora de importar eu alterei o campo Data que era Nvarchar pra datetime nessa nova tabela e dei Ok... e importou sem erro.... Agora a coluna Data do meu "Backup" está no formato datetime e importou todos os dados sem erro! =S Vai entenderr.... que doidera!!! kkkkkk
  13. Bom dia Fulvio.. desculpa não responder ontem... é que eu entrei em reunião justamente pra conversar sobre esse assunto e eu também saio as 15hs.... ai não deu pra te dar um retorno. Cara... não vai não meu... Aparece uma msg assim: "[microsoft][ODBC SQL Server Drive][sql Server]The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value." E com o campo datetime também aparece essa msg... Que fodástico isso meww... bendita pessoa que foi me criar um campo desses pra data viu! rsrs... valeu pela ajuda Fulvio... abraços.
×
×
  • Criar Novo...