COMO MOSTRAR OS ITENS VENDIDOS DE CADA FUNCIONARIO

RICKSOUSA 14/07/2012 15:26:30
#406088
Boa Tarde Galera!

estou desenvolvendo um simples projetinho.

1 tela de login,
1 tela de cadastro de senhas que tem 3 niveis

1 = Tela do Patrão
2 = Tela do Gerente
3 = Tela do Funcionario

1 tela de cadastro de produtos, que quem vai usar somente o Gerente
1 tela de Vendas que é aberta para os funcionarios.

ex.

quando alguem da loja for cadastrar a sua senha la tera a opção para escolher a função.

Patrão - abre todas as telas
Gerente - abre a tela Cadastro e Vendas
Funcionario - abre somente a tela de Vendas

para criar uma senha, quando escolhe o tipo da função:

se escolher Patrão ou Gerente, vai pedir uma senha mestra
e se escolher Funcionario a não pede senha e o funcionario pode criar a sua senha, e quando eles colocarem o login e senha, vai abrir tal tela determinada, se o usuario for patrão - abre todas as telas e assim para todas... até ai ta perfeito!

vou mandar as telas para uma explicação bem melhor.
RICKSOUSA 14/07/2012 15:36:03
#406089
segue a tela do Login
RICKSOUSA 14/07/2012 15:39:50
#406090
segue a tela do login com o tipo de cadastro
RICKSOUSA 14/07/2012 15:45:44
#406091
segue a tela de cadastro de senhas
RICKSOUSA 14/07/2012 15:49:58
#406093
segue a tela do Gerente que vai cadastrar os produtos.
RICKSOUSA 14/07/2012 15:59:08
#406094
segue a tela do funcionario.

agora chegou onde eu queria...

quando eu clico no botão Nova Venda. o msflexgrid é habilitado ai eu posso clicar na linha desejada para escolher o produto vendido.

coloco a quantidade e o valor do produto.

e salvo.

quando eu gravo essa venda, ela é gravada da seguinte maneira:

codigo da venda - codigo do funcionario - codigo interno da venda - descrição - a quantidade vendida do produto - o valor do produto - data da venda - e a data de vencimento do produto.

eu quero mostrar na outra aba vendidos da seguinte forma:

ex.

pega o codigo do funcionario que na foto é o codigo do funcionario everton - 222

e mostre somente as vendas que ele efetuou, todas do codigo dele.

quando eu entrar com outro usuario as vendas irão ser salvas com o codigo do mesmo....
RICKSOUSA 14/07/2012 16:05:17
#406096
estou mandando tbm a tabela de vendas para vcs entenderem como esta sendo salvas para eu poder mostrar....
ADILSOO 14/07/2012 18:32:32
#406099
Resposta escolhida
aew.. , faltou o campo CLIENTE, sem isso não da..
ADILSOO 14/07/2012 18:47:51
#406100
 Do While Not rs.EOF = True
If rs!funcionario = Txtfuncionario.Text Then
Grid.Additem
End If
rs.MoveNext
Loop


Amigo, você passa um Loop na sua tabela verificando se a condição corresponde a algum registro, se sim adiciona no Grid, e lembrando que isso que eu passei é genérico, não é copiar e colar, abraços.
RICKSOUSA 14/07/2012 19:53:09
#406105
eu desenhei um form para fazer apenas um teste

coloquei 1 textbox, 1 command, 1 listbox e 1 msflexgrid:

quando eu digito o codigo do funcionario no textbox e aperto o botão no list carrega todas as vendas que esse funcionario efetuou
e se eu digitar outro funcionario tbm carrega somente as vendas dele, mais no grid só aparece o ultimo registro repare na imagem...

olha como esta o codigo do command...


[txt-color=#0000f0]Private Sub Command1_Click()
Conecta True
Dim RS As Recordset [ô] basta eu declarar o recordset
Dim sSQL As String

sSQL = [Ô]Select Distinct * from Vendas order by Vendas.CodFuncionario[Ô]
Set RS = Conexao.Execute(sSQL) [ô] só



Dim letras
List.Clear
[ô]Set tabela = banco.OpenRecordset([Ô]Select Distinct * from cadclientes order by cadclientes.IDcliente[Ô])
letras = Len(nomcli.Text)
If RS.RecordCount = 0 Then
MsgBox [Ô]Você não tem nenhum registro na tabela.[Ô], vbInformation, [Ô]Informação[Ô]
nomcli.Text = [Ô][Ô]
Exit Sub
Else
RS.MoveFirst
End If
Do While RS.EOF = False
If UCase(Mid(RS([Ô]CodFuncionario[Ô]), 1, letras)) = UCase(nomcli.Text) Then
List.AddItem RS([Ô]CodFuncionario[Ô]) & [Ô] - [Ô] & RS([Ô]Descrição[Ô])
CabecalhoGrid2
With MSFlexGrid1
.Rows = .Rows + 1 [ô]ira adicionar linhas até preencher todo grid

.TextMatrix(.Rows - 1, 0) = RS!Cod
.TextMatrix(.Rows - 1, 1) = RS!CodInterno
.TextMatrix(.Rows - 1, 2) = RS!Descrição
.TextMatrix(.Rows - 1, 3) = RS!QTDVendida
.TextMatrix(.Rows - 1, 5) = RS!ValorVendido
.TextMatrix(.Rows - 1, 6) = RS!DataInclusão
.TextMatrix(.Rows - 1, 7) = RS!DataValidade

.Row = .Rows - 1
.Col = 8

End With

End If
RS.MoveNext
Loop

Conecta False

End Sub
[/txt-color]
ADILSOO 14/07/2012 20:25:57
#406107
OK...

Troque isso:
   If UCase(Mid(RS([Ô]CodFuncionario[Ô]), 1, letras)) = UCase(nomcli.Text) Then 


Por isso:
   If RS!CodFuncionario = nomcli.Text Then 


Não tem como não dar certo, é uma simples verificação, se você notar, você só vai falar...

se esse código que eu digitei aqui no text do form for igual o código do registro, adiciona todos os campos que você quiser no grid, e depois da um move next e verifica tudo de novo..

ve se funciona..
Página 1 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas