Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    138

    settare query aggiornabile visual basic 6

    buongiorno a todos! . c è il modo di rendere aggiornabile una query fatta da visual basic 6 ad un mdb access?

    bisogna settare qualcosa? grazie ciao!!!

  2. #2
    Utente di HTML.it L'avatar di Pista
    Registrato dal
    May 2009
    Messaggi
    28

    settare query aggiornabile visual basic 6

    Spiegati meglio...
    Vuoi aggiornare una queri in un mdb? o cosa?

    Ciauz

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    138
    ciao e grazie x l'interesse

    allora ho un db popolato e tramite una query voglio modificare dei valori. però ho come risultato output un messaggio che mi avvisa che mi serve una query aggiornabile

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Ma se non mostri il codice della query, e altre informazioni utili, che possiamo risponderti?

  5. #5
    Utente di HTML.it L'avatar di Pista
    Registrato dal
    May 2009
    Messaggi
    28

    settare query aggiornabile visual basic 6

    Sì è fondamentale che tu ci dia maggiori dettagli o meglio il codice sql.

    Ciauz

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    138
    provvedo subito! scusatemi

    allora ho una tabella che contiene nomevoce, larghezza, altezza, area (fa prodotto di altezza per larghezza senza che io inserisca il lavore). da un form quindi inserisco nel db
    solo nome, altezza e larghezza ed in automatico popolo anche la colonna area.

    nella mia tabella ho anche la prima stringa che ha come nome TOT e nella colonna AREA della rispettiva stringa, voglio che in automatico ad ogni inserimento di aree nella tabella, facesse la somma. non dovrebbe essere impossibile perchè io dico al db tramite query:

    fammi la somma di tutti i valori diversi da "" (vuoto)



    update tabella set area=(select sum(area) from tabella1) where nome='TOT'


    se sbaglio ( e sicuramente sbaglio) fatemi sapere!!

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    allora ho una tabella che contiene nomevoce, larghezza, altezza, area (fa prodotto di altezza per larghezza senza che io inserisca il lavore). da
    Area mi pare un campo inutile, oltre a correre il rischio di non avere dati congrui.
    Se, per caso, capita che aggiorni larghezza oppure altezza oppure entrambe, sei costretto ad aggiornare sempre anche Area, quando per avere l'informazione basta calcolare il campo 'al volo'.

    nella mia tabella ho anche la prima stringa che ha come nome TOT
    Che significa?

    io dico al db tramite query:
    fammi la somma di tutti i valori diversi da "" (vuoto)
    Dove lo dici? Quando?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    138

    FF

    allora io ho la tabella che vedete nell immagine. mi interessa che nella stringa dove il nome è TOT, venga riportata la somma delle aree di sotto compilate. quindi io farei una cosa del genere

    update tabella set area=(select sum(area) from tabella) where nome =TOT;


    il problema è sempre lo stesso.. dovrei formulare una query aggiornabile a quanto ho capito. ma non so come fare.
    Immagini allegate Immagini allegate

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Mi era sfuggito che usi un database MDB (Access).

    A parte questo, la query è in ogni caso sbagliata perchè è necessario usare un'alias nella SELECT interna, per cui dovrebbe essere:

    codice:
    UPDATE nometabella
    SET area= (SELECT SUM(b.area) FROM nometabella b) 
    WHERE nome='TOT'
    Mentre in SQLServer funziona perfettamente, anche se è necessario fare il CONVERT sul campo AREA in quanto tutti i campi sono definiti di testo (cosa che non ha alcun senso!)

    codice:
    UPDATE nometabella
    SET area= (SELECT SUM(CONVERT(Int, b.area)) FROM nometabella b) 
    WHERE nome='TOT'
    invece in un MDB che ha dei limiti non sembra possibile eseguirla, almeno io non ci sono riuscito nemmeno ricreando la tabella usando i tipi corretti per i campi.
    Per cui mi sa che devi 'incartartela' ed aggirare il problema, ovvero:

    1. prima devi eseguire la SELECT per ottenere il valore dell'area
    codice:
    Dim rs As ADODB.Recordset
    Set rs = CN.Execute("SELECT SUM(area) As Totale FROM tabella")
    (verifica che ti restituisca il recordset con il valore corretto)

    2. poi aggiornare il valore
    codice:
    CN.Execute "UPDATE nometabella SET area=" & rs("Totale).Value & " WHERE nome = 'TOT'"



  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    138
    grazie gibra per il tuo aiuto!!
    ma non ho risolto.
    da errore. esattamente il 424. necessario oggetto!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.