Avatar billede misbruger Nybegynder
08. juli 2002 - 13:36 Der er 9 kommentarer og
1 løsning

Ændre sammenkædning

Jeg har en Access 97 client applikation, som henter henter og gemmer data i en Access 97 database på serveren.

Hvis man i clint applikationen går ind i "Funktioner -> Tilføjelsesprogrammer -> Sammenkædet tabel-styring" så referer alle sammenkædninger til h:\ dette vil jeg gerne ændre til j:\

Altså henter og gemmer client applikationen alle dataer fra h:\MyDatabase.mdb
Dette vil jeg gerne ændre til at applikationen henter og gemmer alle dataer fra j:\MyDatabase.mdb

Hvor'n gør jeg det....?
08. juli 2002 - 13:43 #1
Der hvor du var: Funktioner -> Tilføjelsesprogrammer -> Sammenkædet tabel-styring

Her klikker du "Marker alle" og klikker på afkrydsningsfeltet i nedrste venstre hjørne, som hedder noget med "Spørgs altid"
Derefter klikker du OK og vælger ny placering.

/Thomas
Avatar billede jesperthomsen Nybegynder
08. juli 2002 - 13:44 #2
Jeg har kodet mig ud af den slags. Det er sikkert ikke den eneste måde, men du får min kode her og kan så rette den til så den passer med dine stier:

Public Sub TableAttach(ByVal vsDbName As String, ByVal vbTestBase As Boolean)
Dim tdf As TableDef
Dim newTdf As TableDef
Dim db As Database
Dim tdfs As New Collection
Dim prop As Property
Dim i As Long
  Set db = DBEngine.Workspaces(0).OpenDatabase(vsDbName)
 
  For Each tdf In db.TableDefs
    If InStr(tdf.Connect, "ODBC") = 0 And InStr(tdf.Name, "MSYS") = 0 And _
      Trim(tdf.Connect) <> "" Then
      ' Attached tabel fundet.
      If vbTestBase Then
        tdf.Connect = ";DATABASE=H:\avenir\access\Kundeinfo_data.mdb"
      Else
        tdf.Connect = ";DATABASE=K:\Databaser\Kundeinfo\Drift\Data\Kundeinfo_data.mdb"
      End If
      Set newTdf = db.CreateTableDef
      For Each prop In tdf.Properties
        On Error Resume Next
        newTdf.Properties(prop.Name) = prop.Value
      Next prop
      tdfs.Add newTdf
    End If
  Next 'tdf
 
  For Each tdf In tdfs
    db.TableDefs.Delete tdf.Name
  Next
  db.Close
 
  Set db = DBEngine.Workspaces(0).OpenDatabase(vsDbName)
  For i = 1 To tdfs.Count
    Set tdf = tdfs(i)
    db.TableDefs.Append tdf
  Next 'tdf
  db.Close
  Set tdf = Nothing
  Set db = Nothing
End Sub

Håber det kan hjælpe dig.

Mvh
Jesper
Avatar billede misbruger Nybegynder
08. juli 2002 - 13:59 #3
Thomas Jepsen -> Det virker kun delvist! Nogle af tabellerne skriver den ikke findes?

Jeg har kopieret databasen direkte fra h:\ til j:\ og den kan godt finde dem hvis db'en ligger på h:\ men ikke hvis de ligge på j:\

???
08. juli 2002 - 14:05 #4
De tabeller, som den ikke kan finde - hvilken sti står der ud for dem?
De kan jo i princippet pege på en helt 3. database!?
Avatar billede misbruger Nybegynder
08. juli 2002 - 14:06 #5
nej de peger på den samme database, det er derfor jeg ikke forstår det?
08. juli 2002 - 14:09 #6
Prøv at åbne backenden og se om tabellerne rent fysisk ligger der stadig!

Så længe du ikke sletter sammenkædningen i frontenden, så kan du reelt ikke se om tabellerne findes i backenden. Du kan med andre ord godt have fået slettet den i backenden uden at du kan se det i frontenden - før du enten forsøger at sammenkæde igen eller prøver at åbne en af tabellerne.

Hvis de ikke findes i backenden, så kan de bare slettes i frontenden.
Avatar billede misbruger Nybegynder
08. juli 2002 - 14:32 #7
Det må være det der er løsningen...... desværre har jeg ikke passwordet til databasen, så når jeg har fremskaffet det, kan jeg gennemgå alle tabellerne......!

Du skal have tak for hjælpen.....!
Avatar billede tma Juniormester
08. december 2004 - 13:48 #8
>> Thomas Jepsen:
Jeg har brug for netop den løsning du har vedlagt, men kan ikke helt få det til at virke. Jeg har en front-end, hvor en admin skal kunne skifte rundt mellem backends. Det må være næsten det du har lavet. Kan du forklare din løsning lidt? Som sagt kan jeg ikke få det til at spille...

Torben
08. december 2004 - 13:57 #9
Hej Torben,

Jeg er ikke helt klar over hvilken løsning, du mener? Jesperthomsen kom med en VBA-løsning. Er det ham du mener? Eller refererer du til et helt andet spm?
Avatar billede tma Juniormester
09. december 2004 - 07:29 #10
Ja, det var ham jeg mente. Men jeg har lige fundet en anden løsning som er mere simpel og virker! Jeg vil uploade den senere, når jeg er tilbage på min pc.

Torben
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