10. august 2005 - 09:41Der er
16 kommentarer og 1 løsning
Sammenkæd tabel
Jeg er begyndt igen at lege med sammenkædning af tabeller af tabeller. Vi har en stor databasen, som vi køre på 3 forskellige afdelinger. Vi har 3 datafiler og 3 programfiler, men det ville selvfølgelig være mere smart kun at bare en programfil at opdaterer.
Jeg har kikket på den hjælp jeg har fået herinde før og også andre ting og kommet frem til at det måske er noget i denne retning jeg skal bruge. Men det kan være helt forkert.
Public Sub linktabel() Dim Filnavn As String Dim path As String Dim tnavn As String Dim ct As New Collection Dim tdf As TableDef Dim db As Database Set db = CurrentDb db.TableDefs.Refresh path = Extractpath(db.Name) Stop
Filnavn = path & "data_yl.mdb"
For Each tdf In db.TableDefs tnavn = db.TableDefs(1).Name Stop If Left(tdf.Connect, 10) = ";DATABASE=" Then tdf.Connect = ";DATABASE =" & Filnavn
tdf.RefreshLink
End If
Next
End Sub
Jeg tror jeg på en eller anden måde skal have tabelnavn med. Som sagt kan det være jeg er helt galt på den
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hej mugs. Det har jeg også set, men det er ikke helt det jeg vil. Jeg vil prøve om jeg fra min programfil kan vælge hvilken datafil der skal sammenkædes med. F.eks. 3 radioknapper og når man vælge en, bliver der sammenkædes en bestem datafil. Vores filer er så store, at vi ikke kan have det i en. Det tror vil blive for svær
Men når man automatisk sammenkæde, må man også kunne vælge en fil og derefter sammenkæde
Jeg har søgt lidt på min HD og har fundet denne. Jeg mener ikke nogensinde at have brugt den, men måske den kan give dig et spark i den rigtige retning. Husk en reference til DAO. Det må kunne lade sif gøre at erstatte strFileName med en variabel.
Private Function RefreshLinks(strFileName As String) As Boolean ' Refresh links to the supplied database. Return True if successful. Dim dbs As DAO.Database Dim tdf As DAO.TableDef ' Loop through all tables in the database. Set dbs = CurrentDb For Each tdf In dbs.TableDefs ' If the table has a connect string, it's a linked table. If Len(tdf.Connect) > 0 Then tdf.Connect = ";DATABASE=" & strFileName Err = 0 On Error Resume Next tdf.RefreshLink ' Relink the table. If Err <> 0 Then RefreshLinks = False Exit Function End If End If Next tdf RefreshLinks = True ' Relinking complete. End Function
Mugs det er måske tæt på og langt fra på en gang. Denne opdatere linkene til den fil der er sammenkædet. Det som jeg savner er, at man kunne sammenkæde med en anden fil. Har jeg 2 datafiler afdeling1.mdb og afdeling2.mdb, ville jeg gerne at kunne skifte mellem disse 2 filer. Måske kan det ikke lade sig gøre
Mugs: Jeg tror jeg er meget tæt på med den funktion, men jeg syntes den mangler nogle fuktion f.eks. aht_apiGetOpenFileName. Er det mig der gør noget forkert.
Jan - Det var blot noget jeg fandt ved en hurtig søgning der hjemme. Jeg har aldrig brugt den selv og havde ikke megen tid til at læse den. Nu er jeg på arbejde og har ikke Access på denne maskine, så jeg kan næsten ikke gøre mere før jeg er hjemme igen.
Jan - Jeg har læst koden igennem men ikke afprøvet den. Så vidt jeg kan se, kaldes GetOpenFileName kun hvis den indtastede nye backend ikke findes, for at brugeren har lejlighed til at vælge en anden backend.
Ja det er rigtigt Mugs. Dem får jeg nok også brug for. Jeg tror godt jeg kan finde dem rundt om på nettet, men jeg kom til at tænke om der kunne være en letter måde (f.eks.) en referance jeg skal have med. Jeg prøve lige selv at kikke på om den er nødvendige for mig
Jeg er kommet med længere. Jeg har erstatet åben fil dialogboxen med en fast string. Nu skal jeg have det sådan at jeg kan vælge mellem datafilerne. Mugs vil du lægge et svar. Jeg er meget glad for hjælpen.
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.