Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 10 van 10

Onderwerp: Bestands locatie csv bij een query

  1. #1
    Senior Member
    Geregistreerd
    8 januari 2006
    Vraag is niet opgelost

    Bestands locatie csv bij een query

    Ik heb diverse query's in een xls sheet die statische verwijzingen hebben naar de bronbestanden (CSV) voor de query's.
    Dat ziet er bijvoorbeeld zo uit voor de bron van één van de query's.
    Code:
    = csv.document(File.Contents("C:\Users\Peter\Documents\Projects\Database01.xlsm"), null, true)
    De uiteindelijke bedoeling is, dat de xls sheet door meerdere gebruikers gebruikt gaat worden en dus die bestands locatie van de query bron anders is. Is het mogelijk de bestands locatie dynamischer te maken, de bestandsnaam is overigens altijd hetzelfde. Ik dacht om het zo te maken, dat de bron van de query altijd in hetzelfde pad als de xls sheet gezet moet worden om het te laten functioneren. Zo kan ik de gebruiker instrueren de csv altijd in dezelfde map te zetten als de xls sheet.
    Hoe dit te realiseren?

  2. #2
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Doe het eens zo:
    Code:
    = csv.document(File.Contents(Environ("userprofile") & "\Documents\Projects\Database01.xlsm"), null, true)
    Of:
    Code:
    = csv.document(File.Contents(ThisWorkbook.Path & "\Database01.xlsm"), null, true)
    Laatst aangepast door edmoor : 13 september 2021 om 10:02
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  3. #3
    Senior Member
    Geregistreerd
    8 januari 2006
    De tweede keuze is beter, dan kunnen de bestanden op elke locatie staan, zelfs op een usb drive.
    Helaas pakt ie thisworkbook.path niet, zie bijlage.
    Bijgevoegde kleine afbeeldingen Bijgevoegde kleine afbeeldingen Klik op afbeelding voor grotere versie

Naam:  Knipsel.JPG‎
Bekeken: 14
Grootte:  128,4 KB  

  4. #4
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    ThisWorkbook.Path is VBA.
    Wat het in Powerquery moet zijn of wel eens kan weet ik niet.
    Maar even een reactie van anderen afwachten.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  5. #5
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Met een kleine workaround kan het vrij eenvoudig. Zie https://stackoverflow.com/questions/...el-power-query
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  6. #6
    Senior Member
    Geregistreerd
    8 januari 2006
    Ja, die had ik ook al gevonden en werkt in principe prima, maar ik hoopte dat het ook mogelijk was in de query editor.

  7. #7
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    PQ is denk ik nog in ontwikkeling. Jouw vraag kan, zover ik gevonden heb, alleen met de methode in #5. Ook andere zaken zoals koppeling met een Sharepoint bestandje of een simpele formule als WEEKNUM(date) is allemaal vrij complex.

    Nb. ik ben beginner met PQ dus of mijn antwoord wat waard is laat ik aan de specialisten over (zijn er volgens mij maar weinig van op dit forum)
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  8. #8
    Giga Honourable Senior Member
    Verenigingslid
    snb's avatar
    Geregistreerd
    12 juni 2008
    De uiteindelijke bedoeling is, dat de xls sheet door meerdere gebruikers gebruikt gaat worden en dus die bestands locatie van de query bron anders is. Is het mogelijk de bestands locatie dynamischer te maken, de bestandsnaam is overigens altijd hetzelfde.
    Is het dan niet voor-de-hand-liggender het bestand op een voor allen toegankelijke server te plaatsen, zodat je er met een vaste webquery terecht kunt ?
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  9. #9
    Senior Member
    Geregistreerd
    8 januari 2006
    Ik heb het nu opgelost met een formule in een cel genaamd; CSV_Location

    Code:
    =LINKS(CEL("Bestandsnaam");VIND.SPEC("[";CEL("Bestandsnaam");1)-1)&E2
    Waarbij cel E2 de bestandsnaam van het bronbestand bevat.

    In PQ staat er dan bij de bron:
    Code:
    = Csv.Document(File.Contents(Excel.CurrentWorkbook(){[Name="CSV_Location"]}[Content][Column1]{0}),[Delimiter=";", Columns=24, Encoding=1252, QuoteStyle=QuoteStyle.None])

  10. #10
    Giga Honourable Senior Member
    Verenigingslid
    snb's avatar
    Geregistreerd
    12 juni 2008
    Als PQ benoemde gebieden wel herkent kan dat ook met

    Code:
    Private Sub Workbook_Open()
       Names.Add "CSV_Loc", ThisWorkbook.Path & "\snb.csv"
    End Sub
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren