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


2 participantes

    Runtime Access 2003 com erro

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Runtime Access 2003 com erro Empty Runtime Access 2003 com erro

    Mensagem  vileman 6/10/2012, 22:30

    Caros colegas,

    Para testar o Runtime do Access 2003, desinstalei o Office 2003 da minha máquina, mas antes Compilei e Depurei a BD, e não apresentou nenhum erro, mas ao abrir a BD para testar apareceram as mensagens (já traduzidas do inglês):

    1) Seu banco de dados Sistema ou projeto contém uma referência ausente ou quebrada para a versão "MSWORD.OLB' versão 8.3. Para garantir o seu banco de dados ou projeto funcione corretamente, você deve corrigir esta referência.

    2) A expressão não pode resultar em o nome de uma Macro, o nome de uma função de utilizador, ou o procedimento de evento. Pode ter havido um erro na avaliação da função, evento ou macro.

    Com relação a 1ª mensagem acima, sei que precisa incluir a Referência MSWORD.OLB versão 8.3, embora não saiba se na versão Access 2003 tem essa Referência, pois como já disse desinstalei todo o Office para testes e quando fiz a depuração não apresentou nenhuma pendencia.

    Com relação a 2ª mensagem acima, é como se tivesse alguma Função, Evento ou Macro estivesse com erro, apesar de que na Compilação/Depuração que fiz não apresentou nenhum erro.

    Também gostaria de saber se alguém tem o Runtime do Acces 2003 em Português (Brasil), caso sim, gostaria que disponibilizasse, além das pendencias acima.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Runtime Access 2003 com erro Empty Re: Runtime Access 2003 com erro

    Mensagem  criquio 6/10/2012, 23:45

    No caso da referência, você pode exclui-la caso ela não seja necessária ou registrá-la no sistema caso precise dela. No caso das macros, muitas delas não funciona com o runtime. Nesse caso, precisaria troca-las por vba.


    .................................................................................
    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
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Runtime Access 2003 com erro Empty Runtime Access 2003 com erro

    Mensagem  vileman 7/10/2012, 00:43

    Criquio, boa noite!

    Com relação a 1ª mensagem de erro, aconteceu o seguinte: Fazendo outro teste reinstalei o Office 2003 apenas com o Word, Excel e PowerPoint, sem incluir o Access. Executei novamente a BD e a mensagem da Referencia "MSWORD.OLB' versão 8.3 desapareceu, no entanto, quando abro a rotina que gera um Ofício para um Documento Word com indicadores que são substituidos pelos campos do formulário afim, aparece a mensagem "Normal.dot foi editado por outra sessão do Word. Se você salvar este documento com o nome original, todas as alterações efetuadas na outra sessão serão sobrescritas. Deseja salvar o documento com o nome original assim mesmo?" Com as opções para 'Sim', 'Não' e "Cancelar'. Ao escolher 'Sim' ou 'Não' aparece a mensagem: "Este arquivo é somente leitura. (C:\Users\Manoel\Appdata\...\Normal.dot) com o botão de 'OK', ao clicar no mesmo abre a tela "Salvar Como" mostrando a Pasta "Modelos" onde é mostrado o nome do arquivo normal.dot e mesmo ao clicar em "Salvar" aparece novamente a mensagem: "Este arquivo é somente leitura. (C:\Users\Manoel\Appdata\...\Normal.dot)". Se salvar com outro nome, por exemplo, 'normal2.dot', salva e fecha normalmente. Mas, ao gerar um novo Ofício e tentar salvar acontece tudo novamente como explicado acima. Tens alguma sugestão ou observação para resolver isso ?

    Quanto a 2ª mensagem de erro, terei que reinstalar o Office e acrescentar o Access 2003 e depois trocar as macros para VBA e fazer novos testes, mas prefiro antes de reinstalar tentar resolver a pendencia acima.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Runtime Access 2003 com erro Empty Re: Runtime Access 2003 com erro

    Mensagem  criquio 7/10/2012, 00:51

    Bota a função completa aí para vermos melhor.


    .................................................................................
    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
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Runtime Access 2003 com erro Empty Runtime Access 2003 com erro

    Mensagem  vileman 7/10/2012, 01:10

    Segue a rotina completa abaixo:

    Private Sub BtWord_Click()
    'AUTORIA: Criquio - Fórum Máximo Access, com adaptações
    'OBRIGATÓRIO: Marcar Referência: Microsoft Word 11.0 Object Library
    ' Marcar Referência: Microsoft Scripting Runtime
    Dim ntram
    ntram = MsgBox("Deseja GERAR um novo Documento WORD ?" & vbCr & "ALERTA: Caso já tenha sido gerado o Ofício anterior será substituído pelo Arquivo-Matriz.", vbQuestion + vbYesNo, "Sistema - Confirmação")
    If ntram = 6 Then 'INÍCIO 1º IF
    #Const DESENV = -1
    On Error GoTo TrataErro
    Dim oApp As Object 'Cria uma variável objeto
    Dim strSql As String
    'Habilite a Referencia Microsoft Scripting Runtime
    'By JPaulo ® Maximo Access
    Dim Pasta As String
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.FolderExists("L:\SIACAP\01.Oficios\" & Year(DataOficio)) Then ' verifica se já existe a pasta
    'Não faz nada
    Else
    'cria a pasta em falta para o ano em causa
    MkDir "L:\SIACAP\01.Oficios\" & Year(DataOficio) ' se não existir cria
    End If
    Pasta = "L:\SIACAP\01.Oficios\" & Year(DataOficio)

    'Inicia o MS Word
    Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word
    With oApp
    'Torna o MS Word visível
    Visible = True
    'Abre o documento base
    .Documents.Open ("L:\SIACAP\01.Oficios\MatrizOficio1.doc")
    'Move cada campo para o indicador definido no documento
    .ActiveDocument.Bookmarks("Campo01").Select
    .Selection.Text = "\" & (CStr(Forms!F13_Oficios!SiglaSetor)) & "\Nº " & (CStr(Forms!F13_Oficios!Num4Oficio) & "/" & Year(DataOficio)) ' TESTE: OK
    '.Selection.Text = "\" & (CStr(Forms!F13_Oficios!SiglaSetor)) & "\Nº " & (CStr(Forms!F13_Oficios!NumOficio)) ' ORIGINAL
    .ActiveDocument.Bookmarks("Campo02").Select
    .Selection.Text = (Format(Forms!F13_Oficios!DataOficio, "dd")) & " de " & (Format(Forms!F13_Oficios!DataOficio, "mmmm")) & " de " & (Format(Forms!F13_Oficios!DataOficio, "yyyy"))
    .ActiveDocument.Bookmarks("Campo03").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!Tratamento))
    .ActiveDocument.Bookmarks("Campo04").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!TextoOficio1))
    .ActiveDocument.Bookmarks("Campo05").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!TextoOficio2))
    .ActiveDocument.Bookmarks("Campo06").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!TextoOficio3))
    .ActiveDocument.Bookmarks("Campo07").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!NomeEmitente))
    .ActiveDocument.Bookmarks("Campo08").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!CargoEmitente))
    .ActiveDocument.Bookmarks("Campo09").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!FuncaoEmitente))
    .ActiveDocument.Bookmarks("Campo10").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!Tratamento))
    .ActiveDocument.Bookmarks("Campo11").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!NomeDestinatario))
    .ActiveDocument.Bookmarks("Campo12").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!CargoDestinatario))
    .ActiveDocument.Bookmarks("Campo13").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!OrgaoDestinatario))
    .ActiveDocument.Bookmarks("Campo14").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!DestinoEndereco)) & ", " & (CStr(Forms!F13_Oficios!DestinoCidade))
    .ActiveDocument.Bookmarks("Campo15").Select
    .Selection.Text = "CEP: " & (Format(Forms![F13_Oficios]![DestinoCEP], "00\.000\-000"))
    .ActiveDocument.Bookmarks("Campo16").Select
    .Selection.Text = "\" & (CStr(Forms!F13_Oficios!SiglaSetor)) & "\Nº " & (CStr(Forms!F13_Oficios!Num4Oficio) & "/" & Year(DataOficio))
    .ActiveDocument.Bookmarks("Campo17").Select
    .Selection.Text = (Format(Forms!F13_Oficios!DataOficio, "dd")) & " de " & (Format(Forms!F13_Oficios!DataOficio, "mmmm")) & " de " & (Format(Forms!F13_Oficios!DataOficio, "yyyy"))
    .ActiveDocument.Bookmarks("Campo18").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!NomeEmpresa))
    .ActiveDocument.Bookmarks("Campo19").Select '** RECOLOCADO APÓS TESTES
    .Selection.Text = (CStr(Forms!F13_Oficios!NroArquimedes)) '** RECOLOCADO APÓS TESTES

    'AUTOR: Alexandre Neves - Fórum MáximoAccess (31/07/2012) - FUNCIONOU. Fiz alterações nas linhas xxx e xxx para ficar apenas com 1 campo "NumAutoNovo"
    Dim Rst As DAO.Recordset, Infraccao As String
    Set Rst = CurrentDb.OpenRecordset("SELECT NumAutoNovo FROM (T15_Empresas LEFT JOIN T16_Expedientes ON T15_Empresas.CodEmpresa=T16_Expedientes.IDEmpresa) LEFT JOIN T161_AutosInfracao ON T16_Expedientes.CodExpediente=T161_AutosInfracao.IDExpediente WHERE CodExpediente=" & IDExpediente)
    Infraccao = ""
    Do While Not Rst.EOF
    If Infraccao = "" Then Infraccao = Rst(0) Else Infraccao = Infraccao & vbCr & Rst(0)
    Rst.MoveNext
    Loop
    Set Rst = Nothing
    .ActiveDocument.Bookmarks("Campo20").Select
    .Selection.Text = Infraccao

    'Salva o arquivo gerado
    .ActiveDocument.SaveAs Pasta & "\" & "Oficio " & Replace(Me.NumOficio, "/", "-") & ".doc" 'ORIGINAL
    'Fecha o documento
    .ActiveDocument.Close
    End With
    'Fecha o Word
    oApp.Quit
    End If 'FIM 1º IF

    Dim X As String
    X = Pasta & "\Oficio " & Replace(Me.NumOficio, "/", "-") & ".doc" 'ORIGINAL
    Dim Word As New Word.Application
    With Word
    .Documents.Open X
    .Visible = True
    .WindowState = wdWindowStateMaximize
    End With

    Me.BtWord.Visible = False 'Torna o Controle-Imagem 'BtWord' INVÍSIVEL após fechar o Documento gerado
    Me.GeraWord = 2 'Torna Nulo o Campo 'GeraWord' = NÃO, após gerar Word
    'Libera a memória
    Set oApp = Nothing
    Saida:
    Exit Sub

    TrataErro:
    'Se um campo do formulário estiver vazio, remove o texto do Indicador e continua
    If Err.Number = 94 Then
    oApp.Selection.Text = ""
    Resume Next
    End If
    MsgBox "Form_F13_Oficios - btWord_Click" & vbCrLf & Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If DESENV Then
    oApp.Quit
    Set oApp = Nothing
    Stop
    Resume
    #End If
    Resume Saida
    Me.BtWord.Visible = False 'Torna o Controle-Imagem 'BtWord' INVÍSIVEL após fechar o Documento gerado
    Me.GeraWord = 2 'Torna Nulo o Campo 'GeraWord' = NÃO, após gerar Word
    End Sub

    OBS: Quando fiz todos os testes mencionados desde o início deste tópico, usei a BD como MDE.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Runtime Access 2003 com erro Empty Runtime Access 2003 com erro

    Mensagem  vileman 12/10/2012, 14:54

    Up

    Conteúdo patrocinado


    Runtime Access 2003 com erro Empty Re: Runtime Access 2003 com erro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 22:04