Num sistema existe um form de O.S. e um form de Cadastro com o componente "SSTab" onde Produtos está no tab 4; nos dois forms existe um código de "digitação inteligente" que enquanto o usuário vai digitando o sistema busca no BD o primeiro registro com aqueles dígitos, tipo:
If despro.SelStart = 0 Then Exit Sub
On Error Resume Next
Set pro= bd.OpenRecordset("select top 1 despro, codpro, qntpro FROM pro WHERE despro Like '" & Mid(despro.Text, 1, despro.SelStart) & "*' ORDER BY despro Asc")
Set datapro.Recordset = pro
On Error GoTo verror
verror:
Select Case Err.Number
Case 3021
MsgBox "Não há Produtos com a(s) inicial(is) "'" & despro.Text & "'" cadastrado no estoque!!!", 48, usuario
codpro.Text = ""
despro.Text = ""
qntpro.Text = ""
Case 0 'nenhum erro
Pos = despro.SelStart
With pro
codpro.Text = !codpro
despro.Text = !despro
qntpro.Text = !qntpro
End With
despro.SelStart = Pos
despro.SelLength = Len(despro)
End Select
despro.SetFocus
Vamos supor que o usuário vai preencher uma O.S. e enquanto digita a descrição do produto, o sistema alerta que não existe nenhum produto cadastrado com aquelas iniciais. A idéia é substituir o MsgBox do código acima por outra que haja a opção de abrir o form de Cadastro para adicionar este produto no BD, usei este código:
cadpro = MsgBox("Não há produtos com a(s) inicial(is) " & "'" & despro.Text & "'" & " Deseja fazer o cadastro deste produto?", vbDefaultButton2 + vbQuestion + vbYesNo, usuario)
Select Case cadpes
Case 6
caddiv.Show , Me
caddiv.sstab1.Tab = 4
caddiv.despro.Text = despro.Text
Call caddiv.NovoCad
Exit Sub
Case 7
Exit Sub
End Select
O objetivo é abrir o form de Cadastro(1), exibir o Tab 4 (2), descarregar o conteúdo do TextBox do form da O.S. no form de Cadastros e executar o código de um novo registro que é o seguinte:
If sstab1.Tab = 4 Then
MsgBox "Você está inserindo um novo produto", 48, usuario
frmpro.Enabled = True
LimpaCampos
despro.Visible = True
despro.SetFocus
On Error GoTo verror
pro.MoveLast
codpro.Text = pro!codpro + 1
verror:
Select Case Err.Number
Case 3021
MsgBox "Primeiro registro", 48, usuario
codpro.Text = 1
Resume Next
Case 0
Resume Next
End Select
cadpro.Text = Date
pro.AddNew
End If
O sistema está funcionando, mas existem alguns códigos que estão no form_Activate que não estao rodando, por exemplo, existe um código que altera a cor de fundo do form como este:
'define a cor de fundo do formulário
On Error GoTo verrorcor
cor.MoveFirst
verrorcor:
Select Case Err.Number
Case 3021 'tabela vazia
MsgBox "Cor de fundo ainda não definida", 43, usuario
Resume Next
Case 0 'nenhum erro
With cor
os.BackColor = !funcor
lprotos.BackColor = !funcor
pesqnumos.BackColor = !funcor
End With
End Select
que não está rodando e o form de Cadastro fica sem esta definição.
Sei que aqui tem Fera que pode me ajudar, por isso deste já agradeço e fico no aguardo.
Pergunta
Lameira
Olá Galera do Bem!!!
Num sistema existe um form de O.S. e um form de Cadastro com o componente "SSTab" onde Produtos está no tab 4; nos dois forms existe um código de "digitação inteligente" que enquanto o usuário vai digitando o sistema busca no BD o primeiro registro com aqueles dígitos, tipo:
O sistema está funcionando, mas existem alguns códigos que estão no form_Activate que não estao rodando, por exemplo, existe um código que altera a cor de fundo do form como este:que não está rodando e o form de Cadastro fica sem esta definição.
Sei que aqui tem Fera que pode me ajudar, por isso deste já agradeço e fico no aguardo.
Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.