13. maj 2009 - 13:31Der er
4 kommentarer og 1 løsning
konverter kædede tabeller til lokale
Hej eksperter
Er der mon nogen der har en vba function der kan konverter alle kædede tabeller i en database til lokale - helst med relationerne fra backend intakte
formålet med functionen er at vores produktions db er opbygget af en frontend plus backend. Af og til er der behov for at sende en kopi af databasen ud af huset.
Jeg har en function der laver en kopi af frontend, men mangler så en funktion, der konvertere tabellerne til lokale.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Slettet bruger
13. maj 2009 - 14:44#1
Skal testes!
Sub importLinkedTables() Dim tdf As TableDef
For Each tdf In CurrentDb.TableDefs With tdf If (Len(.Connect) > 0) Then DoCmd.DeleteObject acTable, .name DoCmd.TransferDatabase acImport, "<find this by making a macro>", Mid(.Connect, 11), acTable, .name, .name End If End With Next End Sub
De oprindelige links til kædede tabller slettes, så de importere navne kommer til at svare til de oprindelige - og databasen skal jo heller ikke distribueres med links til noget lokalt. Lav det i en kopi af frontenden. Jeg vil lade det op til dig at teste, om man kan slette tabeler i en tabledef loop, og om egenskaberne .connect og .name eksisterer når linket til tabellen er slettet - hvis ikke skal der bare buffes.
For Each tdef In db.TableDefs If Left(tdef.Connect, 10) = ";DATABASE=" Then tblNavn = tdef.Name db.Execute "DROP TABLE " & tblNavn DoCmd.TransferDatabase acImport, "Microsoft Access", backend, acTable, tblNavn, tblNavn End If
Next
End Function
Niels
Synes godt om
Slettet bruger
13. maj 2009 - 22:32#3
Hej nih
Det var en smart måde at kopier og remote afvikle. Det har jo så ikke løst det med relationer - man kunne helt undlade at importere i ovenstående - du har jo fint sørget for at præsentere filen i explorer, klar til at blive åbnet. Importwizarden kan klarer det med relationerne. Måske indeholder Backenden alt muligt andet som ikke skal med - men her kunne man jo lave en automatisk slutoprydning, hvis tabellisten i den oprindelige sletning blev gemt. Lidt ufikst - indrømmet.
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.