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


3 participantes

    [Resolvido]BD 2003 corrompe na versão 2010,,,

    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]BD 2003 corrompe na versão 2010,,, Empty [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  sergiocfba 27/11/2013, 13:50

    Bom dia,

    amigos, o meu bd ultimamente esta corrompendo e as vezes apaga tudo ao dar erro ou ao compactar.
    foi desenvolvido no 2003 e roda no 2010.
    ainda não tive tempo de converter ele para o 2010 devido algumas coisas complicarem nessa versão.

    alguém tem algo parecido?

    pensei em fazer a conversão e usar-lo desvinculado, pois ele é compartilhado na rede. e vive travando as vezes a rede cai e ai ja viu.

    agradeço qualquer sujestão.
    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]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  criquio 27/11/2013, 14:47

    Já depurou o código para ver se existem erros? Compactar/Reparar um banco com erros de códigos pode acarretar em corrompimento. Mas, fosse, eu, providenciaria logo a conversão. Talvez fosse o caso de criar um banco novo e importar tudo para esse banco novo tambem. E tambem checar se o Office está atualizado com seus SPs.


    .................................................................................
    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.

    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  sergiocfba 28/11/2013, 02:26

    Boa criquio.

    Eu fiz a conversão para o 2010, mas muitas coisas não funcionam a linguagem vba é minha dor de cabeça.
    eu vou tentar.

    Eu uso muito os comandos DAO.
    no 2010 algumas coisas não funcionam.
    O vilão maior é o Erro de disco ou rede: . Erro de tempo de 3043
    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]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  criquio 28/11/2013, 11:16

    Talvez seu banco esteja executando várias instâncias de abertura do banco de dados ao mesmo tempo sem fechá-las. Verifique se está fechando adequadamente os Recordsets e/ou Databases com rs.Close/db.Close e tambem liberando a memória com rs = Nothing/db = Nothing.


    .................................................................................
    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.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  Avelino Sampaio 28/11/2013, 11:28

    Não esqueça também de atualizar o 2010 com o pacote sp1. Baixe direto do site da Microsoft

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  sergiocfba 28/11/2013, 13:11

    Obrigado Avelino e criquio pela dica.

    Já tinha feito essa triagem, fechando os records.

    Tenho pouco tempo para revisar no caso de conversão.

    Mas estou fazendo aos poucos.

    aproveitando o embalo:

    No caso de ADODB desvinculado em um formulário continuo ha uma maneira de contar quantos registros contidos no Form?

    Obrigado por retornar
    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]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  criquio 28/11/2013, 13:17

    Você pode colocar em um campo desvinculado no form =Count().


    .................................................................................
    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.

    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  sergiocfba 3/12/2013, 02:34

    Boa noite,

    criquio, fiz todos os procedimento mas continua lento e travando muito. O banco esta compartilhado na rede, então estou tentando mudar para conexão desvinculado.

    Segue exemplo.

    Código:
    Private Sub Form_Load()
    On Error GoTo er
        '================================
        'Faz a conexão com banco de dados
        '================================
     
        Local_BD = "c:\Equipamentos"
       
        Set DAODB = OpenDatabase("c:\Base_Controle_Equipamentos.mdb")
     
        ConnString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=c:\Base_Controle_Equipamentos.mdb"
    Set ADOMyConn = CreateObject("ADODB.Connection")
        ADOMyConn.ConnectionString = ConnString
        ADOMyConn.Open
        'Preeche_Login_User


    Exit Sub
    er:
        Erro "Erro ao Conectar com a Base de Dados - Evento Form_Load"
        Exit Sub
    End Sub
    Ate aqui blz mas eu tenho um campo no formulário que coleta o cadastro e o numero do equipamento que ele vai usar e são três equipamentos diferentes gavados em três tabelas diferentes. Eu estava usando assim:

    Código:
    Private Sub Txt_IdCall_AfterUpdate()
    Dim BancoDados As Database
    Dim Coletor As Recordset
    Dim Talkman As Recordset
    Dim HeadSet As Recordset
    Set BancoDados = CurrentDb
    'Aqui ele verifica no campo Txt_IdCall qual equipamento sera cadastrado.
    If Txt_IdCall <= 1000 Then
    On Error GoTo fim
          Set Coletor = BancoDados.OpenRecordset("Tab_LiberaColetor", dbOpenTable)
          Coletor.AddNew
          Coletor("IdCall").Value = Txt_IdCall.Value
          Coletor("Cadastro").Value = cbo_cadastro.Value
          Coletor("IPRegisto").Value = Txt_IP.Value
          Coletor("UserRegisto").Value = Nome_Usuario.Value
          Coletor.Update
          Txt_IdCall.Value = Empty
          cbo_cadastro.Value = Empty
          Me.Refresh
          DoCmd.GoToRecord , , acNewRec
          cbo_cadastro.SetFocus
         
    ElseIf Txt_IdCall >= 70000000 And Txt_IdCall <= 78281237 Then

    On Error GoTo fim
            Set HeadSet = BancoDados.OpenRecordset("Tab_LiberaHeadSet", dbOpenTable)
            HeadSet.AddNew
            HeadSet("IdCall").Value = Txt_IdCall.Value
            HeadSet("Cadastro").Value = cbo_cadastro.Value
            HeadSet("IPRegisto").Value = Txt_IP.Value
            HeadSet("UserRegisto").Value = Nome_Usuario.Value
            Txt_IdCall.Value = Empty
            cbo_cadastro.Value = Empty
            HeadSet.Update
            Txt_IdCall.Value = Empty
            cbo_cadastro.Value = Empty
            Me.Refresh
            DoCmd.GoToRecord , , acNewRec
            cbo_cadastro.SetFocus
           
    ElseIf Txt_IdCall >= 200000000 And Txt_IdCall <= 201341440 Then
    On Error GoTo fim
          Set Talkman = BancoDados.OpenRecordset("Tab_LiberaTalkman", dbOpenTable)
          Talkman.AddNew
          Talkman("IdCall").Value = Txt_IdCall.Value
          Talkman("Cadastro").Value = cbo_cadastro.Value
          Talkman("IPRegisto").Value = Txt_IP.Value
          Talkman("UserRegisto").Value = Nome_Usuario.Value
          Talkman.Update
          Txt_IdCall.Value = Empty
          cbo_cadastro.Value = Empty
          Me.Refresh
          DoCmd.GoToRecord , , acNewRec
          cbo_cadastro.SetFocus
    Else
          MsgBox "Equipamento informado não está Cadastrado na Base!!!", vbCritical, "...:::Controle de Equipamentos:::..."
             
          Exit Sub
    fim:
          If err.Number = 3022 Then
    MsgBox "Equipamento Pendente de Baixa no Sistema!!!", vbCritical, "...:::Controle de Equipamentos:::..."

        DoCmd.OpenForm "Baixa_Atual"
        Me.Txt_IdCall.SetFocus
        Me.Refresh
        BancoDados.Close
        Set BancoDados = Nothing
    End If
    End If
    End Sub
    Eu não consigo fazer isso desvinculado no método ADO, alguém pode me ajudar?

    Obrigado pela força!
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  sergiocfba 7/12/2013, 11:57

    Bom dia!

    Consegui resolver essa questão do vba da seguinte forma:
    Código:
    Private Sub Txt_IdCall_AfterUpdate()
    '================================================================
    'Condição que seleciona o tipo de equipamento que será cadastrado
    'Coletor
    '================================================================
    If Txt_IdCall <= 1000 Then
    Coletor (idcall)

    ElseIf Txt_IdCall >= 70000000 And Txt_IdCall <= 78281237 Then
        HeadSet (idcall)

    ElseIf Txt_IdCall >= 200000000 And Txt_IdCall <= 201341440 Then
    Talkman (idcall)
    End If

    End sub

    Estou resumindo para não encher muito o tópico.
    Essa linha de cima levara caso o Txt_idcall esteja nesse parametro para uma sub.

    Código:
    On Error GoTo E
    Dim Col As ADODB.Recordset
    Dim E As ADODB.Error
    Set Col = New ADODB.Recordset
    Col.CursorType = adOpenDynamic
    Col.LockType = adLockOptimistic
    Col.Open "Select IDCALL,Cadastro From Cons_LiberaColetor", ADOMyConn
        Col.AddNew
        Col!idcall = Txt_IdCall.Value
        Col!Cadastro = CBO_Cadastro.Value
        Txt_IdCall.Value = Empty
        CBO_Cadastro.Value = Empty
          Me.Refresh
    Col.Update
    Col.Close
    Set Col = Nothing
    Exit Sub
    E:
    'MsgBox Err.Number & vbCrLf & Err.Description 'Exibe a descrição do erro
          If Err.Number = -2147217887 Then
    MsgBox "Equipamento Pendente de Baixa no Sistema!!!", vbCritical, "...:::Controle de Equipamentos:::..."

        DoCmd.OpenForm "Baixa_Atual"
        Me.Txt_IdCall.SetFocus
    End If
    End Sub
    E assim por diante.

    Só não resolvi a parte do bd corromper já, fechei tudo compilei mas é a rede.

    Obrigado amigos.

    Conteúdo patrocinado


    [Resolvido]BD 2003 corrompe na versão 2010,,, Empty Re: [Resolvido]BD 2003 corrompe na versão 2010,,,

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 19:47