Discussione chiusa
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Aggiornare una query da codice

  1. #1
    tatix non  in linea Scolaretto
    Buongiorno,
    ho creato la query q1 da codice.
    Ora per aggiornare la query la devo cancellare e ricaricare.
    C' un modo per accedere ai dati solo aggiornandola?
    Se all'interno del codice provo a fare [q1].requery, il codice mi restituisce errore.
    la query che ho creato :
    stringaquery1 = "UPDATE MAGAZZINO_LISTA_BOLLE.Numero_bolla, MAGAZZINO_LISTA_BOLLE.Data_entrata_bolla,"
                        stringaquery1 = stringaquery1 & "MAGAZZINO_LISTA_BOLLE.Fornitore, FORNITORE.Nome_fornitore, MAGAZZINO_LISTA_BOLLE.Ordine_di_acquisto, MAGAZZINO_LISTA_BOLLE.Materiale AS MAGAZZINO_LISTA_BOLLE_Materiale, ACQUISTO_ORDINI_ESTESI.Materiale, MAGAZZINO_LISTA_BOLLE.Quantita AS MAGAZZINO_LISTA_BOLLE_Quantita, MAGAZZINO_LISTA_BOLLE.Identificativo_ordine_esteso, ACQUISTO_ORDINI_ESTESI.Quantita AS ACQUISTO_ORDINI_ESTESI_Quantita, ACQUISTO_ORDINI_ESTESI.Costo_unitario, ACQUISTO_ORDINI_ESTESI.Importo FROM ((FORNITORE INNER JOIN MAGAZZINO_LISTA_BOLLE ON FORNITORE.[ID_Fornitore] = MAGAZZINO_LISTA_BOLLE.[Fornitore]) INNER JOIN ACQUISTO_MATERIALE ON FORNITORE.[ID_Fornitore] = ACQUISTO_MATERIALE.[Fornitore]) INNER JOIN ACQUISTO_ORDINI_ESTESI ON (MAGAZZINO_LISTA_BOLLE.Identificativo_ordine_esteso = ACQUISTO_ORDINI_ESTESI.ID_acquisto_ordini_estesi_item) AND (ACQUISTO_MATERIALE.[ID_acquisto_materiale] = ACQUISTO_ORDINI_ESTESI.[ID_acquisto_ordine_materiale]);"
                        Set qq1 = DB.CreateQueryDef(nomeq1, stringaquery1)
    
    dove nomeq1 ="q1"
    qq1 dimensionata con
     Dim qq1 as Querydef
    
    Grazie

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Cosa significa aggiornare...?
    Accedere ai dati di cosa...? Se parli di una Query i dati sono i Records...?

    Non ti inventare metodi che non esistono... perch basterebbe aprire la guida per capire che non esiste Requery per una query...!!!!!!!!

    Access, si basa per la gestione dei dati a DAO, che ha un modello ad oggetti che DEVI Studiare, assieme al modello Oggetti di Access per la manipolazione delle interfacce.

    Questo il Modello Oggetti DAO:Microsoft Access tips: DAO Object Model

    Questo il modello Oggetti Access:https://www.codevba.com/msaccess/dao...ldiagram.xhtml

    Si chiama modello Oggetti perch la programmazione ad Oggetti, quindi una Query un'oggetto chiamato QueryDef.
    Gli oggetti sono sempre contenuti in Collection, la Collection delle Query QueryDefs che trovi nel modello.
    Essendo una Collection si accede ai suoi Oggetti, o Items, con il nome o con l'indice ma nel caso non comodo.
    Gli oggetti hanno propriet, Metodi ed Eventi.

    Tutto questo nel Visualizzatore OGGETTI ben chiaro.

    Quindi
    Dim qdf As DAO.QueryDef
    Set qdf=Currentdb.QueryDefs(nomeq1)
    qdf.SQL=stringaquery1
    
    Devi studiare e mi pare che tu vada molto a caso.
    Ultima modifica di @Alex; 24-09-2021 11:15 
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    tatix non  in linea Scolaretto
    Buon pomeriggio,
    ho provato a fare come mi hai detto.
    Ho fatto una tabella di prova con quattro campi

    ID NOME COGNOME DATA

    ho creato un query di nome q1 semplice
    SELECT Lista_nomi.ID, Lista_nomi.Nome, Lista_nomi.Cognome, Lista_nomi.data FROM Lista_nomi;

    e una maschera che legge i quattro campi.

    Ora ho creato il seguente codice, il cui scopo quello di inserire nella variabile "a" dell'ultimo record della tabella del campo cognome.
    Volutamente non ho voluto leggere il dato dalla query e non dalla tabella

    Il codice il seguente:
    Option Explicit
    Option Compare Database
    
    Private Sub Comando9_Click()
    
    Dim DB As Database
    Dim qq1 As DAO.QueryDef
    Dim stringaSQL As String
    Dim nomequery As String
    Dim a As Variant
    
    Set DB = CurrentDb
    nomequery = "q1"
    stringaSQL = "SELECT Lista_nomi.ID, Lista_nomi.Nome, Lista_nomi.Cognome, Lista_nomi.data FROM Lista_nomi;"
    Set qq1 = CurrentDb.QueryDefs(nomequery)
    qq1.SQL = stringaSQL
    qq1.MoveLast
    a = qq1(2)
    
    End Sub
    
    Durante la compilazione, all'istruzione qq1.MoveLast mi da il seguente errore di compilazione:
    Impossibile trovare il metodo o il membro dei dati.
    Ultima modifica di tatix; 24-09-2021 16:23 

  4. #4
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Non hai proprio la pi pallida idea di cosa stai facendo...
    ℹ️ Leggi di pi su @Alex ...

  5. #5
    tatix non  in linea Scolaretto
    Semplicemente cercare di recuperare un dato dalla query, perch nella query, del database, ho un campo di calcolo.
    E pertanto devo estrarre quel data dalla query. Ora dire che sono "grezzo" in access non aggiunge nulla alla mia richiesta. Cos, anche dire che devo studiare, visto che lo sto facendo. Per affinch lo studio sia proficuo occorre avere dei docenti in grado quantomeno di indirizzare. Se ti inseriscono dei link dove gli esempi son fatti su tabelle invece che su query perdiamo tempo in due (e tutti quelli che ci leggono).
    Ultima modifica di tatix; 24-09-2021 17:25 

  6. #6
    Tatix il problema che ti mancano le basi in modo evidente. E le basi non le apprendi sul forum facendo domande sconclusionate.

    Devi studiare qualche mese la teoria, da solo e lontano dalla tastiera. Non cercare link e tutorial, studia dai libri e per il tempo che ci vuole... mesi e mesi
    Ultima modifica di AntonioG; 24-09-2021 18:49 
    ℹ️ Leggi di pi su AntonioG ...

  7. #7
    tatix non  in linea Scolaretto
    Ok.
    Per far capire il mio livello di programmazione, vi invito a fare un programma che risolva il sudoku (qualunque tipo anche quelli a dati ridondanti).
    Potremmo scambiarci qualche informazione su questo.
    Quello che mi manca non tanto il concetto di programmazione ma la sintassi dei data base.
    Ora mi serviva una semplice informazione: possibile tirare fuori un dato dalla query con il codice?
    E' chiaro che tempo un paio di mesi il forum cos com' strutturato non ha ragione pi di essere (almeno per me).
    Infatti pi volte ho chiesto cose banali che poi ho ritrovato in altri forum. Il punto, secondo me, che nessuno di voi legge attentamente quello che le persone chiedono. Ci perdete poco tempo.
    Andiamo ad analizzare la mia domanda di stamane: chiedevo solo la sintassi di come tirare un dato fuori da una query con il codice. E ho inserito anche le righe di codice.
    La risposta? due link per dirmi cosa che gi sapevo, e una serie di istruzioni che ho provato ma che non hanno funzionato.
    Ho riproposto il quesito inserendo i suggerimenti dati che non hanno funzionato. Ma da parte di Alex non c' stata autocritica o volont di aiutare. E nel momento che ho "studiato" rifacendo un codice a parte e riprovandolo pi volte, mi sono deciso a riportarlo che risposta ho avuto? Devi studiare. GRAZIE BELL'AIUTO.

    Un'altra situazione che mi capitata stata quella dell'apertura di un progetto di Visualbasic. C' una cosa che ho risolto da solo, dove vi ho indicato anche come avevo fatto e dove nessuno MA DICO NESSUNO stato in grado di spiegarmi il perch della differenza tra le due aperture del progetto. Ma cos in tutte le cose che ho fatto. Tra voi moderatori o presunti tali nessuno e dico nessuno mi ha dato informazioni valide.

    Cordiali saluti

  8. #8
    Quote Originariamente inviato da tatix Visualizza il messaggio
    Ok.
    Per far capire il mio livello di programmazione, vi invito a fare un programma che risolva il sudoku (qualunque tipo anche quelli a dati ridondanti).
    Potremmo scambiarci qualche informazione su questo.
    Questo irrilevante ai fini di quanto ti stato detto. Non ti stato detto di studiare per "saper programmare" (a parte il fatto che risolvere un sudoku compito banale, ma sorvoliamo).

    Quello che mi manca non tanto il concetto di programmazione ma la sintassi dei data base.
    Non esiste una "sintassi dei database". Comincia ad usare frasi che abbiano senso.

    Ora mi serviva una semplice informazione: possibile tirare fuori un dato dalla query con il codice?
    Ma ovviamente s. Esistono tantissimi programmi che tirano fuori dati "tramite" (non dalla) query. Quindi, che domanda la tua?

    E' chiaro che tempo un paio di mesi il forum cos com' strutturato non ha ragione pi di essere (almeno per me).
    Infatti pi volte ho chiesto cose banali che poi ho ritrovato in altri forum.
    Di questo fatto ce ne faremo una ragione.

    Il punto, secondo me, che nessuno di voi legge attentamente quello che le persone chiedono. Ci perdete poco tempo.
    Il fatto che TU scrivi un bel po' di thread che hanno poco senso compiuto, a causa della tua scarsa preparazione di base. Che non una colpa, tutti sono passati da l, ma le basi si apprendono sui libri prima e dopo si dialoga con altri esponendo - in maniera appropriata - i problemi.

    In pratica, non puoi parlare di un problema di un motore di un'automobile se confondi pistoni con viti, bulloni con benzina, cinghie con ruote ...

    Andiamo ad analizzare la mia domanda di stamane: chiedevo solo la sintassi di come tirare un dato fuori da una query con il codice. E ho inserito anche le righe di codice.
    Codice completamente fuori luogo dopo che Alex ti aveva spiegato la questione del modello ad oggetti di DAO.

    La risposta? due link per dirmi cosa che gi sapevo, e una serie di istruzioni che ho provato ma che non hanno funzionato.
    Non si provano le istruzioni, si studiano.

    Non avrai codice pronto perch non sapresti come utilizzarlo.

    autocritica
    Stai dicendo sciocchezze.

    Tra voi moderatori o presunti tali nessuno e dico nessuno mi ha dato informazioni valide.
    Ma che vuol dire "presunti"? Fra l'altro, non sai spiegare i problemi n cosa fai e pretendi che questi si risolvano con la bacchetta magica?

    Cordiali saluti
    Se non desideri partecipare a questo forum, basta dirlo chiaramente.
    ℹ️ Leggi di pi su AntonioG ...

  9. #9
    tatix non  in linea Scolaretto
    Per tutti gli utenti che dovessero avere il problema di sintassi vi allego un link che risolve il problema:
    https://www.filoweb.it/quaderno/501-...da-codice-VBA-
    Qui trovate la sintassi per leggere la query.
    Quando gli asceti del forum (perch tali sono) capiranno che ci che serve il concreto e non l'astratto forse questo forum torner ad essere quello che era alcuni anni orsono.

  10. #10
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Sei partito da una cosa ed arrivi ad una richiesta differente senza ne capo ne coda.
    Non sei grezzo sbagli se pensi questo... sei proprio senza concetti e non basta postarti 2 Link ma servono quelli con la pappa pronta altrimenti non capisci quello che ti viene suggerito.
    Ti ho sempre risposto con tanto di spiegazioni di teoria quindi non puoi affatto lamentare la mancanza di supporto, piuttosto la tua estrema mancanza di basi minime rende qualsiasi suggerimento che non sia la pappa pronta una perdita di tempo.

    Facciamo cosi, questo 3D viene chiuso, ed ora monitoriamo con maggior attenzione titti i tuoi interventi e la dove sia necessario pi che dei riferimenti alla teoria che trovi su MSDN li chiudiamo tutti.
    ℹ️ Leggi di pi su @Alex ...

Discussione chiusa
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 30
    Ultimo Post: 22-05-2015, 11:46
  2. Risposte: 3
    Ultimo Post: 22-11-2011, 09:26
  3. Risposte: 3
    Ultimo Post: 02-06-2011, 14:35
  4. [Access] Aggiornare una Query
    Da tommi nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 19-02-2009, 18:25
  5. Risposte: 9
    Ultimo Post: 04-07-2008, 11:13