VERFIFCAR DADOS ATRAVES DE UMA COMBO

LEANDRO.BUENO 12/09/2006 14:48:06
#170925
Ola amigos, não sei se o titulo estará bem de acordo com minha duvida.
Bem é o seguinte:

Estou fazendo uma form para emitir nota fiscal, na hora de cadastrar os itens que vão compor a nota, eu busco da minha tabela produtos.
Fiz uma combo que esta assim:

Private Sub Combo5_Click()
vproduto.MoveFirst
vproduto.Seek "=", Val(Mid(Combo5, 1, 2))
txtdescricao = vproduto!descricao
txtpreco = vproduto!preco
txtpeso = vproduto!peso
salvar2.Enabled = True
excluir2.Enabled = True

End Sub


Agora eu quero fazer o seguinte:
supondo que a pessoa escolhei o 1º produto da combo, informou a quantidade enfim td certinho, clicou em salvar e clicou no combo para buscar o proximo produto, mas ai ele clicou no 1º produto denovo, ai eu gostaria de que aparece uma mensagem dizendo que aquele produto ja foi selecionado, e se ele desejaria alterar os dados daquele produto.

ai fiz assim:

vproduto.MoveFirst
vproduto.Seek "=", Val(Mid(Combo5, 1, 2))
txtdescricao = vproduto!descricao
txtpreco = vproduto!preco
txtpeso = vproduto!peso
salvar2.Enabled = True
excluir2.Enabled = True

If vnotad.NoMatch = False Then


If MsgBox("Produto já Vendido, Deseja Alterar?", vbYesNo) = vbNo Then
Combo5.Text = " "
Combo5.SetFocus
Exit Sub
Else
BeginTrans
vnotad.Delete
CommitTrans
txtquantidade.SetFocus
End If
txtquantidade.SetFocus
End If


Mas ai todo o produto que eu clicar mesmo sem salvar nada, ele ja da a mensagem.
Como eu faria pra me avisar de que aquele item ja foi escolhido.

grato.
LEANDRO.BUENO 12/09/2006 14:52:49
#170928
ah ... detalhe amigos.
antes da linha
If vnotad.NoMatch = False Then

coloquei essas duas linhas:
vnotad.MoveFirst
vnotad.Seek "=", txtcodigo, Mid(Combo5, 1, 2)

Só que agora num aparece nada, se eu escolher o item novamente, o programa num da nenhum aviso, mas tbm não salva o mesmo item novamente.

O que posso fazer?
LEANDRO.BUENO 12/09/2006 16:01:26
#170954
alguem pode me ajudar??
LEANDRO.BUENO 13/09/2006 08:07:35
#171095
não teria alguma função, onde eu poderia dizer que o item que esta sendo escolhido na combo ja foi escolhido anteriormente??

LIONHEART 13/09/2006 11:15:10
#171172
vc teria que fazer isso via banco.

crie uma coluna na tabela do item, chamada IC_ALTERADO do tipo Texto.

quando o cara alterar os dados, vc seta esse campo como sendo [txt-color=#ff0000]'S'[/txt-color].

se este campo estiver como S entao quer dizer que esse item foi alterado neste momento


no inicio do SISTEMA ou deste FORM, vc deve setar TODOS os itens como 'N', para que apenas os dados DESSE momento sejam marcados.


SE o seu sistema NÃO for mono usuario, vc deverá tb criar uma coluna com o nome do usuario ou da maquina onde está sendo executado, assim, quando o usuario fizer essa alteração grave apenas pra ele.
LIONHEART 13/09/2006 11:18:59
#171173
outra coisa que vc poderia fazer também, ao inves de criar coluna, poderia salvar em array a checagem.

cria um array que vai de 1 à  100000 e vai salvando nele de acordo com o ListIndex.
por exemplo.


se o item for de numero 30, vc faz isso:

Array[30] = 'S'


e checa na hora do click.

if array[Combo.listindex] = 'S' then
manda msg e faz tudo que vc queria.
end if;
LEANDRO.BUENO 13/09/2006 16:50:14
#171253
legal amigo lion, estarei testando.
entro em contato.

obrigado.
LEANDRO.BUENO 13/09/2006 16:51:30
#171254
ah .... desculpe se demorei para ver sua resposta, fiquei sem net até agora.
LIONHEART 13/09/2006 16:54:36
#171257
Resposta escolhida
Citação:

LEANDRO_BUENO escreveu:
ah .... desculpe se demorei para ver sua resposta, fiquei sem net até agora.



relaxa. Se tiver dificuldade avisa q eu te ajudo a implementar.
Tópico encerrado , respostas não são mais permitidas