functie werkt na kopie in andere database niet (meer)

Status
Niet open voor verdere reacties.

HankMegens

Gebruiker
Lid geworden
1 sep 2015
Berichten
86
Hallo,

Ooit eens een stukje VBA gemaakt om middels een knop een kopie/backup van mijn database te maken.
Heb de module en het betreffende formulier en een tabel nu naar een nieuwe database gekopieerd en geen wijzigingen in beide aangebracht.
De backup wordt idd keurig gemaakt, echter in de nieuwe omgeving wordt de padnaam niet (meer) opgeslagen in een tabel.

Wat zou de oorzaak kunnen zijn?

onder de knop:
Code:
Private Sub btn_backup_Click()
On Error GoTo fout

    Dim fileObj As Object
    Dim strBestandNaam As String
    Dim strpadnaam As String
    Dim strBackupNaam As String
    Dim msg As Integer
    Dim fout As String
    Dim sFolder     As String

    sFolder = BrowseFolder("Selecteer de map waar een kopie van het databestand moet komen staan")
    'Me.txtpadnaam = sFolder
    
    strBestandNaam = CurrentProject.Name
    strBackupNaam = "backup" & Format$(Now(), "yyyymmdd") & "-" & strBestandNaam

    strpadnaam = sFolder
    strBestandNaam = CurrentProject.Path & "\" & strBestandNaam
    strBackupNaam = strpadnaam & "\" & strBackupNaam
    MsgBox strBackupNaam
        Set fileObj = CreateObject("scripting.filesystemobject")
    fileObj.CopyFile strBestandNaam, strBackupNaam, True

    msg = MsgBox("De backup is gelukt!")
    'log
    fLog "btn_backup", "De backup is gelukt!"
    fbackupLog sFolder
Exit Sub
fout:
    MsgBox "De backup is mislukt!", vbCritical
    'loggen
    ferrLog "backup maken", Err.Number, Err.Description
End Sub

code om tbl_backuplog te vullen
Code:
Function fbackupLog(strlocatie As String)
On Error Resume Next

    Dim strGebruiker As String
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
        
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("tbl_backupLog")
    
    strGebruiker = Environ("Username")
    
    With rst
        .AddNew
        !Gebruiker = strGebruiker
        !Locatie = strlocatie
        !Datum = Now()
        .Update
    End With
        
    rst.Close
    dbs.Close

End Function

Alvast bedankt

ps

Dit geldt trouwens na verder kijken voor meerdere functies die ik overgenomen heb
 
Laatst bewerkt:
Dit geldt trouwens na verder kijken voor meerdere functies die ik overgenomen heb
Dacht ik je vraag begrepen te hebben, gooi je er in de laatste regel nog een diffuus filter overheen :). Wat bedoel je hier mee?
Heb je al eens in de stapmodus door de code heen gelopen? Als iets niet werkt, dan loopt de code ergens vast. Waar, is dan interessante informatie. Maar die krijg je niet vanwege:
Code:
On Error Resume Next
Die regel zou ik dus eerst uitschakelen. Dan zie je tenminste waar het fout gaat.
 
Vergeet de laatste regel.
De code loopt niet vast. Alleen de bestandslocatie wordt in de ene database wel opgeslagen en de andere niet.

De codes en tabelnamen zijn in beide databases identiek
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan