Forums Neueste Beiträge
 

verknüpfte DB läßt sich nicht mehr öffnen nach ALTER TABLE ADD COLUMN

13/08/2010 - 19:40 von Horst Heck | Report spam
Hallo zusammen,
leider komme ich nicht mehr alleine weiter, somit frage ich nun hier
nach. Beim Öffnen meiner Anwendung (FE/BE) erscheint ein Startformular
welches in eine Combobox alle mdb-Dateien eines Verzeichnisses
einliest.
Code:
Private Sub Form_Load()
Dim StartPfad As String
Dim tmp As String
StartPfad = "c:\trallala\*.mdb"
With Combo2
.RowSourceType = "Wertliste"
.RowSource = Dir(StartPfad)
Do
tmp = Dir()
.RowSource = .RowSource & ";" & tmp
Loop While Len(tmp) > 0
.Requery
End With
End Sub

klappt gut und hier wàhle ich nun aus Combo2 das gewünschte Backend
aus. Mit folgendem Code werden die Tabellen des BE verknüpft und meine
Anwendung geöffnet:

Private Sub linkmich_Click()
On Error GoTo MyError
Dim strDaten as String
Dim db As DAO.Database
Dim i As Integer
Set db = CurrentDb()

strDaten = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) &
Combo2.Value 'Pfad der verknüpften DB

For i = 0 To db.TableDefs.Count - 1
If db.TableDefs(i).Connect <> "" Then
If Mid(db.TableDefs(i).Connect, 11) <> strDaten Then
db.TableDefs(i).Connect = ";database=" & strDaten
db.TableDefs(i).RefreshLink
End If
End If
Next i

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "frmKinder"
DoCmd.Close acForm, stDocName

'hier füge ich in das BE ein Feld ein

Set db = DBEngine.Workspaces(0).OpenDatabase(strDaten)
db.Execute "ALTER TABLE tblKinder ADD COLUMN NameDesFeldes
VARCHAR(100)"

'und öffne meine Anwendung
DoCmd.OpenForm stDocName, , , stLinkCriteria

MyExit:
Exit Sub
MyError:
MsgBox "Diese Datenbank kann nicht ausgewàhlt werden, bitte eine
andere auswàhlen"

Resume MyExit
End Sub

All dies funktioniert gut, wenn ich allerdings nochmal den Button
Linkmich klicke und erneut dieses eben geànderte BE öffnen möchte
erscheint die Fehlermeldung von MyError.

in dem Zusammenhang: Wenn ich die ADD COLUMN Anweisung in einem
anderen Sub erledigen möchte bekomme ich die Fehlermeldung das kein
exklusiver Zugriff zur DB hergestellt werden kann.

Kann mir jemand einen Tip geben wo es hier hakt ?
Gruß Horst

ACC2007, aus Kompatibilitàtsgründen ist die Anwendung jedoch im 2003
Format
 

Lesen sie die antworten

#1 Winfried Sonntag
13/08/2010 - 19:58 | Warnen spam
Am 13.08.2010 schrieb Horst Heck:

MyError:
MsgBox "Diese Datenbank kann nicht ausgewàhlt werden, bitte eine
andere auswàhlen"

Resume MyExit
End Sub

All dies funktioniert gut, wenn ich allerdings nochmal den Button
Linkmich klicke und erneut dieses eben geànderte BE öffnen möchte
erscheint die Fehlermeldung von MyError.



Dann lass dir mal eine vernüftige Fehlermeldung ausgeben. Ersetze
deine MsgBox mit dieser:
msgBox "Fehler: " & err.number & " " & err.description
Und dann poste die exakte Fehlermeldung.

Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm
Access-Stammtisch: http://www.access-muenchen.de

Ähnliche fragen