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
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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