Torna indietro   Hardware Upgrade Forum > Software > Programmi e Utility

Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-11-2007, 20:53   #1
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
[access] - salvare una query a run-time

Buona sera a tutti.
Avrei la necessità di aprire una query in visualizzazione foglio dati ma non so a priori come sarà costituita visto che i parametri vengono inseriti tramite form.

So che per aprire la query si utilizza questa sintassi

DoCmd.OpenQuery "nome_query", acViewNormal, acReadOnly

però l'oggetto, nel mio caso la query, deve essere già esistente.

Supponendo, per semplificare al massimo la cosa, che la mia query sia

strSQL = "select * from tabella"

come faccio da questa query a salvare a run-time la query, aprirla e in seguito distruggerla?

Ciao e grazie.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2007, 09:39   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da john_revelator Guarda i messaggi
So che per aprire la query si utilizza questa sintassi

DoCmd.OpenQuery "nome_query", acViewNormal, acReadOnly

però l'oggetto, nel mio caso la query, deve essere già esistente.
Si può fare, ma abbandonerei decisamente il semplice DoCmd, con il quale non arriveresti molto lontano...

Comunque, partiamo dal presupposto che tu voglia fare il tutto da una Form VBA direttamente in Access ( se parli di DoCmd immagino sia proprio così )...

Entra nel tuo DB, apri l'editor VBA e da Strumenti / Riferimenti controlla che sia attivo il Rif. alle librerie "Microsoft DAO 3.6 Object Library" ( 3.6 se usi Office 2003, versione a parte sono quelle lì ).

Intanto dai un'occhiata al codice VBA per la creazione/eliminazione di una Stored Query generica... Poi vediamo...
Puoi creare una nuova maschera in Access, usare un semplice pulsante ed associare al Click la routine "PROVA_DAO"... :

Codice:
Public Sub PROVA_DAO()

Dim MioDB As DAO.Database
Dim MiaQuery As DAO.QueryDef

Dim strSQL As String
strSQL = "SELECT * FROM Nome_Tabella"

Dim DBPath As String
DBPath = CurrentDb.Name

Set MioDB = DBEngine.OpenDatabase(DBPath)

Dim q As DAO.QueryDef
For Each q In MioDB.QueryDefs
    MsgBox q.Name
    If q.Name = "Nome_Nuova_Query" Then
        MioDB.QueryDefs.Delete (q.Name)
    End If
Next

Set MiaQuery = MioDB.CreateQueryDef("Nome_Nuova_Query", strSQL)
MioDB.Close

End Sub
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2011, 00:05   #3
LubertoMario
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 1
salvare query in access da vb6

saluto tutti
e' la prima volta che mi collego a questo forum
io ho risolto cosi' la creazione e salvataggio a
run-time di una query nel DB di Access

Public Sub £CreaQuery(ByVal §Nome As String)
Set £Dbs = OpenDatabase(......................)
£Dbs.QueryDefs.Refresh
On Error Resume Next
Set qryDef = £Dbs.QueryDefs(§Nome)
If (3265 = Err) Then
Set qryDef = £Dbs.CreateQueryDef(§Nome)
£Dbs.QueryDefs.Refresh
Err = 0
End If
On Error GoTo 0
qryDef.SQL = §strSql
qryDef.Close
End Sub

la cosa funziona, a parte il fatto che la query
creata diventa visibile ad access dopo qualche secondo
e anche al vb6 non diventa immediatamente disponibile;
me ne sono reso conto perche' ricevo l' errore di tabella/query non trovata; controllare nome e riprovare; se pero' faccio il debug e
poi F8 per rieseguire l' operazione l' errore scompare;
la mia domanda e': e' possibile che il VB6 aspetti fin tanto che
la query sia disponibile e come si fa a saperlo;
io ho provato con l' istruzione DOEVENTS ma senza
risultato.
ringrazio anticipatamente chiunque vorra' darmi una mano

l
LubertoMario è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Sta arrivando WhatsApp Plus: cosa includ...
Una GeForce RTX 5070 a un prezzo super c...
Nothing Phone (3) 16+512GB crolla a 662,...
Gigabyte risolve il problema dei connett...
Falsa partenza per l'app della verifica ...
PRAGMATA è un successo: raggiunto...
Privacy, il Garante multa Poste Italiane...
Aramco ribalta il concetto di 'ibrido'. ...
Apple cambia tutto: Tim Cook lascia il t...
Dyson Supersonic Travel: il nuovo asciug...
Huawei punta sul canale europeo: per il ...
Ubuntu 26.04: le GPU guadagnano il 17% i...
La Commissione UE registra l'iniziativa ...
SSD troppo cari? La soluzione alla crisi...
Anteprima mondiale Hyundai IONIQ 3: segm...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v