Jump to content
Fórum Script Brasil
  • 0

erro 13: tipos incompativeis


Humm

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...