Vaste locaties uit een excel bestand importeren in access

Status
Niet open voor verdere reacties.

Ronaldxx

Gebruiker
Lid geworden
13 dec 2009
Berichten
198
Vraag: Is het mogelijk vaste locaties uit een vast excel bestand te importeren ?
Dus in excel locatie B5 moet altijd in acces worden geimporteerd in veld: B

De achtergrond:
Een vast format in excel die als basis dient. De vaste locaties inlezen in acces?

Belangrijk:
Het is belangrijk de vaste locaties uit te lezen. Kolommen structuur kan niet.

Alvast super bedankt voor de moeite,

Bijgaande een klein voorbeeldje (de vaste locaties van excel inlezen in access)
Bekijk bijlage Format Access.zip


Kwam nog wat tegen in een oudere post
Code:
Private Sub cmdImportRegulier_Click()

DoCmd.SetWarnings False
sUser = Environ("Username")
sFile = "C:\Documents and Settings\" & sUser & "\Bureaublad\ImportRegulier.xls"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "ImportRegulier", sFile, True

Dim Vraag as string 
Vraag = B5           "Dit natuurlijk nie is het mogelijk B5 op te zoeken in het excel ?"

DoCmd.SetWarnings True

End Sub
 
Laatst bewerkt:
Kan middels VBA.
Aangezien het gaat om een bedrijfsmatige toepassing ga ik je daar niet gratis mee verder helpen, sorry.

Tardis
 
Het scheelt mij persoonlijk een hoop overtik werk.
Leek me wel een handig idee en ik weet dat het mogelijk is.
Probeer zelf nog wel even wat te zoeken dan :(
 
Laatst bewerkt:
Gelukkig ben ik de regel dat we geen bedrijfsgerelateerde vragen behandelen nog niet tegengekomen. Bovendien: als ik alle antwoorden die door iemand voor werk gebruikt zouden kunnen worden zou moeten verwijderen, dan hou je erg weinig over...
En ik vind het altijd wel geinig om probleempjes te tackelen. Dus hierbij een oplossing voor je...
 

Bijlagen

Haha, bedankt octafish.
Echt super, scheelt me weer een middag !

super ! :thumb::thumb:
 
Ik heb nogal veel problemen met access de laatste tijd.
Convert 2007 2003 werkt niet. En elke databse die ik maak groter dan 100 regels loopt vast. Nieuwe computer geen idee waar het aan kan liggen.

Nu probeer ik alles met 2003 te maken thuis, maar nu krijg ik steeds de melding:
Een door de gebruiker gedefineerd gegevens type is niet gedefinieerd.

De database is toegevoegd hopelijk kan je me nog helpen.

Mvg, RonaldBekijk bijlage Inlezen.zip
 
Hoi Ronald,

Je gebruikt zo te zien een vreemde combinatie van Early binding en Late binding... Nu maar hopen dat je weet wat dat is, en waarom je dat zo wilt doen? Enig idee?
 
Early binding en lately binding. Nooit van gehoord,:o is dit een instelling vanuit access of zat dat in de code? De code heb ik vanuit het voorbeeld van de 4 de post.
Gr, !
 
In je code heb je in het algemene deel een aantal variabelen gedeclareerd:
Public objXlApp As Excel.Application
Code:
Dim objXLBook As Excel.workbook
Dim objResultSheet As Excel.worksheet
Dim objChartSheet As Excel.worksheet
Deze declaraties gaan er vanuit dat je een Excel bibliotheek hebt geladen in je Verwijzingenbibliotheek. Dit noemen we Early binding.

In je Importcode heb je dit staan:
Code:
Set objXlApp = CreateObject("Excel.Application")
Set objXLBook = objXlApp.Workbooks.Add
Dat is nu net een voorbeeld van Late binding.
Beide vormen zijn legitieme manieren om een extern programma zoals Excel te openen. Edoch: niet alletwee tegelijk! Je kiest ofwel voor early binding, ofwel voor late binding. Beide varianten hebben, zoals te verwachten, voor- en nadelen. Het voordeel van early binding is dat de code sneller werkt, omdat je de koppeling met de externe applicatie al hebt gelegd. Je kunt dan simpel objecten definiëren binnen die andere applicatie. Het nadeel is, dat je altijd de juiste bibliotheek geladen moet hebben, anders heb je een probleem.
Late binding is dus wat trager dan early binding, maar omdat je de koppeling in de code zelf maakt (met CreateObect) ben je niet afhankelijk van een al dan niet geladen bibliotheek. De procedure is dan platform-onafhankelijk.

Zoals gezegd: je combineert de twee, en dat kun je dus beter niet doen. Kies in jouw geval Late binding, omdat je heen en weer wilt kunnen switchen tussen 2007 en 2003. Overigens zat er ook nog een foutje in verkeerd gedefinieerde variabelen, dus daar moet je ook nog even naar kijken: gebruik ofwel objResultSheet, ofwel objResultsSheet. Niet alletwee door elkaar...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan