docmd.outputto geeft fout

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
419
Ik denk toch iets heel eenvoudig uit te schrijven, maar krijg altijd de foutmelding "De opdracht of actie UitvoerenNaar is momenteel niet beschikbaar." (2046). Weet niet wat er fout loopt?

Code:
DoCmd.OpenReport "rptPerScholenProcenten", acViewPreview, , , acDialog
strPadNaamBestandsNaam = TempVars.Item("SO_SamengesteldPDF") & "\" & TempVars.Item("SO_NummerPDF") & "_" & Replace(Format(Date, "dd/mm/yy"), "/", "_") & ".pdf"
DoCmd.OutputTo acOutputReport, "rptPerScholenProcenten", acFormatPDF, "" & strPadNaamBestandsNaam & "", True
DoCmd.Close acReport, "rptPerScholenProcenten"
 
En waar krijg je die foutmelding? Wat wil je überhaupt bereiken, want ik vind het een vreemde constructie zo. En niet alleen vanwege dit:
Code:
     Replace(Format(Date, "dd/mm/yy"), "/", "_")
Want dat kun je natuurlijk net zo makkelijk zo schrijven:
Code:
     Format(Date, "dd_mm_yy")
Wat ik zelf dus nooit zo zou doen, want sorteertechnisch is dit een hele onhandige schrijfwijze. Ik doe het meestal zo:
Code:
     Format(Date, "yymmdd")
Dan weet je dat je altijd goed zit met sorteren.
 
Heb nog even een test gedaan met een heel eenvoudig rapport en lukt ook niet. Maar wat wel lukt is dit commando:
Code:
DoCmd.OutputTo acOutputReport, "rptTestVerhouding"
Alle argumenten erna geven een foutmelding.

En ja, bedankt voor je suggestie m.b.t. datum! :)
 
Welke versie gebruik je? PDF output zit er vanaf 2010 standaard in, eerder niet.
 
Dit soort constructies zou probleemloos moeten werken, ook in 2016:
Code:
        DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, strPath & strFilename
Heb je de db al eens gecompileerd? Wellicht dat er ergens een foutje in een procedure zit. Ook kan het geen kwaad om te kijken of alle bibliotheken nog aanwezig zijn.
 
Code opgebouwd in de procedure _Click van het uitgangsformulier werkt niet. Code aangeroepen via een apart formulier met 1 knop, werkt wel. Wat is hier aan de hand. Code in de procedure "Bij Openen" opgenomen om zo zonder een knop te werken, loopt ook vast. :(
 
Dat mag je even uitleggen, want daar snap ik niks van. Wanneer wil je de code laten lopen? En waarom maak je daar een nieuw formulier met een knop voor? Kan die knop niet op het echte formulier?
 
Neen, heb dat geprobeerd (een extra - als test - knop op het basisformulier). Als ik de code achter de knop op het basisformulier zet, krijg ik de foutmelding. Weet zelf echt niet wat er aan de hand is.
 
Mischien moet je een voorbeeldje posten, want ik kan het niet reproduceren.
 
Als ik de code strip (om een voorbeeld te posten) werkt het wel. In mijn uitgebreide code werkt dit niet. Er zit ergens anders een fout in, die ik moet opzoeken.:mad:
 
Dat moet ik nu eerst lijn per lijn bekijken.
Maar hetvolgende deed zich nu voor: ik schrijf bepaalde rapporten weg naar hun rechtstreeks server mapadres (\\Antwerpen. ....). Zelfs met het argument "True" wordt Acrobat niet geopend. Schrijf ik weg naar het bureaublad, geen probleem.
Code:
DoCmd.OutputTo acOutputReport, "RapportNaam", acFormatPDF, "\\Antwerpen\ ... \test.pdf", True
 
Dan lijkt het mij duidelijk waar het probleem zit :). Ik weet niet hoe je mappenstructuur er uit ziet, maar ik weet wel dat jouw regel fout is. Zet hem maar eens in de verkenner, dan zal je zien dat je niet op de goede plek uitkomt. De juiste manier is natuurlijk om eerst in de verkenner de juiste map te selecteren, en het adres dan uit de adresbalk te kopiëren en in de code te plakken.
 
Ik was wat te snel met typen gisteren, maar ik knip en plak wel degelijk de mapnaam vanuit de verkenner. :)
 
Als je dat echt uit de verkenner balk bovenaan hebt moet er op zijn minst iets van driveletter voor gestaan hebben, iets in de zin van
Code:
DoCmd.OutputTo acOutputReport, "RapportNaam", acFormatPDF, "C:\Antwerpen\ ... \test.pdf", True
 
Normaal gezien wel, maar wij werken ook via remote en spreken de serveradressen rechtstreeks aan, want - en hier zit een addertje - onze verschillende diensten noemen op hun respectievelijke servers hun centrale map, "de" O-schijf. Dus een O-schijf aanspreken heeft geen zin, wan dan wordt het bewuste bestand niet gevonden door die medewerkers die op remote werken.
 
Dan moet je een functie inbouwen die per gebruiker het juiste pad voor hen invult
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan