[VBA] Excel invoeg mogelijkheid

Status
Niet open voor verdere reacties.

Rick Kock

Gebruiker
Lid geworden
11 mei 2006
Berichten
16
Hallo,

Om een excel bestand te importeren kan ik gebruiken

Code:
DoCmd.TransferSpreadsheet acImport, 8, "test", Me.bestand, True, "Blad1!A1:A6"

Nu pakt hij de eerste rij (rij 1) als tabelvelden in de database.

Echter nu wil ik dat ik kan aangeven welke gegevens waar staan dus dat kolom1 (A) bv naam is.

Ook wil ik dat hij controleerd of de gegevens reeds bestaan en dan updaten (of verwijderen en dan opnieuw toevoegen).

Kan iemand mij hier een beetje mee opweg helpen?

Alvast bedankt,

Rick
 
Heb je overwogen om de access te koppelen aan excel.
Wat wil je in access doen met de gegevens. Alleen bekijken of ook wijzigen.

Je kunt geen koppeling per kolom maken.
Je kunt wel een query maken uit de tabel en de de kolommen kiezen en benoemen.

GG
 
gregorg zei:
Heb je overwogen om de access te koppelen aan excel.
Wat wil je in access doen met de gegevens. Alleen bekijken of ook wijzigen.

Je kunt geen koppeling per kolom maken.
Je kunt wel een query maken uit de tabel en de de kolommen kiezen en benoemen.

GG

Het is de bedoeling om gegevens die in een programma zitten die kunnen worden geexporteerd naar excel via excel in de database worden gezet. Het is namlijk niet mogelijk dit op een andere manier aan elkaar te koppelen.

De gegevens moetten wel gewijzgt kunnen worden in de database.
 
Maar dat is precies wat er bedoeld wordt.
Als je het betreffende werkblad linkt in je access toepassing dan kun je het benaderen alsof het een tabel is. Je kunt dan dus gebruik maken van queries om er gegevens in te zetten, te wijzigen of te verwijderen.

Linken van het betreffende werkblad in access:
Database venster, tab tabellen, rechtermuisknop, tabellen koppelen, kies bestandstype excel, zoek je excel sheet en volg verder de wizard.
 
Bartuls zei:
Linken van het betreffende werkblad in access:
Database venster, tab tabellen, rechtermuisknop, tabellen koppelen, kies bestandstype excel, zoek je excel sheet en volg verder de wizard.

Inderdaad dit werkt wel alleen is het de bedoeling dat zoiets kan worden gedaan via een formulier omdat er mensen mee moeten gaan werken die hier totaal niks van af weten.

Ook moet het mogelijk zijn om verschillende excel bestanden in 1 tabel te krijgen.

Kan iemand mij hier een beetje mee opweg helpen?

Alvast bedankt.
 
Het koppelen is eenmalig dat hoeft de gebruiker niet te doen.
Ik begrijp dat er op verschillende plekken gegevens worden ingevoerd in een excelsheet en dat jij die in de database bij elkaar wil brengen?
In 1 tabel?
En wat doe je er dan mee? Alleen maar selecties maken?

Gregor
 
Verschillende excel sheets in 1 tabel kan ook, dat noemen we in access een query.
Formulieren gebruiken is ook gewoon mogelijk, voor access gedraagt het Excel sheet zich als een tabel als het gekoppeld is.
Probeer het gewoon eens, dan zie je vanzelf wat we bedoelen.
 
Het is dus de bedoeling dat er adres gegevens worden geëxporteerd vanuit een ander programma in excel (andere export mogelijkheden zijn er niet), en vanauit excel in de database worden gezet. het is de bedoeling dat mijn gebruiker strak iedere keer een excel bestand kan invoegen welke dat altijd geupdate moet worden (excel is altijd de nieuwste).

Het het acces programma kunnen dan gemakkelijk via selecties etiketten geprint worden of adresgegevens worden samengevoegt met een word bestand.
 
Je hoeft niet te exporteren.
Je maakt in access een gekoppelde tabel. Als er een wijziging wordt gedaan in excel zie jij dat ook in access.

GG
 
gregorg zei:
Je hoeft niet te exporteren.
Je maakt in access een gekoppelde tabel. Als er een wijziging wordt gedaan in excel zie jij dat ook in access.

GG

Er word alleen gexporteerd vanaf het andere programma niet vanauit access. wat ik wil hebben is een formulier met een bladerknop en een invoegknop. hiermee moet alles worden geïmporteerd en daarna moet het excel bestand overbodig zijn. deze word alleen gebruikt om de gegevens uit een ander programma te krijgen.
 
Rick Kock zei:
Er word alleen gexporteerd vanaf het andere programma niet vanauit access. wat ik wil hebben is een formulier met een bladerknop en een invoegknop. hiermee moet alles worden geïmporteerd en daarna moet het excel bestand overbodig zijn. deze word alleen gebruikt om de gegevens uit een ander programma te krijgen.

maar voordat de gegevens worden ingevoegt in access moet hij eerst controleren of de gegevens reeds bestaan in de database, zodra dat niet het geval is moet hij ze updaten.

Heeft iemand voor zo'n voorbeeld of kan mij een beetje opweg helpen?

Alvast bedankt
 
Wat jij vraagt is bijna onmogelijk. Excel als dataleverancier is tricky. De onderlinge verbanden kunnen in 1 beweging worden verstoord. Zeker het controleren en toevoegen vanuit excel is hoogst onbetrouwbaar.

Vandaar dat ik 100% wilde uitsluiten dat koppelen niet kan. Ook niet met ODBC drivers?
Waarom kan het niet?


En dan wil je in de database de gegevens wijzigen. Wat bedoel je daar mee?
Is dit eenmalig en wat als er in het origineel andere wijzigingen plaatsvinden tov van jouw wijzigingen.?

Als je het al doet en de wijzigingen in het origineel zijn belangrijk dan zou ik de gehele tabel leegmaken in access en opnieuw alles importeren.

Wat bijvoorbeeld ook is. Wat garandeerd jou dat de gebruiker het juiste excel sheet aanklikt. Zijn allemaal dingen die fout kunnen gaan.

Gregor
 
Wat jij wilt kan alleen als je het compleet gaat programmeren in VBA. Dat is programmeer werk voor gevorderden.
Je moet dan uitvragen waar het excel sheet staat, een connectie maken met het excel sheet, een recordset openen met de gegevens uit het excelsheet, record voor record en veld voor veld beslissen wat je er mee doet (negeren, toevoegen, wijzigen).
Het kan allemaal, maar is programmeren voor gevorderden.
 
Ik zit nu net te denken misschein dat het wat simpeler is om het excel bestand tijdelijk te laten gebruiken als tabel en dan met querys gaan vergelijken welke data er reeds bestaat enz.

kan iemand mij misschien een beetje op weg helpen hoe ik in acces een SELECT query met een while functie of zoiets?

Alvast bedankt,

Rick
 
Wat jij wilt kan alleen als je het compleet gaat programmeren in VBA. Dat is programmeer werk voor gevorderden.
Je moet dan uitvragen waar het excel sheet staat, een connectie maken met het excel sheet, een recordset openen met de gegevens uit het excelsheet, record voor record en veld voor veld beslissen wat je er mee doet (negeren, toevoegen, wijzigen).
Het kan allemaal, maar is programmeren voor gevorderden.

Bartuls,

Zou je me hierop misschien een voorbeeld kunnen doorsturen hoe ik dit best programmeer. BV voor 1 enkele cel naar een plaats op mijn form zou al duidelijk zijn om zelf opweg te gaan. En hoe ik dit kan koppelen aan een knop op dat form, waarna al de ingelezen gegevens op dat form verschijnen.

Thanx,
SLAU
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan