Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel, Access] Specifieke kolommen uit Excel naar Access

Pagina: 1
Acties:

  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
Hallo,

ik zit met een probleempje7vraagje (het is maar hoe je het bekijkt). Ik heb een Excel file met een aantal kolommen en een lading regels wat over gezet moet worden naar een Access tabel. Het punt is nu alleen dat ik bepaalde kolommen over wil zetten en niet alles. Via een cmd TransferSpeadSheet commando kun je wel een range opgeven maar mijn kolommen liggen ook niet bij elkaar en ik kan ook geen specifieke range vooraf definieren of de volgorde aanpassen. Het liefst voer ik het ook uit zonder een query op excel los te laten om de data te importeren.

Weet iemand hoe je (met VBA) een aantal specifieke kolommen kunt importeren naar een Access tabel? Ik kom alleen maar onbruikbare dingen tegen :(

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 29-05 12:10

jvaneijk

Dr.Oak

Ik weet niet zeker of je hier wat aan hebt... Maar als je het met de hand doet kan het wel. Gebruik zelf nooit geen Access en al helemaal geen VBA hou mij liever bezig met C# met de combi MS SQL 2005

iRacing Profiel


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
jvaneijk schreef op maandag 08 december 2008 @ 14:53:
Ik weet niet zeker of je hier wat aan hebt... Maar als je het met de hand doet kan het wel. Gebruik zelf nooit geen Access en al helemaal geen VBA hou mij liever bezig met C# met de combi MS SQL 2005
Hmm, dit geldt alleen voor Access 2007 wat ik hier niet gebruik. Het gaat trouwens ook om een bestand dat elke week wordt geupdate dus dat zou ik liever laten importeren met een 'druk op de knop' ;)

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 29-11 17:06
Is dit een eenmalig iets? Zo ja, waarom doe je zo moeilijk? Je kan toch ook de kolommen en rijen die je niet gebruikt verwijderen en dan de zooi naar Access exporteren. Eventueel een kopietje maken van de worksheet voordat je delete.

Zo niet, misschien de delen die je wilt exporteren eerst kopieren naar een nieuwe sheet en die sheet exporteren naar access?? Hoe je dat doet kan je zelfs via een macro opnemen wel achter komen.

[ Voor 0% gewijzigd door urk_forever op 08-12-2008 15:17 . Reden: Zie net dat dit regelmatig moet gebeuren. ]

Hail to the king baby!


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
urk_forever schreef op maandag 08 december 2008 @ 15:16:
Is dit een eenmalig iets? Zo ja, waarom doe je zo moeilijk? Je kan toch ook de kolommen en rijen die je niet gebruikt verwijderen en dan de zooi naar Access exporteren. Eventueel een kopietje maken van de worksheet voordat je delete.

Zo niet, misschien de delen die je wilt exporteren eerst kopieren naar een nieuwe sheet en die sheet exporteren naar access?? Hoe je dat doet kan je zelfs via een macro opnemen wel achter komen.
an sich is het een idee om tijdelijk bepaalde kolommen naar 1 nieuwe sheet te kopieren maar dat doe ik liever niet. Het zijn ook nog eens dik 1000 regels en ook redelijk wat kolommen (maar niet allemaal dus). Als er een andere manier is dan liever dat, maar deze ga ik even onthouden

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 29-05 12:10

jvaneijk

Dr.Oak

Volgens mij kan je met VBA gewoon een excel sheet openen en door middel van ranges selecteren welke je wilt exporteren / importeren. Hangt er beetje vanaf of je het in excel of in access laat doen.

Kwam net ook nog deze link tegen is ook een redelijke manier en heel goed te doen via een macro.. Met een beetje vindingrijkheid moet je hier wel uitkomen denk ik.

[ Voor 38% gewijzigd door jvaneijk op 08-12-2008 15:36 ]

iRacing Profiel


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
je kunt een range opgeven ja, maar dat moet (voor zover ik weet) een range zijn die dus aaneen gesloten is qua kolommen en mijn kolommen zitten niet netjes naast elkaar (en ik kan dat ook niet doen). Dat is het probleem juist...

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 29-05 12:10

jvaneijk

Dr.Oak

TheRebell schreef op maandag 08 december 2008 @ 15:34:
je kunt een range opgeven ja, maar dat moet (voor zover ik weet) een range zijn die dus aaneen gesloten is qua kolommen en mijn kolommen zitten niet netjes naast elkaar (en ik kan dat ook niet doen). Dat is het probleem juist...
Misschien een forloop maken die telkens hetzelfde doet alleen dan voor een andere kolom, het is beetje vies maar is een simpele oplossing dan :)

iRacing Profiel


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
jvaneijk schreef op maandag 08 december 2008 @ 15:38:
[...]

Misschien een forloop maken die telkens hetzelfde doet alleen dan voor een andere kolom, het is beetje vies maar is een simpele oplossing dan :)
bleugh... :r ;)
volgens mij gaat dat ook al niet, want alles moet wel in 1 en dezelfde tabel komen. Volgens mij moet er een makkelijkere/betere oplossing zijn (hoop ik tenminste)

Verwijderd

Wat is er mis met een query vanuit je VBA in Excel? Als je een query in een for-loop zet, kun je toch gewoon een insert- (en eventueel update-)query uitvoeren, zodat alles in dezelfde tabel blijft? Anders draai je de rollen om; importeer je Excel sheet in Access en maak hier een nieuwe tabel van. Verwijder daarna alle velden uit de tabel die je niet wilt hebben.

[ Voor 24% gewijzigd door Verwijderd op 08-12-2008 18:12 ]


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
sowieso moet ik alles in Access hebben, omdat gegevens gecombineerd en vergeleken moeten worden. Het resultaat daarvan wordt weer een report (ala dashboard) in Excel (dat wil ik daar naartoe pushen). Het punt is dat ik het liefst zo min mogelijk extra gegevens in access heb staan (vanuit excel), puur alleen die gegevens die ik nodig heb.
An sich zou ik alles kunnen inlezen en dan via een alter table alle overige kolommen eruit kunnen gooien..maar dan moet ik alsnog wel eerst ook alles inlezen. De Excel files staan ook op een shared folder en het liefst gaat alles zo snel mogelijk (het moet altijd sneller ;) )

  • woest85
  • Registratie: Juli 2003
  • Niet online

woest85

[Ondertitel]

Je kunt in access gewoon tabellen koppelen? :? Rechtsklikken in tabellen venster, "Tabellen koppelen" daar kun je ook excel bestanden kiezen. Eerst van excel opslaan als .csv geeft het voordeel dat je dan bij koppelen ook specifieke kolommen kunt selecteren.

Voordeel van koppelen is ook dat je altijd actuele data ophaalt naar access als de bestandsinhoud wijzigt.

Misschien dat je hier wat mee kunt?

[ Voor 15% gewijzigd door woest85 op 09-12-2008 11:14 ]

[Signature]


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
woest85 schreef op dinsdag 09 december 2008 @ 11:13:
Je kunt in access gewoon tabellen koppelen? :? Rechtsklikken in tabellen venster, "Tabellen koppelen" daar kun je ook excel bestanden kiezen. Eerst van excel opslaan als .csv geeft het voordeel dat je dan bij koppelen ook specifieke kolommen kunt selecteren.

Voordeel van koppelen is ook dat je altijd actuele data ophaalt naar access als de bestandsinhoud wijzigt.

Misschien dat je hier wat mee kunt?
De excel files kunnen niet worden ongezet naar csv. De bedoeling is dat mensen de (shared) excel files op een shared folder aanpassen en dat deze eens per week worden ingelezen in Access. Als het kan dus ook alleen bepaalde kolommen. Misschien moet ik er maar vanaf zien en gewoon alles inlezen van die excel files. Blijkbaar is het niet (eenvoudig) mogelijk om dit te doen als de kolommen ook niet bij elkaar staan. Dan zou je namelijk een range kunnen opgeven (mits die range altijd hetzelfde is wat bij mij dus ook niet het geval is)
Jammer :(

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 28-11 19:29
thnx Creepy, dit is ook een goeie groep om mijn vraag te stellen :)

iemand misschien een oplossing/idee voor mijn vraag?
bedoeling is dus om een aantal excel files te importeren naar Access. De files kunnen evt niet omgezet worden naar een ander formaat. Ik zou bij het importeren graag bepaalde kolommen importeren ipv allemaal. De kolommen staan niet naast elkaar zodat je ook geen range kunt opgeven (en ik kan ze ook net bij elkaar zetten).

Verwijderd

ik zie veel veronderstellingen, en weinig code. het ware interessant eens te zien wat je al geprobeerd hebt en waar je precies vastloopt.

in ieder geval kan een excelbereik als database benaderd worden met ado of dao, waarbij de gewenste kolommen met een gewone sql query geselecteerd kunnen worden.
zie eens aan de hand van bovenstaand & jet ole db provider voor excel hoe ver je komt en post opnieuw (met code!) en een omschrijving van de ondervonden problemen.

en wat is het probleem met rechtstreeks een excelbereik linken in access? eenmaal de gegevens daar beschikbaar, maakt de kolomvolgorde toch niet meer uit?

Verwijderd

Probeer het inderdaad gewoon eens. Een excel sheet importeren is eenvoudig en werkt snel; je kunt voor het importeren al aangeven welke kolommen je wilt importeren en indien je achteraf kolommen wilt wijzigen of verwijderen kan dat in Access heel simpel via de design view, in plaats van een alter table query uit te hoeven voeren. Kortom, in de tijd dat je je twijfels hier post had je je sheets allang kunnen importeren.
Pagina: 1