Notifications
Clear all

VBA data dblclick

9 Posts
3 Usuários
0 Reactions
1,365 Visualizações
(@lfrbranca)
Posts: 0
New Member
Topic starter
 

Boa tarde
Tenho um projeto VBA onde preciso que no txtDATA ao clicar apareça a data atual.
Coloquei este código

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Me.TextBox1.Value = VBA.Date
End Sub

Agora quando tento fazer uma alteração dá este erro:

Erro em tempo de execução '-2147352571 (800200005)':

Sub Alterar_Registro()
' If MsgBox("Confirma a Alteração de dados: " & Me.txtNomeEmpresa & "?", vbYesNo + vbQuestion, "ModeloCadastro") = vbNo Then
' Exit Sub
'End If
' , , , , , , , , ,,
With rstBanco
.Update Array("FIA", "COA", "DATA", "LSA", "NAPMD", "CORG", "NNA", "REF", "CATALOGADOR", "SIC", "LAU", "LDU", "TRDATA", "TRSIC", "TRLAU", "TRCATALOGADOR", "OBS", "ESTADO"), _
[color=#FFFF00]Array(txtFIA.Text, txtCOA.Text, txtDATA.Text, txtLSA.Text, txtNAPMD.Text, txtCORG.Text, txtNNA.Text, txtREF.Text, txtCATALOGADOR.Text, txtSIC.Text, txtLAU.Text, txtLDU.Text, txtTRDATA.Text, txtTRSIC.Text, txtTRLAU.Text, txtTRCATALOGADOR.Text, txtOBS.Text, txtESTADO.Text)[/color]
End With
rstBanco.Update
'MsgBox "Alterado com sucesso.", vbInformation, "ModeloCadastro"
End Sub

A data aparece neste formato MM-DD-AAAA
Mas queria que aparecesse DD-MM-AAAA

E inseri tambem o codigo abaixo para a txtNAPMD

Acontece que sempre que digito as letras desliga me o numlk do teclado e queria que nunca desligasse

Private Sub txtNAPMD_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Limita a Qde de caracteres
txtNAPMD.MaxLength = 16

'A linha abaixo mantem as letras APENAS MAIÚSCULAS.
'txtNAPMD.Value = UCase(txtNAPMD.Value)

If Len(txtNAPMD) = 4 Or Len(txtNAPMD) = 5 Then
txtNAPMD.Text = txtNAPMD.Text & "-"
SendKeys "{End}", False

ElseIf Len(txtNAPMD) = 7 Then
txtNAPMD.Text = txtNAPMD.Text & "-"

ElseIf Len(txtNAPMD) = 11 Then
txtNAPMD.Text = txtNAPMD.Text & "-"
SendKeys "{End}", False
End If

End Sub

Alguem me pode ajudar

 
Postado : 30/06/2016 12:39 pm
(@mprudencio)
Posts: 0
New Member
 

Tira o vba do date


Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Me.TextBox1.Value = Date
End Sub

 
Postado : 30/06/2016 1:07 pm
(@lfrbranca)
Posts: 0
New Member
Topic starter
 

Tira o vba do date


Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Me.TextBox1.Value = Date
End Sub

OK obrigado
Em relação ao Erro em tempo de execução '-2147352571 (800200005)': do codigo abaixo já descobri o porque do erro, ao fazer uma alteração quando clico ok todos os campos do formulario tem de estar preenchidos.
Mas queria que alterasse apenas os TEXTBOX que pretendo alterar mas com o codigo abaixo so aceita se todas as TEXTBOX estiverem preenchidas o que devo fazer para alterar o codigo abaixo para gravar apenas os campos que preencho sem dar erro por estarem TEXTBOXs em Branco?

Sub Alterar_Registro()
  '  If MsgBox("Confirma a Alteração de dados: " & Me.txtNomeEmpresa & "?", vbYesNo + vbQuestion, "ModeloCadastro") = vbNo Then
   ' Exit Sub
    'End If
    ' , , , , , , , , ,,
    With rstBanco
        .Update Array("FIA", "COA", "DATA", "LSA", "NAPMD", "CORG", "NNA", "REF", "CATALOGADOR", "SIC", "LAU", "LDU", "TRDATA", "TRSIC", "TRLAU", "TRCATALOGADOR", "OBS", "ESTADO"), _
        Array(txtFIA.Text, txtCOA.Text, txtDATA.Text, txtLSA.Text, txtNAPMD.Text, txtCORG.Text, txtNNA.Text, txtREF.Text, txtCATALOGADOR.Text, txtSIC.Text, txtLAU.Text, txtLDU.Text, txtTRDATA.Text, txtTRSIC.Text, txtTRLAU.Text, txtTRCATALOGADOR.Text, txtOBS.Text, txtESTADO.Text)
    End With
    rstBanco.Update
    'MsgBox "Alterado com sucesso.", vbInformation, "ModeloCadastro"
End Sub

Mais uma vez obrigado

 
Postado : 30/06/2016 1:12 pm
(@mprudencio)
Posts: 0
New Member
 

Tenta antes do With rstBanco

On Error Resume Next

 
Postado : 30/06/2016 1:37 pm
(@lfrbranca)
Posts: 0
New Member
Topic starter
 

Tenta antes do With rstBanco

On Error Resume Next

Resultou perfeitamente muito obrigado.
Em relação ao código que inseri também o código na txtNAPMD

Acontece que sempre que digito as letras desliga me o numlk do teclado e queria que nunca desligasse.
Sabe o que devo alterar no código para que isso não aconteça?

Private Sub txtNAPMD_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Limita a Qde de caracteres
txtNAPMD.MaxLength = 16

'A linha abaixo mantem as letras APENAS MAIÚSCULAS.
'txtNAPMD.Value = UCase(txtNAPMD.Value)

If Len(txtNAPMD) = 4 Or Len(txtNAPMD) = 5 Then
txtNAPMD.Text = txtNAPMD.Text & "-"
SendKeys "{End}", False

ElseIf Len(txtNAPMD) = 7 Then
txtNAPMD.Text = txtNAPMD.Text & "-"

ElseIf Len(txtNAPMD) = 11 Then
txtNAPMD.Text = txtNAPMD.Text & "-"
SendKeys "{End}", False
End If

End Sub

Muito obrigado pela ajuda que já me deu

 
Postado : 30/06/2016 2:10 pm
(@lfrbranca)
Posts: 0
New Member
Topic starter
 

Preciso de ajuda urgente

 
Postado : 30/06/2016 3:05 pm
(@mprudencio)
Posts: 0
New Member
 

lfrbranca todos que participam do forum oferecem ajuda de forma voluntaria, e possuem outras coisas a fazer entao sugiro que aguarde alguem responder sua necessidade, se tem urgencia ao ponto de nao ser possivel aguardar uma resposta sugiro que contrate um profissional em VBA.

Do contrario sugiro que aguarde alguem responder sua pergunta.

Sugiro inclusive que disponiblize o seu arquivo sem dados originais para facilitar a quem for lhe ajudar.

Boa sorte!

 
Postado : 30/06/2016 3:12 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Preciso de ajuda urgente

Favor acessar --> viewtopic.php?f=7&t=12600

[]s

Patropi - Moderador

 
Postado : 30/06/2016 3:52 pm
(@lfrbranca)
Posts: 0
New Member
Topic starter
 

Peco desculpa

 
Postado : 30/06/2016 4:46 pm