Página 1 de 2

Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qua Mar 10, 2010 11:46 am
por thiagocintas
Estou com problemas na exibição dos campos, quando utilizo a função de pesquisar.
Inseri no formulário de cadastro duas checkbox, com as seguintes descrições: "Disponível" "Em utilização". Isso é utilizado para definir se um documento está disponível para visualização ou se alguem está utilizando.
Quando realizo a pesquisa, a resposta é feita da seguinte forma: Checkbox marcada - Retorna valor -1 / Checkbox não-marcada - Retorna valor 0.
Gostaria de saber como alterar essa resposta na pesquisa para : Checkbox marcada - Retorna valor Sim / Checkbox não-marcada - Retorna valor Não ou Vazio.

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qua Mar 10, 2010 2:21 pm
por webmaster
Thiago,

A primeira implementação já foi feita (-1 e 0)? Sem sim, é só trocar os valores não? Se não, pode colocar aqui o que já conseguiu?

Abraços

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qua Mar 10, 2010 3:28 pm
por thiagocintas
Ainda não foi implementado. Apenas inserir as checkbox no frmCadastro e quando efetuo a pesquisa, retornam esses valores (-1 e 0).
Segue abaixo o programa do cadastro

Código: Selecionar todos

Private Sub CarregaRegistro()
'carrega os dados do primeiro registro
    With wsCadastro
        If Not IsEmpty(.Cells(indiceRegistro, colPrateleira)) Then
            Me.txtRegistro.Text = .Cells(indiceRegistro, colRegistro).Value
            Me.txtFabricante.Text = .Cells(indiceRegistro, colFabricante).Value
            Me.txtArmario.Text = .Cells(indiceRegistro, colArmario).Value
            Me.txtPrateleira.Text = .Cells(indiceRegistro, colPrateleira).Value
            Me.txtPasta.Text = .Cells(indiceRegistro, colPasta).Value
            Me.txtDescricao.Text = .Cells(indiceRegistro, colDescricao).Value
            Me.txtNome.Text = .Cells(indiceRegistro, colNome).Value
            Me.txtRE.Text = .Cells(indiceRegistro, colRE).Value
            Me.txtRamal.Text = .Cells(indiceRegistro, colRamal).Value
            Me.txtDataRetirada.Text = .Cells(indiceRegistro, colDataRetirada).Value
            Me.txtMaquina.Text = .Cells(indiceRegistro, colMaquina).Value
            Me.Disponivel = .Cells(indiceRegistro, colDisponivel).Value
            Me.Em_utilizacao = .Cells(indiceRegistro, colEm_utilizacao).Value
        End If
    End With

    Call AtualizaRegistroCorrente
End Sub

Public Sub CarregaRegistroPorIndice(ByVal indice As Long)
'carrega os dados do registro baseado no índice
    indiceRegistro = indice

    Call CarregaRegistro
End Sub

Private Sub SalvaRegistro(ByVal id As Long, ByVal indice As Long)
    With wsCadastro
        .Cells(indice, colRegistro).Value = id
        .Cells(indice, colFabricante).Value = Me.txtFabricante.Text
        .Cells(indice, colArmario).Value = Me.txtArmario.Text
        .Cells(indice, colPrateleira).Value = Me.txtPrateleira.Text
        .Cells(indice, colPasta).Value = Me.txtPasta.Text
        .Cells(indice, colDescricao).Value = Me.txtDescricao.Text
        .Cells(indice, colNome).Value = Me.txtNome.Text
        .Cells(indice, colRE).Value = Me.txtRE.Text
        .Cells(indice, colRamal).Value = Me.txtRamal.Text
        .Cells(indice, colDataRetirada).Value = Me.txtDataRetirada.Text
        .Cells(indice, colMaquina).Value = Me.txtMaquina.Text
        .Cells(indice, colDisponivel).Value = Me.Disponivel
        .Cells(indice, colEm_utilizacao).Value = Me.Em_utilizacao
    End With

    Call AtualizaRegistroCorrente
End Sub

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qua Mar 10, 2010 3:33 pm
por webmaster
Thiago,

Os controles Me.Disponivel e Me.Em_utilizacao seria seus checkbox?

Abraços

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qua Mar 10, 2010 4:00 pm
por thiagocintas
São exatamente estes.

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qui Mar 11, 2010 9:31 am
por webmaster
Thiago,

Como a propriedade Value do CheckBox retorna se o mesmo está selecionado ou não, tente algo como:

Código: Selecionar todos

...
.Cells(indice, colDisponivel).Value = IIf(Me.Disponivel.Value, "Sim", "Não")
.Cells(indice, colEm_utilizacao).Value = IIf(Me.Em_utilizacao.Value, "Sim", "Não")
...
A "volta" precisaria ser algo como:

Código: Selecionar todos

...
Me.Disponivel.Value = IIf(.Cells(indice, colDisponivel).Value = "Sim",True,False)
Me.Em_utilizacao.Value = IIf(.Cells(indice, colEm_utilizacao).Value = "Sim",True,False)
...
Deve funcionar. Abraços

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qui Mar 11, 2010 3:28 pm
por thiagocintas
Essa "volta" deve ser inserida logo após o comando de valores:
.Cells(indice, colDisponivel).Value = IIf(Me.Disponivel.Value, "Sim", "Não")
.Cells(indice, colEm_utilizacao).Value = IIf(Me.Em_utilizacao.Value, "Sim", "Não")

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Qui Mar 11, 2010 5:56 pm
por webmaster
Thiago,

Foi uma pergunta?

Abraços

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Sáb Mar 13, 2010 10:32 pm
por thiagocintas
É uma pergunta sim.
Inseri no programa suas orientações e não pq não funcionou.

Re: Resposta Descrição Checkbox - Formulário Pesquisa

Enviado: Seg Mar 15, 2010 10:08 am
por webmaster
Thiago,

Quando digo a "volta", quero dizer o seguinte:

Ida:
SalvarRegistro. Colocar os dados do controles nas célula das planilha

Volta:
CarregarRegistro. Colocar os dados das células da planilha nos controles

Os nome das funções refletem o raciocínio e onde as linhas devem ser adicionadas ok?

Abraços