Importeren Excel

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
424
Ik importeer in de backend een Excelbestand via

Code:
CurrentDb.Execute "SELECT * INTO [;DATABASE=" & txtDatabaseFilePadNaam & ";].tblOVSGToetsresultaten " & _
"FROM [Excel 12.0;HDR=Yes;DATABASE=" & txtBestandPuntenBestaat & ";].[Pagina1$];", dbFailOnError

Maar punten (.) in de kolomnamen worden omgezet in het spoorwegteken (#). Bijvoorbeeld: "Fr.Toets" wordt "Fr#Toets"'. Is dit te voorkomen?

Tweede vraag: De tabel "tblOVSGtoetsresultaten" is een tabel in de backend gelinkt naar de frontend. Als ik de met VBA wil verwijderen heb ik twee commando's nodig,

Code:
DoCmd.DeleteObject acTable, "tblOVSGtoetsresultaten"
With OpenDatabase(txtDatabaseFilePadNaam)
      .Execute "DROP TABLE tblOVSGToetsresultaten;"
      .Close
End With

Gebruik ik enkel de procedure OpenDatabase en laad ik nadien de nieuwe Excel op dan staan er in de frontend 2 tabellen, nl. "tblOVSGtoetsresultaten" en "tblOVSGtoetsresultaten1". De eerste tabel is deze in de backtend en de tweede is deze frontend. Dus als ik een tabel wil verwijderen moet ik deze twee commando's uitvoeren. Is dat correct?
 
Ad 1 (en 2): waarom importeer je het Excel bestand niet op de normale manier (DoCmd.TransferSpreadsheet acImport etc) in de Frontend? Lijkt mij een stuk veiliger en handiger. Je gooit daarna de tabel toch weg, dus dat kan net zo goed vanuit de FE gebeuren. Als je de tabel eenmaal hebt geïmporteerd, kun je daarna via een Toevoeg/Update de geïmporteerde records toevoegen aan de doeltabel.
 
Deze tabel is een multi-user tabel (BE) waarop een aantal collega's werken vooraleer deze tabel verwijderd wordt.
 
Goede avond:
wat vraag 1 betreft: in veldnamen worden geen leestekens zoals punten aanvaard., dus worden deze bij default vervangen. Oplossing: gebruik alleen aanvaardbare veldnamen als Excel kolom titels. Het is trouwens ook beter om in veldnamen geen spaties te gebruiken.
vraag 2: het zijn inderdaad 2 objecten die je moet vernietigen: in je front-end een link naar een tabel en in je backend de tabel zelf. Mogelijke oplossing: vervang de tabel in de back-end, en ga in de front-end de link verversen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan