database splitsen, vba-code aanpassen

Status
Niet open voor verdere reacties.

Timshel

Terugkerende gebruiker
Lid geworden
14 feb 2015
Berichten
1.927
Goedemorgen,

Ik heb mijn database gesplitst. Hoe zorg ik er nu voor dat de vba-bewerkingen worden toegepast op de backend in plaats van de frontend?
Bijvoorbeeld
Code:
DoCmd.DeleteObject acTable, "Collabris"
verwijdert de koppeling naar de tabel in de backend uit de frontend. Ik wil de tabel uit de backend verwijderen.
De backend heet "I:\DB\Csv-export_be.accdb"

Bij voorbaat dank voor de geboden hulp.
 
Je kunt (wees blij, zou ik zeggen) middels de FE geen tabellen in de BE verwijderen. Zou een mooie rotzooi worden als dat wél kan. En dat je de koppelingen kan verwijderen, is dus al erg genoeg :). Bovendien, als je een tabel in de BE verwijdert, moet je de koppeling uiteraard óók verwijderen, want die doet dan sowieso niks meer.
 
Wat wellicht nog een optie is, als je het tóch via de FE wilt doen: open een tweede Access applicatie via VBA, met daarin de BE. En doe daarin je sloperswerk. Maar als je dit nog wilt programmeren ook, dan heb je het blijkbaar vaker nodig. Ik denk dan: zit die db wel goed in elkaar? Volgens mij zitten er dan een paar ontwerpfoutjes in.
 
Bedankt Octafish. Kan mij voorstellen dat het raar lijkt om een tabel eruit te slopen. Punt is dat de tabel in kwestie een export is vanuit het declaratieprogramma die geen sleutelveld bevat. Met andere woorden, welke combinatie van velden ik ook kies, er zijn altijd dubbele records. Voor het eindresultaat maakt dat niet uit maar aan importzijde van de db zie ik mij genoodzaakt iedere keer de tabel te verwijderen en opnieuw aan te maken vanuit de dagelijkse declaratie-exports. Is niet ideaal, maar dit werkt al een stuk sneller dan de excel-macro die ik eerst gebruikte.
Wat jij voorstelt lijkt te werken. Ik pruts even verder :)
Code:
Sub Slopen()
    With CreateObject("Access.Application")
        .OpenCurrentDatabase "I:\DB\csv-export_be.accdb"
        .DoCmd.DeleteObject acTable, "Collabris"
        .Quit
    End With
End Sub
 
Persoonlijk zou ik de importtabellen in de FE zetten. Vervolgens de checks doen die noodzakelijk zijn voordat je importeert in je hoofdtabellen, en vervolgens toevoegen aan de Backend tabellen. Daarmee belast je de BE niet, en je FE kunt je prima opruimen na het importeren. Heb je meerdere gebruikers in een eigen FE, dan zitten ze mekaar ook nog eens niet in de weg.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan