Ir para conteúdo
Fórum Script Brasil
  • 0

Makedbox


ThinkBrunus

Pergunta

Boas!

Estou interagindo com bd access, utilizando o ADO.

o problema surge quando crio um novo dado e coloco uma data na maskedbox, após gravar (adodc1.recordset.update) e navegando aparece-me a mesma data em todos os campos do maskedbox.....reiniciando a aplicação verifico que os dados foram gravados e com sucesso, o problema reside quando é feito um novo registoele fica com a data inserida no mesmo e mostra-o durante a navegeção. alguém me ajuda a encontrar solução?

aqui deixo o código para melhor interpretação do problema:

Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)

Adodc1.Caption = "Registo: " & Adodc1.Recordset.AbsolutePosition & " de " & Adodc1.Recordset.RecordCount

End Sub

Private Sub Form_Load()

txtNome.Enabled = False

txtApelido.Enabled = False

MaskEdBox1.Enabled = False

txtMorada.Enabled = False

txtTel.Enabled = False

txtFax.Enabled = False

txtEmail.Enabled = False

txtObs.Enabled = False

End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Index

Case 1

Adodc1.Recordset.AddNew

txtNome.Enabled = True

txtApelido.Enabled = True

MaskEdBox1.Enabled = True

txtMorada.Enabled = True

txtTel.Enabled = True

txtFax.Enabled = True

txtEmail.Enabled = True

txtObs.Enabled = True

MaskEdBox1.Mask = "##/##/####"

Case 2

txtNome.Enabled = True

txtApelido.Enabled = True

MaskEdBox1.Enabled = True

txtMorada.Enabled = True

txtTel.Enabled = True

txtFax.Enabled = True

txtEmail.Enabled = True

txtObs.Enabled = True

Case 3

If MsgBox("Eliminar dados?", vbYesNo + vbDefaultButton2 + vbQuestion, "Eliminar dados?") = vbYes Then

Adodc1.Recordset.Delete

Adodc1.Recordset.MoveFirst

End If

Case 4

Adodc1.Recordset.CancelUpdate

txtNome.Enabled = False

txtApelido.Enabled = False

MaskEdBox1.Enabled = False

txtMorada.Enabled = False

txtTel.Enabled = False

txtFax.Enabled = False

txtEmail.Enabled = False

txtObs.Enabled = False

Case 5

Adodc1.Recordset.Update

txtNome.Enabled = False

txtApelido.Enabled = False

MaskEdBox1.Enabled = False

txtMorada.Enabled = False

txtTel.Enabled = False

txtFax.Enabled = False

txtEmail.Enabled = False

txtObs.Enabled = False

MaskEdBox1.Refresh

End Select

End Sub

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Já sofri muito com isso, sabe o que tem que fazer? jogue esse maskedbox FORA! meu irmão, utilize uma textbox e ponha o seguinte código:

Private Sub Text1_Change()

If Len(Text1) = 2 Then

Text1 = Text1 + "/"

Text1.SelStart = 4

End If

If Len(Text1) = 5 Then

Text1 = Text1 + "/"

Text1.SelStart = 7

End If

End Sub

a textbox aparecerá em braco e de acordo você for digitando a mascara vai aparecendo, faça o teste você não vai se arrepender.

quando você clicar em inserir a textbox do campo data ficará limpa e ao rolar pelos registros mostrará a data referente a cada um, lembre de indicar as propriedades DATA SOURCE E DATA FIELD, configure a textbox direitinho com seu BD.

Solução para todas as dores de cabeça dos Maskedbox, lembrando que pode-se fazer o mesmo com CPF, CNPJ, qualquer máscar que quiser.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...