• 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.

Oude data met webquery opslaan via macro

Status
Niet open voor verdere reacties.

Instel

Gebruiker
Lid geworden
6 jan 2021
Berichten
61
Beste forumleden,

Ik heb recent een oplossing (macro) gevonden voor mijn probleem waarbij ik oude data via een webquery wil opslaan. Echter kan ik nu de oude data alleen opslaan met de macro als dit rechtstreeks gekoppeld is aan de webquery. Wat ik graag wil doen is op een blad (gasstation x) de data binnen laten komen en dan vervolgens deze data met een verwijzing in de macro verplaatsen naar het blad (fuel prices). Maar ik krijg dit niet voor elkaar, de macro kan op een of andere manier alleen oude data opslaan als het een directe verwijzing is.

Zodra dit werkt wil ik graag meerdere tabbladen toevoegen met verschillende tankstations, deze wil ik uiteindelijk allemaal in de datasheet opslaan.

Ik heb mijn testbestand bijgevoegd, het is in het engels omdat ik het op een engels forum ten rade heb gelegd. Helaas heb ik hier geen antwoord op gekregen.


Is er iemand die mij hierbij kan helpen?

Mijn dank is groot.
 

Bijlagen

Laatst bewerkt:
Hoe wordt je data ververst? Doe je dat handmatig of laat je de query automatisch updaten?
 
Maak een gebeurtenisklasse die na iedere refresh de geaktualiseerde gegevens naar 1 (!!) database kopieert.
 
Bijvoorbeeld zo? Ik heb je query ook iets aangepast.
Druk als je wilt verversen op de knop en de rest gaat vanzelf.
 

Bijlagen

Bijvoorbeeld zo? Ik heb je query ook iets aangepast.
Druk als je wilt verversen op de knop en de rest gaat vanzelf.

Hoi JVeer,

Dit is zeker de richting waar ik aan zit te denken. Ik dacht dat het voor mij een kwestie zou zijn van kopiëren en plakken van de macro. Ik heb toch maar mijn originele bestand wat meer als het testbestand gemaakt, zou het ook in het bestand wat ik heb bijgevoegd mogelijk zijn?
 

Bijlagen

Maak een gebeurtenisklasse die na iedere refresh de geaktualiseerde gegevens naar 1 (!!) database kopieert.

Ik heb nog maar net mijn weg gevonden met de basis van het maken van macro's. Helaas weet ik niet wat een gebeurtenisklasse is, wat is dat? En bedoel je met "1 (!!) database" een blad "database" of echt een database in Access?
 
Je data in je bestand is niet handig opgezet.
Zorg ervoor dat je in je Query de regels ....cent goedkoper dan..... verwijdert(in alle queries), zodat de tabellen eruit zien zoals in het onderstaande bestandje.

Ik heb een nieuw tabblad aangemaakt waar de data overzichtelijk wordt weggeschreven.
In alle tabbladen vind je filtercriteria in kolom E en F, die zijn van belang voor de macro. Druk op de refresh knop.
 

Bijlagen

Wauw, bedankt! Mijn idee was eigenlijk om het naast elkaar te krijgen in plaats van telkens onder elkaar, ik heb dat geprobeerd door "rows" in de macro te veranderen naar "columns", dat mocht alleen niet baten. Is wat ik vraag mogelijk? Wat er dan gebeurt is dat er telkens een rij met tankstations wordt bijgevoegd bij elke refresh, dat wil ik dan eigenlijk voorkomen. Als kers op de taart zou het mooi zijn dat de datum van vandaag boven de telkens vernieuwde rij verschijnt. Mag ik van je vragen mij hier nog bij te helpen?
 
Als je de data onder elkaar bewaart kun je er veel meer mee.
Je kunt heel simpel filteren en draaitabellen maken om bepaalde datums naar voren te toveren.

De datum van vandaag kan je er ook nog achter zetten in kolom D
 

Bijlagen

Laatst bewerkt:
Hoi Jveer,

Super bedankt, dit is perfect zo.

Dit forum mag gesloten worden. Ik ben trevreden!
 
Graag gedaan, de vraag op opgelost zetten moet je zelf doen:thumb:
 
Hoi Jveer, ik heb een probleempje. De query die ik telkens ophaal blijken niet allemaal hetzelfde. Zie 'Tankstation 4 (nieuw)', hierbij zie je dat de brandstoffen links staan i.p.v. in de rij samen met brandstofprijzen, zou je de macro ook kunnen maken dat het ook op deze manier een history kan maken?
 

Bijlagen

Als alle Queries een ander output hebben wordt het heel lastig.

Zo dan? Druk op refresh
 

Bijlagen

Hoi Jveer, dat is inderdaad wat ik bedoel. Ik heb echter een probleem. Telkens als ik refresh worden rijen ingeklapt en komt er een foutmelding. Ik heb het hier over (tankstation 5, nieuw). Zou je hier is naar kunnen kijken?
 

Bijlagen

Je tankstation 5 heeft dezelfde opzet als tankstation 4. Die moet je dus de juiste route meegeven in de vba code
Als je de regel verandert in onderstaande gaat het goed.

Code:
 If LO.Name = "Table_0" [COLOR="#FF0000"]Or LO.Name = "Table_03" Then[/COLOR]
 
Ik snap echt niet wat ik fout doe :confused:. Ik heb de VBA code aangepast maar het werkt niet, zou je is kunnen kijken in het bestand?
 

Bijlagen

Hoi JVeer,

Het spijt me dat ik zoveel van je vraag voor het in orde maken van mijn bestand. Ik zou het graag zelf willen kunnen doen. Ik denk namelijk dat ik mijn bronbestanden af en toe moet wijzigen. Is het ook mogelijk dat je een korte uitleg kan geven bij de onderdelen in de VBA en/of filters in de sheets die aan verandering onderhevig zijn? Ik probeer het nu zelf maar ik kom er niet echt uit.

Vele malen dank.
 
Ik zie dat er te veel variatie is in Query output.
Het is niet te doen om voor iedere opzet iets aparts te schrijven.
Houd het makkelijk en zorg er voor dat alle tabellen hetzelfde zijn.
 
Maak voor elke bron die je hebt een aparte query en zorg ervoor dat ze als output allemaal dezelfde structuur en namen hebben.
Voeg die queries samen tot één query, en voeg daar de datum/tijd aan toe.
Dump die query naar een worksheet.
Met VBA kopieer de nieuwe gegevens naar je historie tabel, na refresh van de query.
In bijlage is dit gedaan voor je eerste drie merk-queries. De andere mag je zelf aanpassen en toevoegen.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan