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

[AJUDA URGENTE!] Programa em VB.. Com bases de dados


Filipe_Correia

Pergunta

Private Sub Guardar_Click()
Dim Resp As Integer, Mens As String

Mens = "Deseja guardar os dados inseridos? "
Resp = MsgBox(Mens, vbYesNo + vbQuestion, "Question")

If Resp = vbYes Then
    
If aba.Tab = 0 Then
    
    If musicartista.Text = Empty Then
        MsgBox "Prencha o campo ARTISTA", vbCritical + vbOKOnly, "ERRO"
        'musicartista.SetFocus

    ElseIf musicanome.Text = Empty Then
        MsgBox "Prencha o campo NOME", vbCritical + vbOKOnly, "ERRO"
        'musicanome.SetFocus

    ElseIf musicalbum.Text = Empty Then
        MsgBox "Prencha o campo ALBUM", vbCritical + vbOKOnly, "ERRO"
        'musicalbum.SetFocus

    ElseIf Combo4.Text = Empty Then
        MsgBox "Prencha o campo ANO", vbCritical + vbOKOnly, "ERRO"
        'Combo4.SetFocus
    
    ElseIf Combo5.Text = Empty Then
        MsgBox "Prencha o campo GENERO", vbCritical + vbOKOnly, "ERRO"
        'Combo5.SetFocus
    Else

    Data1.Recordset.Update
    
    musicartista.Enabled = False
    musicanome.Enabled = False
    musicalbum.Enabled = False
    Combo4.Enabled = False
    Combo5.Enabled = False
    

    adicionar.Enabled = True
    visualizador.Enabled = False
    Procurar.Enabled = True
    Guardar.Enabled = False
    Editar.Enabled = True
    Cancelar.Enabled = False
    Eliminar.Enabled = False
    About.Enabled = True
    Sair.Enabled = True
    
    Data1.Refresh
    Data2.Refresh
    Data3.Refresh
    Data4.Refresh
    
    Data1.Recordset.Bookmark = Data1.Recordset.LastModified
    
    MsgBox "Registo guardado!"
   
    End If

 ElseIf aba.Tab = 1 Then

    If filmenome.Text = Empty Then
        MsgBox "Prencha o campo NOME", vbCritical + vbOKOnly, "ERRO"
        filmenome.SetFocus

    ElseIf Combo1.Text = Empty Then
        MsgBox "Prencha o campo GENERO", vbCritical + vbOKOnly, "ERRO"
        Combo1.SetFocus

    ElseIf Combo2.Text = Empty Then
        MsgBox "Prencha o campo LEGENDAS", vbCritical + vbOKOnly, "ERRO"
        Combo2.SetFocus

    ElseIf Combo3.Text = Empty Then
        MsgBox "Prencha o campo ANO", vbCritical + vbOKOnly, "ERRO"
        Combo3.SetFocus
    Else

    
    
    Data2.Recordset.Update
    
    filmenome.Enabled = False
    Combo1.Enabled = False
    Combo2.Enabled = False
    Combo3.Enabled = False
    
    adicionar.Enabled = True
    visualizador.Enabled = False
    Procurar.Enabled = True
    Guardar.Enabled = False
    Editar.Enabled = True
    Cancelar.Enabled = False
    Eliminar.Enabled = False
    About.Enabled = True
    Sair.Enabled = True
    
    MsgBox "Registo guardado!"
    

    Data1.Refresh
    Data2.Refresh
    Data3.Refresh
    Data4.Refresh
    
    Data2.Recordset.Bookmark = Data2.Recordset.LastModified
    
    End If
 End If
 End If

End Sub

----------------------------------------------------------------------------------------------------------------

Boas, esse codigo é referente a um programa de gestao de multimedia, onde temos musicas e filmes para catalogar.

Eu já consegui introduzir dados do programa mas de momento esta-me a dar o erro 3020.

Será que alguém me pode dar uma ajuda??

Este programa é para apresentar amanha.

Agradecia a vossa compreenção.

Se for nessario eu posto o programa completo.

Obrigado

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Boas, a linha onde me dá erro é a seguinte : Data1.Recordset.Update

3020 Tentativa de executar Update ou CancelUpdate ou tentativa de atualizar campo em tabela

sem antes executar AddNew ou Edit.

este é o erro que me dá, já traduzi a mensagem. Ela estava em ingles eu traduzi para portugues.

Se for necessario eu posto o programa completo ou posto mais codigo.

Já corri o programa todo e não entendo o porque deste erro.

Agradecia ajuda =)

Cumpz

Link para o comentário
Compartilhar em outros sites

  • 0

filipe, é o q o sacofrito disse. alem do mais a mensagem do erro já diz tudo:

3020 Tentativa de executar Update ou CancelUpdate ou tentativa de atualizar campo em tabela

sem antes executar AddNew ou Edit.

você ta tentando fazer inclusao ou alteracao??

se for inclusao, antes do Update, você tem q chamar o AddNew (Data1.RecordSet.AddNew())

se for alteracao, você tem q chamar o Edit (Data1.RecordSet.Edit())

fora q pelo q parece você não ta copiando os dados para os campos do recordset. você deveria fazer isso entre o AddNew/Edit e o Update.

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...