Jag har följande programsnutt: Hej Hej! Alternativ: Hej Andreas!Data från tabeller i två olika databaser
**********************************
For Each tbl In db.TableDefs
If Left(tbl.Name, 4) = "MSys" Then GoTo SkipMsys
Set td = db.TableDefs(tbl.Name)
For Each fld In td.Fields
If fld.Name = "AnlNr" Then
appAccess.DoCmd.RunSQL "ALTER TABLE " & tbl.Name & " ALTER COLUMN " & fld.Name & " TEXT(50);"
appAccess.DoCmd.RunSQL "UPDATE " & tbl.Name & " INNER JOIN UppdateraAnlNrData ON " & tbl.Name & ".AnlNr = UppdateraAnlNrData.AnlNr SET " & tbl.Name & ".AnlNr = UppdateraAnlNrData.AnlID;"
End If
If fld.Name = "TeamRegNr" Or fld.Name = "TeametsRegNr" Then
appAccess.DoCmd.RunSQL "UPDATE " & tbl.Name & " INNER JOIN UppdateraTeamRegNrData ON " & tbl.Name & "." & fld.Name & " = UppdateraTeamRegNrData.TeamRegNr SET " & tbl.Name & "." & fld.Name & " = UppdateraTeamRegNrData.NyttTeamnamn;"
End If
Next fld
SkipMsys:
Next tbl
**********************************
Problemet är att "appAccess" är kopplad till en backend-bas på servern där alla tbl.name finns, medan UppdateraAnlNrData finns i det lokala skalet. Jag har försökt med tillägget " IN 'C:\mindb.mde' " men det funkar inte.
Någon som har tips för att kunna använda tabeller från både backend-basen och från skalet?
Jag använder Access2003 med tabeller i 2000-format.
:-)
HåkanSv: Data från tabeller i två olika databaser
Om du länkar in den tabell du vill hämta värden ifrån, mha Arkiv, Hämta externa data, Länka tabeller, kan du ju sen hänvisa till den tabellen precis som om den fanns i samma databas.
Eller har jag missuppfattat ditt problem?
/ PerSv:Data från tabeller i två olika databaser
Tack för ditt svar. Jag tog bort "appAccess" från de sql-satser som behöver den lokala tabellen, och då funkade det! Tack för hjälpen!
:-)
HåkanSv: Data från tabeller i två olika databaser
Dim db As DAO.Database
Dim tbl As DAO.TableDef
Dim FileName As String
FileName = "D:\My documents\db2.mdb"
Set db = CurrentDb
For Each tbl In db.TableDefs
If tbl.Attributes And dbSystemObject Then
Else
For Each fld In tbl.Fields
Select Case fld.Name
Case "AnlNr"
db.Execute "ALTER TABLE [" & tbl.Name & "] ALTER COLUMN [" & fld.Name & "] TEXT(50);"
db.Execute "UPDATE [" & tbl.Name & "] INNER JOIN [" & FileName & "].UppdateraAnlNrData ON [" & tbl.Name & "].AnlNr = UppdateraAnlNrData.AnlNr SET [" & tbl.Name & "].AnlNr = UppdateraAnlNrData.AnlID;"
Case "TeamRegNr", "TeametsRegNr"
db.Execute "UPDATE [" & tbl.Name & "] INNER JOIN [" & FileName & "].UppdateraTeamRegNrData ON [" & tbl.Name & "].[" & fld.Name & "] = UppdateraTeamRegNrData.TeamRegNr SET [" & tbl.Name & "].[" & fld.Name & "] = UppdateraTeamRegNrData.NyttTeamnamn;"
End Select
Next
End If
Next
Sv:Data från tabeller i två olika databaser
Det var en riktigt snygg lösning du kom med (som vanligt). Jag ska ändra enligt ditt förslag.
Tack för hjälpen!
:-)
Håkan