Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafa-martin

trazer todos (VBA)

Recommended Posts

pessoal, é uma dúvida de VBA.olhem só eu tenho 30 vendedores. e para pesquisar as vendas de cada um pesquiso por data. Aí vai me trazer todos os vendedores q venderam em tal data selecionada. Por exemplo, eu procuro pela seguinte data: de 01 a 15 de julho. Aí vai me trazer todos os vendedores q fizeram vendas nesse período. Depois eu mando procurar pela seguinte data: 01 a 08 de julho, só q aí nem todos os vendedores venderam.só q aí mora o problema. Como eu faço para trazer todos os vendedores, mesmo aqueles q não venderam. Aí na planilha os vendedores q não venderam ficam com a linha em branco.como posso fazer isso? Existe alguma forma?Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize o operador "*" do lado que te você tem certeza que tem, no seu caso é vendedores, para que assim no resultado da Select retorne os dados do vendedor, e na outra tabela onde não possuem os dados, pois o mesmo não vendeu neste período, será retornado NULL.

Exemplo:

SELECT Vdo.Nome       ,Vda.DataFROM   Vendedor Vdo       ,Vendas   VdaWHERE  Vda.CodigoVendedor *= Vdo.CodigoVendedor

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais o meu sql está dessa forma:SELECT Count(pedido.codigo_pedido) AS ContarDecodigo_pedido, pedido.eqzFROM cadastrovendedor INNER JOIN pedido ON cadastrovendedor.codigo_vendedor = pedido.codigo_vendedorWHERE (((pedido.data2) Between #7/1/2005# And #7/8/2005#))GROUP BY pedido.eqz, cadastrovendedor.divisao;como seria?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

 

SELECT Count(pedido.codigo_pedido) AS ContarDecodigo_pedido       ,pedido.eqzFROM   cadastrovendedor        ,pedido WHERE pedido.codigo_vendedor *= cadastrovendedor.codigo_vendedor   AND (((pedido.data2) Between #7/1/2005# And #7/8/2005#))GROUP BY pedido.eqz, cadastrovendedor.divisao

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro é esse:erro de sintaxe (operador) faltando na expressão de consulta ' cadastrovendedor.codigo_vendedor *= pedido.codigo_vendedor AND (((pedido.data2) Between #7/1/2005# And #7/8/2005#)) 'agora quando clica em ok na janela de erro, vai para o *.o espaço não existe.fiz igual a forma q você me mandou.pq? esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Access não existe este operador, fiz esta Select no Sql Server, faça as seguintes alterações.

 

SELECT Count(pedido.codigo_pedido) AS ContarDecodigo_pedido      ,pedido.eqzFROM   cadastrovendedor LEFT OUTER JOIN pedido ON cadastrovendedor.codigo_vendedor = pedido.codigo_vendedor WHERE (((pedido.data2) Between #7/1/2005# And #7/8/2005#))GROUP BY pedido.eqz, cadastrovendedor.divisao

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT Count(pedido.codigo_pedido) AS ContarDecodigo_pedido ,pedido.eqzFROM cadastrovendedor ,pedido WHERE pedido.codigo_vendedor *= cadastrovendedor.codigo_vendedor AND (((pedido.data2) Between #7/1/2005# And #7/8/2005#))GROUP BY pedido.eqz, cadastrovendedor.divisaofiz esse código no query analyser e dá erro de sintaxeServer: Msg 170, Level 15, State 1, Line 6Line 6: Incorrect syntax near '#'.pq?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim:

 SELECT Count(pedido.codigo_pedido) AS ContarDecodigo_pedido,pedido.eqzFROM cadastrovendedor,pedidoWHERE pedido.codigo_vendedor *= cadastrovendedor.codigo_vendedorAND (((pedido.data2) Between Convert(Datetime,'7/1/2005',103) And  Convert(Datetime,'7/8/2005',103)))GROUP BY pedido.eqz, cadastrovendedor.divisao

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.