MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Erro 91 Variavel do objeto ou do bloco With não foi definida

    avatar
    Convidado
    Convidado


    [Resolvido]Erro 91  Variavel do objeto ou do bloco With não foi definida Empty Erro 91 Variavel do objeto ou do bloco With não foi definida

    Mensagem  Convidado 21/6/2011, 22:41

    Amigos.. Dessa vez ta difícil do 3 em 1 funcionar. hehehehe


    Tenho um botão onde Adiciono novo registro atraves de um recordset

    Ele funciona bem...


    Mas tenho alguns if's para alertar de campos não preenchidos...
    Ele remete de volta ao form para o usuário preencher corretamente o campo...


    Mas agora o problema... depois de corrigido o preenchimento do campo...

    ao clicar novamente no botão... dá esse erro... Outras vezes o botão não funciona..


    Se puderem me ajudar com os if's desse código fico grato





    Private Sub btnNovo_Click()
    On Error GoTo Err_btnNovo

    If Me!btnNovo.Caption = "LIBERAR CADASTRO" Then
    Call DesbloqueiaCampo
    Call LimpaCampos
    MsgBox "CADASTRO LIBERADO", vbExclamation, "Confirmação"
    Me.btnNovo.Caption = "CADASTRAR"
    Me.btnNovo.ForeColor = 8519755
    Exit Sub
    Else

    If IsNull(txtID) Or Me.txtID.Value = "" Then GoTo Continuar

    If Not IsNull(Me.txtID) Then
    MsgBox "O campo identificador do Visitante está preenchido" & vbCrLf & _
    "Pode ser que você tentou salvar o mesmo registro seguido" & vbCrLf & _
    "ou o campo não foi limpo após a última operação." & vbCrLf & _
    "Este processo será Abortado!", vbExclamation, "Confirmação"
    Call LimpaCampos
    Cancel = True
    DoCmd.Close
    Exit Sub

    Continuar:

    If IsNull(txtVisitante) Or Me.txtVisitante.Value = "" Then
    MsgBox "Você precisa Preencher o nome do Visitante!!!", vbExclamation, "Confirmação"
    Me.txtVisitante.SetFocus
    End If
    Exit Sub

    If IsNull(CboDetento) Or Me.CboDetento.Value = "" Then
    MsgBox "Você precisa selecionar o detento a ser visitado!!!", vbExclamation, "Confirmação"
    Me.CboDetento.SetFocus
    Me.CboDetento.Dropdown
    End If
    Exit Sub


    Dim Db As DAO.Database
    Dim ws As DAO.Workspace
    Dim rs As DAO.Recordset
    Dim NomeBD As String
    Dim StrPath As String
    Dim I As String
    Parametros_de_Inicializacao "SysPen.par"


    NomeBD = "Syspen_Be.Accdb"
    StrPath = DirBancoDados & NomeBD

    Set ws = DBEngine.Workspaces(0)
    Set Db = ws.OpenDatabase(DirBancoDados & "\Syspen_Be.accdb", False, False, "MS Access;PWD=senha")

    StrSQLVisitantes = ("SELECT * FROM Visitantes")
    '"SELECT * FROM Visitantes '"
    'LEFT JOIN Detentos ON Visitantes.ID_Visitante=Detentos.ID"

    Set rs = Db.OpenRecordset(StrSQLVisitantes)

    I = MsgBox("Voce está adicionando novo registro, deseja prosseguir ?" & vbCrLf & _
    " Lembre-se que só se pode inserir um Detento a cada vez!", vbYesNo, "Confirmação")
    If I = vbYes Then

    rs.AddNew ' Abre a edição do registro


    '********PÁGINA 01*************************************************************************
    rs![Visitante] = Me.txtVisitante
    rs![EnderecoVis] = Me.txtEndereco
    rs![BairroVis] = Me.txtBairro
    rs![EstadoVis] = Me.cboEstado
    rs![CidadeVis] = Me.cboCidade
    rs![DocumentosVis] = Me.txtDocumentos
    rs![TelefoneResidencialVis] = Me.TxtTelResidencial
    rs![AnotacoesVisitante] = Me.txtAnot
    rs![RelaçãodeTutorVis] = Me.CboRelacao
    rs![BloquearVisitante] = Me.txtSelecao
    rs![ID_Visitante] = Me.txtIDDetento

    ' Atualiza os dados na tabela
    rs.Update
    MsgBox "Registro adicionado com sucesso!!!" & vbCrLf & _
    "Vá no módulo de inserir fotos, para aplicar" & vbCrLf & _
    "as fotos do Visitante", vbInformation, "Atenção!"


    Else
    Cancel = True
    End If
    End If


    rs.Close
    Db.Close
    Set rs = Nothing
    Set Db = Nothing
    Exit Sub
    Call LimpaCampos
    Call BloqueiaCampo
    Exit_btnNovo:
    Exit Sub

    Err_btnNovo:
    MsgBox "Erro número: " & err.Number & vbLf & vbLf & err.Description, vbCritical, "Syspen!"
    Resume Exit_btnNovo

    End Sub
    avatar
    Convidado
    Convidado


    [Resolvido]Erro 91  Variavel do objeto ou do bloco With não foi definida Empty Re: [Resolvido]Erro 91 Variavel do objeto ou do bloco With não foi definida

    Mensagem  Convidado 22/6/2011, 00:03

    Bem Amigos... como no código que eu aplicava ai acima existiam alguns if's...

    Quando ocorria alguma dessas cláusulas... o código do recordset não funcionava mais..
    Dava mensagem como essa da variável do objeto With

    Para resolver isso.. No botão de inserir novo registro deixei apenas os If's....
    E caso sejam satisfeitas todas as chamadas...
    Ai sim chamo a função de Adição de novo Registro..


    Eis o código


    *******Para o Botão**********************


    Private Sub btnNovo_Click()
    Dim I, II As String

    If Me!btnNovo.Caption = "LIBERAR CADASTRO" Then
    Call DesbloqueiaCampo
    Call LimpaCampos
    MsgBox "CADASTRO LIBERADO", vbExclamation, "Confirmação"
    Me.btnNovo.Caption = "CADASTRAR"
    Me.btnNovo.ForeColor = 8519755
    Exit Sub
    Else

    If Not IsNull(Me.txtID) Then
    MsgBox "O campo identificador do Visitante está preenchido" & vbCrLf & _
    "Pode ser que você tentou salvar o mesmo registro seguido" & vbCrLf & _
    "ou o campo não foi limpo após a última operação." & vbCrLf & _
    "Este processo será Abortado!", vbExclamation, "Confirmação"
    Call LimpaCampos
    Cancel = True
    DoCmd.Close
    End If

    If IsNull(txtVisitante) Or Me.txtVisitante.Value = "" Then
    MsgBox "Você precisa Preencher o nome do Visitante!!!", vbExclamation, "Confirmação"
    Me.txtVisitante.SetFocus
    Exit Sub
    End If
    If IsNull(CboDetento) Or Me.CboDetento.Value = "" Then
    MsgBox "Você precisa selecionar o detento a ser visitado!!!", vbExclamation, "Confirmação"
    Me.CboDetento.SetFocus
    Me.CboDetento.Dropdown
    Exit Sub
    End If
    If IsNull(CboRelacao) Or Me.CboDetento.Value = "" Then
    MsgBox "Você precisa selecionar o Grau de Parentesco!!!", vbExclamation, "Confirmação"
    Me.CboRelacao.SetFocus
    Me.CboRelacao.Dropdown
    Exit Sub
    End If
    If IsNull(txtDocumentos) Then
    I = MsgBox("É requerido o preenchimento do Campo DOCUMENTOS!" & vbCrLf & _
    "Deseja deixar o preenchimento para depois?", vbYesNo + vbCritical, "Atenção")
    Select Case I
    Case vbNo
    Me.txtDocumentos.SetFocus
    Exit Sub
    Case vbYes
    End Select
    End If

    If IsNull(txtEndereco) Or IsNull(TxtTelResidencial) Or IsNull(cboEstado) Or IsNull(cboCidade) Or IsNull(txtBairro) Then
    II = MsgBox("você está deixando campos em Branco!" & vbCrLf & _
    "Deseja deixar o preenchimento para depois?", vbYesNo + vbCritical, "Atenção")
    Select Case II
    Case vbNo
    Exit Sub
    Case vbYes
    End Select
    End If
    End If
    Call NovoRegistro
    End Sub



    ************Para a Fução de inserir novo registro *************


    Private Sub NovoRegistro()
    On Error GoTo Err_NovoRegistro

    Dim Db As DAO.Database
    Dim ws As DAO.Workspace
    Dim rs As DAO.Recordset
    Dim NomeBD As String
    Dim StrPath As String
    Dim I As String
    Parametros_de_Inicializacao "SysPen.par"


    NomeBD = "Syspen_Be.Accdb"
    StrPath = DirBancoDados & NomeBD

    Set ws = DBEngine.Workspaces(0)
    Set Db = ws.OpenDatabase(DirBancoDados & "\Syspen_Be.accdb", False, False, "MS Access;PWD=senha")

    StrSQLVisitantes = ("SELECT * FROM Visitantes")

    Set rs = Db.OpenRecordset(StrSQLVisitantes)

    I = MsgBox("Voce está adicionando novo registro, deseja prosseguir ?" & vbCrLf & _
    " Lembre-se que só se pode inserir um Detento a cada vez!", vbYesNo, "Confirmação")
    If I = vbYes Then

    rs.AddNew ' Abre a edição do registro


    '********PÁGINA 01*************************************************************************
    rs![Visitante] = Me.txtVisitante
    rs![EnderecoVis] = Me.txtEndereco
    rs![BairroVis] = Me.txtBairro
    rs![EstadoVis] = Me.cboEstado
    rs![CidadeVis] = Me.cboCidade
    rs![DocumentosVis] = Me.txtDocumentos
    rs![TelefoneResidencialVis] = Me.TxtTelResidencial
    rs![AnotacoesVisitante] = Me.txtAnot
    rs![RelaçãodeTutorVis] = Me.CboRelacao
    rs![BloquearVisitante] = Me.txtSelecao
    rs![ID_Visitante] = Me.txtIDDetento

    ' Atualiza os dados na tabela
    rs.Update
    MsgBox "Registro adicionado com sucesso!!!" & vbCrLf & _
    "Vá no módulo de inserir fotos, para aplicar" & vbCrLf & _
    "as fotos do Visitante", vbInformation, "Atenção!"
    Call LimpaCampos
    Call BloqueiaCampo
    Me.btnNovo.Caption = "LIBERAR CADASTRO"
    Me.btnNovo.ForeColor = vbRed

    Else
    Cancel = True
    End If

    rs.Close
    Db.Close
    Set rs = Nothing
    Set Db = Nothing
    Exit Sub


    Exit_NovoRegistro:
    Exit Sub

    Err_NovoRegistro:
    MsgBox "Erro número: " & err.Number & vbLf & vbLf & err.Description, vbCritical, "Syspen!"
    Resume Exit_NovoRegistro

    End Sub


    Saudações
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Erro 91  Variavel do objeto ou do bloco With não foi definida Empty Re: [Resolvido]Erro 91 Variavel do objeto ou do bloco With não foi definida

    Mensagem  criquio 22/6/2011, 00:40

    Outro? Risk risk risk (som do dedo indicador coçando a cabeça) Razz


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Convidado
    Convidado


    [Resolvido]Erro 91  Variavel do objeto ou do bloco With não foi definida Empty Re: [Resolvido]Erro 91 Variavel do objeto ou do bloco With não foi definida

    Mensagem  Convidado 22/6/2011, 00:49

    Very Happy Laughing Very Happy Very Happy kkkkkkkkkkkkkkkkkkkkkk

    tenho que quebrar cabeça... ja estou mais que atrasado com isso..

    Imaginei conseguir em um determinado tempo... e já se foram 2 tempos..

    kkkk

    Obrigado Amigão!

    Conteúdo patrocinado


    [Resolvido]Erro 91  Variavel do objeto ou do bloco With não foi definida Empty Re: [Resolvido]Erro 91 Variavel do objeto ou do bloco With não foi definida

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 09:39