• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Eigenschappen van een query dynamisch aanpassen

Status
Niet open voor verdere reacties.

Woffels

Gebruiker
Lid geworden
8 jan 2006
Berichten
251
Ik heb een flink aantal csv's met dezelfde indeling die ik door een query wil halen en die data op een apart tabblad weergeven in een tabel. Het zijn nu nog maar een paar csv's, maar dat gaan er in de toekomst veel meer worden. In de eigenschappen van een query kan je aangeven wat de bron is en waarnaartoe de de query uiteindelijk zijn data gaat schrijven. Nu dupliceer ik steeds een bestaande query en pas de locatie en naam van de gegevensbron aan, naar welke tabel in de excel sheet de query de data moet schrijven en ook het aantal bovenstaande regels dat verwijderd moet worden. Met als resultaat dat ik oneindig veel querys ga krijgen die feitelijk allemaal hetzelfde doen, maar dan met verschillende bron, bestemming en regels die ik wil verwijderen.
Is het niet mogelijk om met 1 query te werken die bij aanroep een aantal parameters meekrijgt? Groot voordeel hiervan is, dat bij het wijzigen van een instelling in de query, ik dat niet steeds voor alle querys hoef aan te passen en ik dus maar met 1 query werk.

Dit zijn de parameters die ik mee zou willen geven naar de query in bijvoorbeeld een VBA script (zie ook toegevoegde png):
- Naam en locatie van het bronbestand
- Doel van waar de data uiteindelijk naar geschreven moet worden (tabelnaam)
- Aantal bovenste regels die ik wil verwijderen
 

Bijlagen

  • Query.PNG
    Query.PNG
    209,2 KB · Weergaven: 51
Waarom zorg je er niet voor dat het in te lezen CSV-bestand steeds dezelfde naam heeft (via overschrijven) ?
Ik hou van plaatjes, ik heb er meteen maar een foto van gemaakt.
 
Dat is helaas niet mogelijk. Het komt van een online bron waar ik geen invloed op heb.
 
Laatst bewerkt:
Dan nog kan je het csv bestand als het is opgeslagen (al dan niet met VBA) een standaardnaam geven.
 
De csv's bevatten data die elke 10 minuten aangevuld worden met nieuwe (meet)data en ik wil die nieuwe gegevens periodiek binnenhalen met die query. Is het niet mogelijk om met VBA een query aan te roepen en die de genoemde parameters mee te geven (locatie en naam van de bron, doel van de data(tabel naam) en het aantal bovenste rijen dat er weggehaald moet worden. Net zoals het aanroepen van een functie met een aantal parameters waar de functie mee moet gaat werken.
 
Hoe wordt de naam van die export csv's bepaald ?
 
Door de instantie die ze ook elke 10 minuten vult. Ik heb daar geen invloed op.
 
Maar hoe zien ze er uit, was de vraag niet wie bepaalt de naam :);
 
Als ze steeds in dezelfde directory komen te staan kun je ze met 1 regel VBA hernoemen en na gebruik met 1 regel verwijderen.
 
Maar het gaat me er om dat ik invloed heb met VBA op de velden die in de png van mn eerste post staan. De locatie en de naam van elk afzonderlijk bestand, daar kan ik wel een lijst van maken en die data in de eigenschappen van de query zetten.
 

Bijlagen

  • Query.PNG
    Query.PNG
    209,2 KB · Weergaven: 26
Moet elke csv naar een eigen werkblad? Elk werkblad zal dan een eigen query hebben, daar ontkom je niet aan.
Ipv de query te dupliceren kun je ook van een werkblad een kopie maken (sleep een tabje terwijl je ctrl vast houdt). Excel maakt dan een kopie van de query voor je. En creëert dan nieuwe namen voor de named ranges. Die zul je in de query handmatig moeten aanpassen.
Hoe dan ook, het gebruik van een functie query zal het je sowieso gemakkelijker maken.

Ben je misschien van plan om analyses over alle csv's te maken? Dan is het waarschijnlijk handiger om alle csv's in één query in te lezen en door te laden naar het datamodel. Vanuit het datamodel maak je dan één (draai)tabel waarmee je alle csv's gezamenlijk of individueel kunt analyseren.
 
Is wel uiteindelijk de bedoeling. Het gaat om een hele hoop data die geanalyseerd moet worden tov een referentie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan