Springen naar inhoud


- - - - -
Solved

Tabel Wordt Niet Herkend Na Aanmaken Via Vba

VBA Tabel

  • Log in a.u.b. om te beantwoorden
Er zijn 2 reacties in dit onderwerp

#1 ThaPloeg

ThaPloeg

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 20 mrt 2013 20:33

Geplaatst op 18 maart 2013 - 13:20

Dag,

Via onderstaande code verwijder ik tabel "T_ImportOrderList" en maak deze vervolgens opnieuw aan vanuit een andere database. 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?


Code:
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



#2 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 20 maart 2013 - 02:08

ik begrijp echt niet wat je wil doen
de beste interpretatie die ik kan bedenken is:
je hebt 2 programmas die beiden met dezelfde database werken
program1 verwijderd een bepaalde tabel
program2 maakt die tabel terug aan
de logica daarvan ontgaat mij volkome

#3 ThaPloeg

ThaPloeg

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 20 mrt 2013 20:33

Geplaatst op 20 maart 2013 - 20:33

Wellicht dat er een betere manier is, maar de reden dat ik zo werk is als volgt:
Ik maak gebruik van gegevens in een excelblad.
Deze gegevens koppel ik als tabel aan de database.
Maar als ik in Access een exceltabel koppel, kan de database niet meer door meerdere personen tegelijk gebruikt worden.
Daarom heb ik een aparte database gemaakt waar iedereen in kan werken.
Bij het openen wordt er kort verbinding gemaakt met de database met excelblad om de meest recente tabel te kopieren.

Ik heb de oplossing inmiddels al wel: Ik ben er achter dat ik de tabel niet eerst hoef te verwijderen.
Door hem alleen opnieuw aan te maken wordt het origineel overschreven en treed het probleem niet meer op.





Ook met taq Solved, VBA, Tabel voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[Solved] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)