MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Verificar se banco esta aberto na hora de gravar

    Compartilhe

    Robert_2012
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 07/03/2012

    Verificar se banco esta aberto na hora de gravar

    Mensagem  Robert_2012 em Qui 05 Abr 2012, 19:06

    caros,

    Boa Tarde

    Tenho o código para gravar os dados no banco, gostaria de saber como colocar um comando de erro caso o banco esteja aberto na hora de tentar gravar os dados.

    O meu formulário esta em VBA do excel e gravo os dados em um banco feito em access.

    Segue código de gravação

    Sub Incluir_Entradas()

    ''FAZER O CHECK PARA VER SE O BANCO ESTA ABERTO, CASO ESTEJA AGUARDAR UM POUCO E TENTAR GRAVAR NOVAMENTE

    sql = "INSERT INTO TBEntradas(Processo, Data_Atual, Quantidade, Canal, TipoEntrada, MesAno, UsuarioLogado, DtHrLancado, Desc_Motivo_Contato, Codigo_Assinante, Operador, Empresa)"
    sql = sql & " VALUES ("
    If Not IsNull(Me.CboProcesso.Value) Then sql = sql & " '" & Me.CboProcesso.Value & "'"
    If Not IsNull(Me.DtAtu1.Value) Then sql = sql & ", '" & Me.DtAtu1.Value & "'"
    If Not IsNull(Me.TxtQuantidade1.Value) Then sql = sql & ", 0" & Me.TxtQuantidade1.Value
    If Not IsNull(Me.CboCanal.Value) Then sql = sql & ", '" & Me.CboCanal.Value & "'"
    If Not IsNull(Me.CbTpe.Value) Then sql = sql & ", '" & Me.CbTpe.Value & "'"
    If Not IsNull(Me.txtmesano.Value) Then sql = sql & ", '" & Me.txtmesano.Value & "'"
    If Not IsNull(Me.UserLogado.Value) Then sql = sql & ", '" & Me.UserLogado.Value & "'"
    sql = sql & ", '" & Now & "'"
    If Not IsNull(Me.CBMotivo_Contato.Value) Then sql = sql & ", '" & Me.CBMotivo_Contato.Value & "'"
    If Not IsNull(Me.TxtCodAssinante.Value) Then sql = sql & ", '" & Me.TxtCodAssinante.Value & "'"
    sql = sql & ", '" & Rsusuario & "'"
    sql = sql & ", '" & Rsusuario1 & "'"
    sql = sql & " )"

    Set BANCO = New ADODB.Recordset

    CX.Conectar

    BANCO.Open sql, CX.conn

    Set BANCO = Nothing
    CX.Desconectar

    LblMensagem1.Caption = "Cadastro efetuado com sucesso."

    End Sub





    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6714
    Registrado : 05/11/2009

    Re: [Resolvido]Verificar se banco esta aberto na hora de gravar

    Mensagem  Alexandre Neves em Qui 05 Abr 2012, 19:14

    Boa tarde, Robert

    Utilize:
    Sub Incluir_Entradas()
    On Error GoTo MostraErro
    ...
    Sair:
    Exit Sub
    MostraErro:
    MsgBox err.Number & vbCr & err.Description, , "ERRO"
    GoTo Sair
    End Sub
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1119
    Registrado : 05/02/2010

    Verificar se banco esta aberto na hora de gravar

    Mensagem  good guy em Qui 05 Abr 2012, 20:00

    No site do Macoratti,

    [Você precisa estar registrado e conectado para ver este link.]

    Tente adaptar o seguinte código:

    Dim cnn as ADODB.Connection
    Set cnn = New ADODB.Connection

    'abrindo uma conexão usando um DSN configurado com o nome de Teste

    Cnn.Open "Teste" , "usuario", ""

    'Verifica se a conexão foi efetivamente efetuada

    If cnn.State = adStateOpen then

    Msgbox " Conexão ativa "

    else

    MsgBox " Conexão inativa "

    End if

    Cnn.close 'Fecha a conexão

    Robert_2012
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 07/03/2012

    Re: [Resolvido]Verificar se banco esta aberto na hora de gravar

    Mensagem  Robert_2012 em Qui 05 Abr 2012, 20:40

    Caros,

    Deu certo.

    Obrigado pela Ajuda.

      Data/hora atual: Seg 23 Abr 2018, 03:03