Access - Excel

Status
Niet open voor verdere reacties.

annetiti

Gebruiker
Lid geworden
6 aug 2007
Berichten
195
Dag

Vraagje ivm Exporteren van een query naar Excel

In access is de query gemaakt.
Ik voer deze uit en wil het resultaat exporteren naar Excel
Wanneer je manueel het resultaat van een query export naar excel (via Menublak --> externe Gegevens --> Excel) kan je als gebruiker de optie "Gegevens exporteren met opmaak kiezen".
[/B]
Dit probeer in nu met vba: DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Boomaardquery", txtmapnaam & "/" & bestandnaam, False
Kan ik in de vba ook coderen dat de gegevens met opmaak neemt.

reden is dat er heel wat tabellen gelinkt zijn ook tabellen met meerkeuzemogelijkheden en dit geeft problemen.

Wie heeft hiervoor een tip of weet raad?

Groetjes Anne
 
Voor zover ik weet is dat onmogelijk. Je krijgt altijd e opgeslagen waarden mee in een export. Dat je het handmatig wél meekrijgt, vind ik eigenlijk al heel bijzonder.... Misschien kun je een macro maken die de handelingen emuleert met Sendkeys. Zelf zou ik dat overigens nooit willen; een export van een query moet gewoon de data laten zien, en verder niks. Als je niet de numerieke waarden uit de keuzelijst wilt gebruiken, dan zet je de waarden uit de onderliggende tabel in je query en ben je ook klaar.
 
Als ik deze code gebruik komen in ieder geval de font-kleur en de achtergrondkleur mee.

Code:
Sub M_snb_export_excel_opmaak()
    DoCmd.OutputTo acOutputTable, "Tabel1", acFormatXLSX, "G:\OF\fietstabel" & Format(Date, " yyymmdd") & ".xlsx"
End Sub
 
Laatst bewerkt:
Volgens mij gaat het niet om opmaak (dat kan namelijk wel), maar om een (wat mij betreft afkeurbare) instelling in de tabellen zelf, waar keuzelijsten in gebruikt worden. Ik ben daar sowieso een fervente tegenstander van; keuzelijsten op basis van tabellen horen niet thuis in tabellen. Die bewaar je voor formulieren. Dan heb je ook geen probleem met je exports.
Keuzelijsten op basis van tabellen die je in een andere tabel gebruikt kunnen alleen al op basis van de onderliggende techniek nooit geëxporteerd worden; dan moet je namelijk ook die tabel mee exporteren. Dat Anne het dus wél kan via het menu, verbaast mij in hoge mate, ik zou dat wel eens willen zien. Ik kan mij hooguit voorstellen dat je de veldinstelling meekrijgt, dus een veld met een keuzelijst is dan in Excel een cel met een keuzelijst. Maar dat die keuzelijst dan alle waarden kan laten zien die ook in de tabel zitten? Dat zou alleen kunnen als je in Excel een koppeling hebt met de oorspronkelijke tabel. Anders is het pure magie :). (Of ik ben te dom, wat ik overigens niet uitsluit)
 
@Octa

Als je het hele verhaal van TS met uitzondering van de regel ' reden is ....' neemt, denk ik dat je uitkomt op het effekt wat je krijgt als je bij export, 'export data with formatting and layout' aanvinkt.

Daarmee lijkt mij de eerste vraag beantwoord.

Jij zult ongetwijfeld gelijk hebben met je reaktie op die regel met ' reden is ...'
Maar ik ben te dom om dat te kunnen beoordelen...:confused:
 
Wellicht als we onze domheid vermenigvuldigen dat er wat positiefs uitkomt :). Ben nog steeds benieuwd naar een reactie van Anne die nog in de wachtkamer zit vermoed ik :).
 
Dag Octafish

De optie meerdere waarden toelaten in een veld is wel handig maar kan voor problemen zorgen.
Als je de query uitvoert krijg je wel de inhoud van je keuzetabel (vb id= 1 inhoud: geslaagd). Neem je vba code om deze query te exporteren dan krijg je enkel de primary-keys.
Ik heb de query aangepast zodat de waarde van de keuzetabel (inhoud en niet de key) toonbaar is. (heel wat tabellen waren gelinkt met de brontabel).

Hoe lossen jullie het probleem op om aan een veld meerdere waarden toe te kennen. Nu gebruik ik de optie meerdere waarden toegelaten?

Blijf toch prutsen in access vba!

groeten Anne
 
Hoe lossen jullie het probleem op om aan een veld meerdere waarden toe te kennen.
Makkelijkste vraag van de week, dit :). Nooit gebruiken namelijk. Dit soort velden hoort niet in een fatsoenlijke database thuis. Altijd proberen om via gekoppelde tabellen te werken.
Zeker als je data geëxporteerd moet worden. Overigens kun je de waarden uit een veld met meervoudige waarden nog wel ‘opsplitsen’ in aparte records, zoals je ook zou krijgen als je een ‘normale’ constructie had gebruikt, en dan kan je dus ook de aanvullende velden uit de brontabellen halen.
 
Dag

Maken jullie dan hoofd en subformulieren voor invoer van inhoud van één veld?

niet één veld waar je via vba een tweede gekozen waarde aan toevoegt gescheiden ddor een puntkomma.

groetjes anne
 
Velden met meervoudige waarden kunnen nooit meer dan één veld refereren. Een tabel met een gekoppelde tabel kan dat wel. Denk aan Orders en Orderregels. Dus zodra je meerdere waarden per ‘regel’ (record dus) wilt opslaan, heb je al niks aan een veld met meervoudige waarden. Ook in het geval van ‘deelrecords’ met slechts één veld gebruik ik toch vaak een gekoppelde tabel (met dus minstens twee velden) omdat ik vaak ook datums etc. meeneem.
Ik gebruik Multi-Value velden dus alleen voor (bijvoorbeeld) opleidingsniveau’s etc. Als je die uit een tabel haalt, sla je vaak het ID veld op (is tenslotte kleiner). In de output zie je dat veld dan weer terug in je query, en kun je het selecteren. Kies je het ‘hoofdniveau’ van de meervoudige keuzelijst, dan krijg je één record terug met alle geselecteerde waarden in één veld. Kies je dus het veld zelf, dan krijg je als resultaat een genormaliseerde tabel met de waarden uit de gekozen velden.
Maar ik hou ze dus doorgaans ver weg uit mijn Db’s. Alleen als de klant er echt om vraagt :).
 
DAg Ocatfish

Dank je wel voor de uitleg. Gebruik het ook wanneer één veld meerdere keuze kan hebben.
groeten
Abbe
 
En toch: dit veldtype ruïneert de data-integriteit van je database (als je de output in één veld gebruikt); dat is een prijs die geen enkele db ontwikkelaar zou moeten willen betalen :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan