Dag,
Ik probeer in Access (office 2003) via VBA een tabel uit de database te verwijderen en vervolgens een nieuwe tabel te creëren (vanuit een andere database). Deze tabel heet "T_ImportOrderList". Dit werkt prima. Vervolgens wil ik m.b.v. SQL code een andere tabel bijwerken op basis van de zojuist aangemaakte tabel. Dit lukt niet. Ik krijg de volgende foutmelding:
"De Microsoft Jet Database Engine kan de invoertabel of query T_ImportOrderList niet vinden. Zorg ervoor dat deze bestaat en dat de naam correct is gespeld."
Als ik de code stop en vervolgens opnieuw deze "bijwerk SQL" uitvoer werkt het wel. Maar dat vergt dus een handmatige actie, welke ik wil voorkomen. Ik vermoed dat de MS Jet Database Engine tussentijds vernieuwd moet worden ofzo. Enig idee hoe ik dit kan oplossen?
Hieronder de toegepaste code:
Ik probeer in Access (office 2003) via VBA een tabel uit de database te verwijderen en vervolgens een nieuwe tabel te creëren (vanuit een andere database). Deze tabel heet "T_ImportOrderList". Dit werkt prima. Vervolgens wil ik m.b.v. SQL code een andere tabel bijwerken op basis van de zojuist aangemaakte tabel. Dit lukt niet. Ik krijg de volgende foutmelding:
"De Microsoft Jet Database Engine kan de invoertabel of query T_ImportOrderList niet vinden. Zorg ervoor dat deze bestaat en dat de naam correct is gespeld."
Als ik de code stop en vervolgens opnieuw deze "bijwerk SQL" uitvoer werkt het wel. Maar dat vergt dus een handmatige actie, welke ik wil voorkomen. Ik vermoed dat de MS Jet Database Engine tussentijds vernieuwd moet worden ofzo. Enig idee hoe ik dit kan oplossen?
Hieronder de toegepaste code:
Code:
Function Mod_RefreshData()
'On Error GoTo ErrorMsg
Dim strDB As String
' Initialize string to database path.
Const strConPathToSamples = "C:\Users\anne\Desktop\M2Carpets\Produktion M2C\M2C_SourceDataPlannung\"
strDB = strConPathToSamples & "M2C_SourceDBS.mdb"
' Create new instance of Microsoft Access.
Set appAccess = CreateObject("Access.Application")
' Open database in Microsoft Access window.
appAccess.OpenCurrentDatabase strDB
DoCmd.SetWarnings False
' Drop table
DoCmd.OpenQuery "Q_Delete_T_ImportOrderList", acViewNormal
' Create table
appAccess.DoCmd.OpenQuery "Q_Create_T_ImportOrderList", acViewNormal
' Close Database
appAccess.Quit acQuitSaveNone
DoCmd.RunSQL "INSERT INTO T_MainData ( [Prod-art], Auftragsnummer, Partie, Auftragsposition, Unterposition, Rollennr, Zusatz, Lagerort, [Entwicklungs-Nr], Artikelbez, Design, Farbbank, [Breite in cm], [Ist-Meter], [Soll-Meter], [zugeteilte Meter], [Ist-Gewicht gr/m²], [Ist-Gewicht], [Soll-Gewicht], Produktionsstatus, Beschichtungsart, Liefertermin, Produktionsdatum, Sachbearbeiter ) " _
& "SELECT T_ImportOrderList.[Prod#-art], T_ImportOrderList.Auftragsnummer, T_ImportOrderList.Partie, T_ImportOrderList.Auftragsposition, T_ImportOrderList.Unterposition, T_ImportOrderList.Unterposition, T_ImportOrderList.Zusatz, T_ImportOrderList.Lagerort, T_ImportOrderList.[Entwicklungs#-Nr#], T_ImportOrderList.[Artikelbez#], T_ImportOrderList.Design, T_ImportOrderList.Farbbank, T_ImportOrderList.[Breite in cm], T_ImportOrderList.[Ist-Meter], T_ImportOrderList.[Soll-Meter], T_ImportOrderList.[zugeteilte Meter], T_ImportOrderList.[Ist-Gewicht gr/m²], T_ImportOrderList.[Ist-Gewicht], T_ImportOrderList.[Soll-Gewicht], T_ImportOrderList.Produktionsstatus, T_ImportOrderList.Beschichtungsart, T_ImportOrderList.Liefertermin, T_ImportOrderList.Produktionsdatum, T_ImportOrderList.Sachbearbeiter " _
& "FROM T_ImportOrderList, Q_SelectMaxPartie_T_MainData " _
& "WHERE (((T_ImportOrderList.Partie)>[Q_SelectMaxPartie_T_MainData]![Max_Partie]));"
DoCmd.SetWarnings True
MsgBox "Quelldaten aktualisiert"
Exit Function
ErrorMsg:
MsgBox "Fehler beim Aktualisieren der Quelldaten." & Chr(13) _
& "Versuchen Sie es noch einmal. "
Resume Next
End Function