none
Criar um programa de agendamento RRS feed

  • Pergunta

  • Boa noite pessoal estou criando um programa de agendamento de veiculos de revisões mas não sei como colocar um calendario no campo data para clicar e escolher a data no calendario. Como esse não é o meu objetivo principal, gostaria de pedir ajuda ao grupo que avaliem meu codigo pois nao estou conseguindo entender onde estou errando em meu codigo, pois ja tenho o formulario e o codigo montado, mas nao funciona, esta dando um erro que nao sei onde estou errando, peço a ajuda de voces mais uma vez obrigado. segue fotos e os codigos.

    codigo do formulario agendamentoformulario de inclusao

    Dim registroAtual As Integer
    Dim Agendamento As Worksheet
    Dim editar As Boolean
    
    Private Sub cmdAnterior_Click()
    
        registroAtual = registroAtual - 1
        
        If registroAtual < 2 Then
           registroAtual = 2
        End If
        
        preencherControles
        
    End Sub
    
    Private Sub cmdCancelar_Click()
        
        If editar = False Then
            cmdAnterior_Click
        End If
        
        editar = False
        editando False
    
    End Sub
    
    Private Sub cmdEditar_Click()
    
        editar = True
        editando True
    
    End Sub
    
    Private Sub cmdMenu_Click()
        Unload frmAgendamento
        FrmConsulta.Show
    End Sub
    
    Private Sub cmdPrimeiro_Click()
        registroAtual = 2
        preencherControles
    End Sub
    
    Private Sub cmdProximo_Click()
        registroAtual = registroAtual + 1
        
        If registroAtual > Agendamento.UsedRange.Rows.Count Then
            registroAtual = Agendamento.UsedRange.Rows.Count
        End If
        
        preencherControles
    End Sub
    
    Private Sub cmdSalvar_Click()
        
        Agendamento.Cells(registroAtual, 1) = txtNome.Text
        Agendamento.Cells(registroAtual, 2) = txtHora.Text
        Agendamento.Cells(registroAtual, 3) = txtCel.Text
        Agendamento.Cells(registroAtual, 4) = txtFixo.Text
        Agendamento.Cells(registroAtual, 5) = txtModelo.Text
        Agendamento.Cells(registroAtual, 6) = txtPlaca.Text
        Agendamento.Cells(registroAtual, 7) = TxtServiço.Text
        Agendamento.Cells(registroAtual, 8) = txtEmail.Text
        
    
        If editar = False Then
            Agendamento.Cells(1, 12).Value = txtRegistroAgendamento.Text
            registroAtual = registroAtual + 1
        End If
        
        editar = False
        editando False
        
    End Sub
    
    Private Sub cmdFechar_Click()
    
        Unload frmAgendamento
    
    End Sub
    
    Private Sub cmdNovo_Click()
        Novo
    End Sub
    
    
    
    Private Function Novo()
    
        editando True
        editar = False
        
    
        txtNome.Text = ""
        txtHora.Text = "00:00"
        txtCel.Text = "(62)"
        txtFixo.Text = "(62)"
        txtModelo.Text = ""
        txtPlaca.Text = "  -    "
        TxtServiço.Text = ""
        txtEmail.Text = ""
        
        
        txtNome.SetFocus
    
    End Function
    
    Private Function preencherControles()
    
        txtNome.Text = Agendamento.Cells(registroAtual, 1)
        txtHora.Text = Agendamento.Cells(registroAtual, 2)
        txtCel.Text = Agendamento.Cells(registroAtual, 3)
        txtFixo.Text = Agendamento.Cells(registroAtual, 4)
        txtModelo.Text = Agendamento.Cells(registroAtual, 5)
        txtPlaca.Text = Agendamento.Cells(registroAtual, 6)
        TxtServiço.Text = Agendamento.Cells(registroAtual, 7)
        txtEmail.Text = Agendamento.Cells(registroAtual, 8)
        
        
    
    End Function
    
    
    Private Sub cmdUltimo_Click()
        registroAtual = Agendamento.UsedRange.Rows.Count
        preencherControles
    End Sub
    
    Private Sub txtEstoqueMinimo_Change()
    
    End Sub
    
    
    
    
    Private Function editando(editar As Boolean)
    
        txtNome.Enabled = editar
        txtHora.Enabled = editar
        txtCel.Enabled = editar
        txtFixo.Enabled = editar
        txtModelo.Enabled = editar
        txtPlaca.Enabled = editar
        TxtServiço.Enabled = editar
        txtEmail.Enabled = editar
        
        cmdPrimeiro.Enabled = Not editar
        cmdProximo.Enabled = Not editar
        cmdAnterior.Enabled = Not editar
        cmdUltimo.Enabled = Not editar
        
        cmdSalvar.Enabled = editar
        cmdNovo.Enabled = Not editar
        
        cmdCancelar.Enabled = editar
        cmdEditar.Enabled = Not editar
    
    End Function
    
    Private Sub UserForm_Click()
    
    End Sub

    devido eu ser iniciante em VBA, nao sei como lançar o codigo no formulario de consulta para fazer as coisas confome a foto por isso nao tenho o codigo postado. mas segue a foto de como estou fazendo e imaginando a ideia.consulta do agendamento

    Private Sub cboDataFinal_Change()
    
    End Sub
    
    Private Sub cboDataInicial_Change()
    
    End Sub
    
    Private Sub cboNome_Change()
    
    End Sub
    
    Private Sub cboServiço_Change()
    
    End Sub
    
    Private Sub cmdFechar_Click()
    
    End Sub
    
    Private Sub cmdImprimir_Click()
    
    End Sub
    
    Private Sub cmdIncluir_Click()
    
    End Sub
    
    Private Sub fraConsultaAgendamento_Click()
    
    End Sub
    
    Private Sub ListBox1_Click()
    
    End Sub
    
    Private Sub ScrollBar1_Change()
    
    End Sub
    
    Private Sub ScrollConsulta_Change()
    
    End Sub
    
    Private Sub UserForm_Click()
    
    End Sub
    

    segue o link do arquivo do agendamento

    http://uploaded.to/file/pn05ni1v

    Pessoal peço desculpas se deixei de fazer algo simples no programa mas é que estou aprendendo ainda acredito que é a união que faz a força, fico agradecido desde já, se alguem puder me ajudar nisso, adoro este forum pois aprendo muito com vocês e sempre tive repostas sobre minhas dúvidas. grande abraço.

    quarta-feira, 30 de maio de 2012 02:10

Respostas

  • Gustavo,

    Realmente o Access é muito melhor para se trabalhar com esse tipo de sistema que você deseja utilizar, no entanto, você deve aprender pelo menos o básico.

    A pergunta que você fez está no escopo do uso básico do Access, que com certeza sua apostila deve cobrir. No momento, minha melhor sugestão seria você terminar de lê-la e voltar a postar caso ainda tenha dúvida.

    Ao contrário do Excel, o Access possui uma curva de aprendizado um pouco mais difícil. A melhor coisa que se tem a fazer antes de utilizá-lo é entender seus conceitos fundamentais de tabelas, relacionamentos e consultas.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 1 de junho de 2012 20:41
    Moderador

Todas as Respostas

  • Olá,

    Você está pedindo muitas coisas, mas é possível que você tenha seu sistema rodando como executado. No entanto, temos que ir por partes. Como disse que é iniciante, pode ser que tenha um pouco de dificuldade em alguns termos.

    Para resolver o seu primeiro problema, acrescente o código abaixo no seu formulário:

    Private Sub UserForm_Initialize()
        Set Agendamento = ThisWorkbook.Sheets("Agendamento")
    End Sub

    Você esqueceu de atribuir à variável Agendamento o objeto Planilha em questão. Dessa forma, nenhuma chamada a ela iria funcionar.

    Em relação às consultas, essa situação se encaixa muito bem para fazer uma consulta SQL.

    Veja o que é possível fazer com uma consulta SQL num formulário: http://www.ambienteoffice.com.br/excel/filtrar_dados_em_formularios/ (ao término da página há um exemplo pronto para baixar).

    Se quiser saber mais da sintaxe de consultas SQL, veja também: http://www.ambienteoffice.com.br/excel/consultas_sql_no_excel/


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 31 de maio de 2012 02:56
    Moderador
  • Boa noite,

    Olha obrigadão pela orientação, tava apanhando muito rsrs

    mas felipe, uma coisa boa que fiz foi tentar fazer isso no access, sabe, baixei uma apostila e comecei a ler, constatei que ele é bem mais facil de trabalhar do que com excell+visual basic junto, estou desenvolvendo o mesmo formulario com o access e esta ate mais bonito ! ate agora esta dando certo, quando tiver uma duvida vou postar aqui pois a ideia é essa, uma coisa:

    você sabe como faço pra vincular 2 planilhas ? tipo a planilha 1 é onde são salvados os registros sequencialmente, ja a planilha 2 é onde é realizado a filtragem e demonstração dos resultados filtrados de forma crescente. Vou explicar melhor, Planilha 1 registro do agendamento, planilha 2 mostra o relatorio de agendamentos filtrados,( por exemplo os agendamentos do dia) sabe como faço isso no axcess? abraço ate meu brother.

    sexta-feira, 1 de junho de 2012 00:30
  • Gustavo,

    Realmente o Access é muito melhor para se trabalhar com esse tipo de sistema que você deseja utilizar, no entanto, você deve aprender pelo menos o básico.

    A pergunta que você fez está no escopo do uso básico do Access, que com certeza sua apostila deve cobrir. No momento, minha melhor sugestão seria você terminar de lê-la e voltar a postar caso ainda tenha dúvida.

    Ao contrário do Excel, o Access possui uma curva de aprendizado um pouco mais difícil. A melhor coisa que se tem a fazer antes de utilizá-lo é entender seus conceitos fundamentais de tabelas, relacionamentos e consultas.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 1 de junho de 2012 20:41
    Moderador