Opgelost uitvoeren aangemaakte query

Dit topic is als opgelost gemarkeerd

snb

Verenigingslid
Lid geworden
12 jun 2008
Berichten
20.235
Ik maak met VBA een query aan.
Hoe zorg ik in VBA dat die query ook wordt uitgevoerd en het resultaat zichtbaar op het scherm ??

Code:
Sub M_snb()
   currentdb.CreateQuerydef("snb_Q1","sql-string")
End Sub
 
Het lijkt zelfs te werken. Mirakels.

Hartelijk dank xps
 
Currentdb.Execute werkt net zo makkelijk, zo niet makkelijker :).
 
Ware het niet dat die methode alleen werkt voor actiequery's.
 
Ach, Docmd.Openquery is ook een opdracht die ik van zijn levensdagen nog nooit gebruikt, of nodig heb gehad :)
 
Dat was ook de achtergrond: de execute gaf meteen een melding dat die niet voor selectiequeries kon worden gebruikt.
Maar @octa, hoe pak jij dan de vraag aan om bepaalde gefilterde records aan de gebruiker te tonen om die vervolgens in de gelegenheid te stellen aanpassingen te doen ?
 
Ik ben @OctaFish dan wel niet, maar ik laat gebruikers in ieder geval altijd via formulieren werken. Ik zou dus (bijvoorbeeld) een formulier op basis van een query maken.
Waarom je de query eerst, en steeds opnieuw, met VBA zou moeten maken kan ik niet beoordelen bij gebrek aan context.
 
Die query is bedoeld om in verschillende databases bepaalde defekten in velden te laten detecteren.
 
Maar @octa, hoe pak jij dan de vraag aan om bepaalde gefilterde records aan de gebruiker te tonen om die vervolgens in de gelegenheid te stellen aanpassingen te doen ?
Altijd via een formulier. En daar kun je prima met VBA de recordset van veranderen.
 
Maar dan nog is de vraag dat van iedere afzonderlijke database moet worden onderzocht of die velden bevat met bepaalde 'verboden' tekens.
 
Het principe blijft denk ik altijd hetzelfde. Met een query spoor je op waar de fouten zitten en op een formulier toon je de gegevens om ze te corrigeren.

Wat je je wel af kunt vragen is of het niet handiger is of zou zijn geweest om te voorkómen dat verbonden tekens in de database(s) komen. Je kunt kennelijk criteria formuleren die fouten signaleren. Dan kan je ook voorkomen dat fouten vastgelegd worden.

Maar nogmaals, zonder context komen we niet verder dan heel algemene algemeenheden.
 
Wat je je wel af kunt vragen is of het niet handiger is of zou zijn geweest om te voorkómen dat verbonden tekens in de database(s) komen. Je kunt kennelijk criteria formuleren die fouten signaleren. Dan kan je ook voorkomen dat fouten vastgelegd worden.
Een opmerking die op dit moment weinig nuttig is. :).

Veldnamen zitten in een tabeldefinitie; met Access kun je de (hidden) tabellen gebruiken om de veldnamen uit tabellen uit te lezen en 'verboden' veldnamen in een lijst zetten.
Gaat het om opgeslagen gegevens in tabellen, dan kun je dat met queries wel oplossen. Lijkt mij een hondenbaan overigens, want gebruik je een tekstveld, dan mag je in beginsel elk teken invoeren. Dus het zoeken op 'foutieve' tekens zal een zwaar proces zijn.

Ik zou e.e.a. denk ik met ADO aanpakken, waarbij je dan een connection maakt met de verschillende databases, daar de tabellen uitleest en in een query de velden doorloopt op de ongewenste tekens. Als de tabellen niet teveel afwijken in hoeveelheid velden kun je de resultaten van de queries op een onafhankelijk formulier zetten waarbij je de velden (zeg voor een willekeurige tabel 12 velden) aan de eerste 12 tekstvelden koppelt.
 
Terug
Bovenaan Onderaan