• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

.dbf openen van uit een formule

Status
Niet open voor verdere reacties.

lauennien

Gebruiker
Lid geworden
23 jun 2015
Berichten
20
Hallo,

Via formules laat ik van uit andere documenten binnen het netwerk berekeningen maken. Dit kan prima en werkt goed. Echter komen de gegevens als een .dbf file binnen en moeten deze eerst anders worden opgeslagen. Is het mogelijk om van uit een formule het bestand direct als .xlsx te openen?

Bedankt voor het meedenken!
 
Hier zijn voorbeeldjes met bijbehorende bestanden op hun plaats.
 
Zoeken op dit forum had je ondermeer naar deze vraag geleid, maar er zijn er ongetwijfeld meer.
 
@ Edmoor, ik zie geen bestand met voorbeelden. Wellicht is deze niet goed bijgevoegd?

@ Rob, die was ik inderdaad tegen gekomen. Dit was in mijn ogen niet precies wat ik zocht. Verder kon ik niet veel vinden over dit onderwerp.
 
IK heb uiteraard geen voorbeelden geplaatst. De bedoeling van mijn reactie was dus dat je dat zelf doet.
 
Bedankt voor je snelle reactie. Zelf heb ik niet echt een voorbeeldbestand die hier van toepassing is, omdat ik een bestand wil koppelen uit een ander bestand. Heel simpel gezegd dus dit:

=[oefenen.xlsx]Blad1!AA1

Dit werkt gewoon. Echter wil ik dit direct uit een .dbf file halen. Dit is niet mogelijk.

Op de een of andere manier zou ik dan in de formule de te openen bestandsextensie moeten aanpassen.
 
.dbf is niet echt meer een courant bestandsformaat. De ondersteuning vanuit excel is beperkt zoals je gemerkt hebt.
Met dit VBA'tje kun je relatief snel een .dbf omzetten in een .xlsx. Misschien heb je er wat aan.
Code:
Sub tsh()
    With Application.FileDialog(msoFileDialogOpen)
        .Title = "Selecteer een .dbf-bestand om te converteren"
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add "DBF Jewetog", "*.dbf"
        .Filters.Add "Alle bestanden", "*.*"
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub
        .Execute
    End With
    With ActiveWorkbook
        .SaveAs Left(.FullName, Len(.FullName) - 3) & "xlsx", FileFormat:=51
        .Close
    End With
End Sub

Bijkomend voordeel is dat .xlsx een veel compacter en efficiënter formaat is. Scheelt enorm veel schijfruimte.
 
Laatst bewerkt:
Gaat eenvoudig met een databasequery:

Code:
Sub M_snb()
    c00 = "G:\Access\fiets.mdb"
    
    With Sheet2.QueryTables.Add("ODBC;DSN=MS Access-database;DBQ=" & c00, Cells(1))
        .CommandText = "SELECT  *  FROM `" & c00 & "`.tabel1"
       .Refresh False
    End With
End Sub
 
Bedankt voor alle tips! Ik heb het op dit moment opgelost met een macro die het bestand opent, opslaat en opslaat in een excel format. Dit doet de macro ieder kwartier automatisch. Hierdoor heb ik feitelijk hetzelfde effect met een kleine automatische tussenstap.
 
Als dat je 'oplossing' is, zou ik toch maar eens naar zo'n databasequery kijken.
 
Ja, maar nu heb ik in ieder geval een "tijdelijke" oplossing. Ik wil het wel graag proberen via een query.
 
Als je de variable c00 in mijn code wijzigt van "G:\Access\fiets.mdb" naar de volledige naam van jouw mdb bestand,
en Sheet2. aanpast aan de naam van het werkblad waarin de gegeven moeten komen bijv. Blad1. of sheets("Blad1") loopt de code vlekkelings.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan