Avatar billede dth Nybegynder
14. august 2008 - 14:06 Der er 3 kommentarer og
1 løsning

Compile Error: ByRef argument type mismatch

Hej Eksperter

Jeg har en function som ser sådan ud:

Function Importer_Ark(Filnavn As String) As Boolean
On Error GoTo Err_Handle
Dim rsFIL As New ADODB.Recordset

    rsFIL.Open "IMPORT_FILER", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    rsFIL.AddNew
    rsFIL("Filnavn") = Filnavn
    DoCmd.TransferSpreadsheet acImport, 8, "IMPORT", Filnavn, True, "outputPDT!A1:AR2"
    Importer_Ark = True
    rsFIL("Importeret") = True
   
Exit_Function:
    rsFIL.Update
    rsFIL.Close: Set rsFIL = Nothing
    Exit Function
   
Err_Handle:
    Importer_Ark = False
    rsFIL("Importeret") = False
    Resume Exit_Function

End Function

Og Kaldes fra:

If Not Importer_Ark(strFiler) Then
    fil_Importfejl = fil_Importfejl + 1
End If

Giver: Compile Error: ByRef argument type mismatch

Hvis jeg bare kalder den med:

Importer_Ark strFiler

er der ingen problemer!

Kan i hjælpe?
Avatar billede mugs Novice
14. august 2008 - 14:35 #1
type mismatch er normalt forkert erklæring af variabler.
Avatar billede fdata Forsker
14. august 2008 - 14:39 #2
Jeg har lige klippet din kode over i en lille testbase (og oprettet tabellen) - og det kører helt fint! Meget mystisk ??!!!??

Min kode:

Option Compare Database
Option Explicit

Function Importer_Ark(Filnavn As String) As Boolean
On Error GoTo Err_Handle
Dim rsFIL As New ADODB.Recordset

    rsFIL.Open "IMPORT_FILER", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    rsFIL.AddNew
    rsFIL("Filnavn") = Filnavn
    DoCmd.TransferSpreadsheet acImport, 8, "IMPORT", Filnavn, True, "outputPDT!A1:AR2"
    Importer_Ark = True
    rsFIL("Importeret") = True
       
Exit_Function:
    rsFIL.Update
    rsFIL.Close: Set rsFIL = Nothing
    Exit Function
   
Err_Handle:
    Importer_Ark = False
    rsFIL("Importeret") = False
    Resume Exit_Function

End Function

Sub Test()
  Dim Fil_Importfejl As Integer
  Dim strFiler As String
  strFiler = "EnFil"
 
  Fil_Importfejl = 0
  If Not Importer_Ark(strFiler) Then
    Fil_Importfejl = Fil_Importfejl + 1
  End If
  MsgBox Fil_Importfejl
End Sub
Avatar billede dth Nybegynder
15. august 2008 - 09:02 #3
Har fundet en anden løsning på problemet
Avatar billede fdata Forsker
15. august 2008 - 17:13 #4
Selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester