Ir para conteúdo
Fórum Script Brasil

fahledu

Veteranos
  • Total de itens

    1.281
  • Registro em

  • Última visita

Posts postados por fahledu

  1. Boas pessoal

    SQL não é meu forte, mas fiz uma query para identificar cadastros que possuem vínculos com outros cadastros e possuem a mesma base.

    Está funcionando (aparentemente ^^) porem acredito ter feito de uma forma menos pratica, então como eu poderia melhorar esse script?

    select distinct
    SUBSTRING(B1.STCD1KNA1,1,8) [Base CNPJ]
    ,B2.KUNNR [Cliente]
    ,VKORG [Sales Org]
    ,KUNN2 [Payer]
    from B2
    INNER JOIN B1 ON B2.KUNNR = B1.KUNNR
    WHERE PARVW = 'RG'
    AND B2.KUNNR <> KUNN2
    and B1.STCD1KNA1 <> ''
    and LAND1KNA1 = 'BR'
    and  SUBSTRING(B1.STCD1KNA1,1,8) in (
    select a.[Base CNPJ]  from (
    select distinct
    SUBSTRING(B1.STCD1KNA1,1,8) [Base CNPJ]
    ,count(SUBSTRING(B1.STCD1KNA1,1,8)) as [qtde A]
    from B2
    INNER JOIN B1 ON B2.KUNNR = B1.KUNNR
    WHERE PARVW = 'RG'
    AND B2.KUNNR <> KUNN2
    and B1.STCD1KNA1 <> ''
    and LAND1KNA1 = 'BR'
    group by SUBSTRING(B1.STCD1KNA1,1,8)
    having count(SUBSTRING(B1.STCD1KNA1,1,8)) > 1 ) as a
    join (
    select distinct
    (SUBSTRING(B1.STCD1KNA1,1,8)+kunn2) [Base CNPJ]
    ,count(SUBSTRING(B1.STCD1KNA1,1,8)+kunn2) [qtde B]
    from B2
    INNER JOIN B1 ON B2.KUNNR = B1.KUNNR
    WHERE PARVW = 'RG'
    AND B2.KUNNR <> KUNN2
    and B1.STCD1KNA1 <> ''
    and LAND1KNA1 = 'BR'
    group by (SUBSTRING(B1.STCD1KNA1,1,8)+kunn2)
    having count(SUBSTRING(B1.STCD1KNA1,1,8)+kunn2) > 1) B on a.[Base CNPJ] = substring(B.[Base CNPJ],1,8)
    where [qtde A] <> [qtde B]
    ) 
    group by SUBSTRING(B1.STCD1KNA1,1,8), B2.KUNNR, B2.VKORG, B2.KUNN2 
    order by [Base CNPJ], Payer 
    

    Abrax

  2. um ex.

    Sub teste()
    
    Dim i, x As Integer
    
    i = 1
    x = 1
    Do
    Range("B" & x).Value = Range("A" & i).Value
    i = i + 1
    Range("C" & x).Value = Range("A" & i).Value
    i = i + 1
    Range("D" & x).Value = Range("A" & i).Value
    i = i + 1
    Range("E" & x).Value = Range("A" & i).Value
    i = i + 1
    x = x + 1
    Loop While Range("A" & i).Value <> ""
    
    End Sub

  3. Em série é a soma de todas as Resistencias Equivalentes. (Serie= somatoria Req).

    Em paralelo é 1/Req= 1/R1 + 1/R2 + 1/R3.

    Segundo o professor, deve resolver primeiro os que estão em paralelo para depois somar com as equivalentes que estarão em série.

    Esse seria o algoritmo, meio genérico, mas não deixa de ser um algoritmo...

    Se você fizer o passo a passo desse calculo você terá o algoritmo que deseja, depois se necessário é só converter em algum linguagem...

    Tenta ai e posta pra gente ir te ajudando.

    Abrax

  4. Cara... o ruim de desenvolver pra web é isso... sempre tem que pensar e testar em todo tipo de navegador... e não adianta pensar em atualização de navegador... Um usuário não vai fazer isso só pra ver seu site (a não ser que ele queira muito) e corporativo pior ainda...

    O que ocorre bastante nesses caso é criar um script pra cada navegador... Tvz o pessoal que trabalhe com isso tenha alguma sugestão mais pratica usando CSS e tals...

  5. Pessoal,

    Obrigado pelas respostas...

    Acho que não fui claro na minha necessidade...

    Para reduzir erros humanos, eu criei um form que preenche o maximo com o minimo de informação do usuário, gerando um template. Esse template tem uma vida util curta, ou seja, a partir do momento que o template foi criado e encaminhado ele não serve mais pra nada (pra quem preencheu)...

    Partindo desse principio toda vez que o form é carregado ele limpa todos os campo da tabela, até ai td ok. Porem o Access de alguma forma cria em algum lugar um numero do registro (q não existe na minha tabela), com isso, quando o form carrega ele iniciar no registro um que esta vazio e da erro devido as formulas de validação... Pra resolver ( não da forma necessaria) basta clicar em criar novo registro (opção gerada pelo access) e com isso vai para o registro N (o ultimo criado)

    Minha intenção é evitar isso e quando o formulario abrir sempre inicie do regitro 1...

    De qualquer forma vlw...

×
×
  • Criar Novo...