Ir para conteúdo
Fórum Script Brasil
  • 0

erro 13: tipos incompativeis


Humm

Pergunta

então, tenho um projeto que funciona perfeitamente bem na minha maquina..

mas ao roda-lo accde em uma maquina com runtime instalado, alguns procedimentos dao esse erro 13: tipos incompativeis.

se eu rodar accdb nessa mesma maquina com runtime, ele roda perfeito..

e essa? quem explica?

um dos codigos que da erro:

Private Sub BT_PRINT_Click()
        Dim conn As ADODB.Connection
        Dim cmd As ADODB.Command
        Dim RS As ADODB.Recordset

    On Error GoTo BT_PRINT_Click_Error

        Set conn = CurrentProject.Connection
        Set cmd = New ADODB.Command
        cmd.ActiveConnection = conn
        
        If IsNull(DLookup("[COD_PROD]", "PRODUTOS")) Then
            MsgBox "Não existem nenhum produto cadastrado ainda.", vbInformation, "Impressora"
            Exit Sub
        End If
        
        cmd.CommandText = "SELECT COD_PROD, DESCR, preço " & _
        "FROM PRODUTOS " & _
        "WHERE TRASH = FALSE " & _
        "ORDER BY DESCR"
        Set RS = cmd.Execute
CHECK:
        If IsNull(DLookup("[prnport]", "app")) Or DLookup("[prnport]", "app") = "" Or IsNull(DLookup("[espace]", "app")) Or DLookup("[espace]", "app") = "" Then
            MsgBox "As configurações de impressão não foram efetuadas ainda." & vbNewLine & vbewline & "Defina as configurações na janela a seguir...", vbInformation, "Configurações de Impressão"
            DoCmd.OpenForm "print_cfg", , , , , acDialog
            GoTo CHECK
        End If
        fanta = DLookup("[fant]", "config")
        port = DLookup("[prnport]", "app")
        endspace = DLookup("[espace]", "app")
        Open port For Output As #1
        Print #1, fanta
        Print #1, ende
        Print #1, ende2
        Print #1, Format(telef, "(@@) @@@@-@@@@")
        Print #1, www
        Print #1, "------------------------------------------------"
        Print #1, "                TABELA DE PREÇOS                "
        Print #1, "------------------------------------------------"
        Print #1, "CODIG DESCRIÇÃO                         preço R$"
        POS = 1
        PAG = 1
        PAGS = 0
        RS.MoveFirst
        Do While Not RS.EOF
            PAGS = PAGS + 1
            RS.MoveNext
        Loop
        If PAGS >= 100 Then
            PAGS = PAGS / 100
            PAGS = Format(PAGS, "0")
        Else
            PAGS = 1
        End If
        RS.MoveFirst
        Do While Not RS.EOF
            If POS = 101 Then
                Print #1, ""
                Print #1, "Pagina " & PAG & " de " & PAGS
                Print #1, "Impresso em " & Now
                For i = 1 To endspace
                    Print #1, ""
                Next i
                Close #1
                MsgBox "Pagina " & PAG & " de " & PAGS & vbNewLine & "Aguarde o término da impressão..." & vbNewLine & "Destaque a página e pressione OK para continuar...", , "Impressora"
                PAG = PAG + 1
                POS = 1
                Open port For Output As #1
            End If
            COD = Format(RS("COD_PROD"), "0000")
            DESC = Left(RS("DESCR"), 35)
            PR = Format(RS("preço"), "#.00")
            Print #1, COD & " " & DESC & Replace(Space(43 - Len(DESC) - Len(PR)), " ", ".") & PR
            RS.MoveNext
            POS = POS + 1
        Loop
        Print #1, ""
        Print #1, "Pagina " & PAG & " de " & PAGS
        Print #1, "Impresso em " & Now
        For i = 1 To endspace
            Print #1, ""
        Next i
        Close #1
   
    On Error GoTo 0
    Exit Sub

BT_PRINT_Click_Error:
    ARQUIVO = "C:\SysControl\Delivery\error_log.txt"
    Open ARQUIVO For Append As #9
        Print #9, Now() & " - " & Me.Name & "(BT_PRINT_Click)"
        Print #9, "Erro " & err.Number & ": "; err.Description
    Close #9
    MsgBox "Ocorreu um erro inesperado." & vbNewLine & vbNewLine & "Por favor, entre em contato com house.fix.macae@gmail.com e relate o problema ocorrido. Obrigado!", vbCritical, "Erro!"

         
End Sub

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

sim, antes até estava no 2.2, mas testei todas as versoes..

tanto que no accdb ele funciona..

mas se compilar em accde, mesmo com a referencia marcada, o que faz com que a dll seja incluida no projeto, da pau.

na oresolvi o problema, mas fui pra alternativa do DAO e ta funcionando perfeitamente.

só pra deixar bem claro.. vou explicar em que cenário ocorre o problema:

arquivo em accde + runtime

Link para o comentário
Compartilhar em outros sites

  • 0

Agora que lembrei... já tive esse tipo de erro, acontecia na hora de conectar, fechei o db e abri dnovo e deu outro erro mais pra frente, conferi o código e tava certo, daí deu meu horário e eu fechei e no outro dia abri dnovo e fui testar e deu certo.

Quem sabe se importar a api via código? Algo como Declare Function apiADODB Lib "msado15.dll" Alias "MyADODB"...

Acho que seria muuuuito braçal, mas...

Se você for usar DAO, tem que mudar tudo pra DAO, tem que mudar tudo pra DAO, mas em DAO não lembro como usar parâmetros nas consultas

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...