Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [VB6] Problemi con RecordSet DAO

    Dunque, cercherò di essere il più esauriente e chiara possibile...

    Io ho un database Access che contiene, tra l'altro, una tabella GESTIONE, che memorizza i tipi di gestione possibile per un fondo e una tabella RAPPORTI, che contiene i campi Cliente (nominativo del cliente) e Gestione (tipo di gestione tra quelle contemplate nella tabella precedente). Ogni cliente può avere più rapporti di una medesima gestione.
    Per esempio se le gestioni sono tre, A, B e C, il cliente Mario Rossi potrebbe avere due rapporti con gestione A e uno con gestione B.

    Io devo visualizzare a video un estratto conto che, dato il nome del cliente, visualizzi tutte le gestioni che ha attive (nell'esempio A e B), dividendo i movimenti effettuati a seconda del tipo di gestione.

    Per la visualizzazione avevo pensato ad una matrice di DBGrid di n elementi (ovviamente rendendone visibili tante quante erano le gestioni attive)

    Ora il mio problema è come contare queste gestioni!

    Grazie mille,
    alesssia
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  2. #2
    prova a darci la struttura delle 2 tabelle comunque da come ho capito ti conviente usare una Union all ma non saprei come scriverti la query se non "vedo" le tabelle
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    [GESTIONE]
    TipoGestione K (testo)
    Descrizione (testo)
    ValoreUnitarioQuota (numerico)

    [RAPPORTI]
    CodCliente K (numerico)
    TipoGestione K (testo)
    CodRapporto K (numerico)
    Denominazione
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  4. #4
    Scusate per il post precedente: mi è partito per sbaglio!

    Dunque, le tabelle sono così strutturate (inserisco solo i campi significativi):

    [GESTIONE]
    TipoGestione K (testo)
    Descrizione (testo)

    [RAPPORTI]
    CodCliente K (numerico)
    TipoGestione K (testo)
    CodRapporto K (numerico)
    Denominazione (testo)

    [MOVIMENTO]
    CodCliente (numerico)
    TipoGestione (testo)
    CodRapporto (numerico)

    Il campo denominazione serve a distinguere i diversi rapporti con medesima gestione.
    K indica la chiave.


    Io avevo scritto una cosa del tipo:

    codice:
    ' Apro il DataBase
     Set db = Workspaces(0).OpenDatabase(PathDb)
      
    ' Seleziono tutti i tipi di gestione
      Set rsGestioni = db.OpenRecordset("select TipoGestione from GESTIONE")
    
    ' Seleziono tutti i movimenti del cliente (indipendentemente dal tipo di gestione)
      Set rs = db.OpenRecordset(ssql)
    
    ' Conto quanti sono i tipi di gestione
    ???
    
    ' Visualizzo il numero di DBGrid necessario
    ???
    
    ' Popolo le DBGrid

    Il mio problema sono i punti interrogativi. Ammesso e non concesso che l'idea in sé sia buona : )

    Grazie per l'attenzione,
    alesssia
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  5. #5
    codice:
    SELECT RAP.CODCLIENTE 
         , RAP.TIPOGESTIONE 
         , GES.DESCRIZIONE 
         , RAP.CODRAPPORTO 
         , RAP.DENOMINAZIONE 
      FROM GESTIONE GES 
         , RAPPORTI RAP 
     WHERE RAP.CODCLIENTE = XXX 
       AND GES.TIPOGESTIONE = RAP.TIPOGESTIONE 
    ORDER BY RAP.TIPOGESTIONE, RAP.CODRAPPORTO
    non ti basta una cosa del genere :master:
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    > non ti basta una cosa del genere

    La strada che mi hai suggerito è quella giusta, anche se ho ancora qualche gatta da pelare.

    Continua a darmi l'errore:
    Tipi di dati non corrispondenti nell'espressione criterio.
    che proprio non capisco...

    Beh, non mi resta che continuare a provare : )
    Grazie mille per il tuo aiuto veramente tempestivo!!!
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  7. #7
    Prova così:
    codice:
    ' Apro il DataBase
     Set db = Workspaces(0).OpenDatabase(PathDb)
      
    ' Seleziono tutti i tipi di gestione
      Set rsGestioni = db.OpenRecordset("select TipoGestione from GESTIONE")
    
    ' Seleziono tutti i movimenti del cliente (indipendentemente dal tipo di gestione)
      Set rs = db.OpenRecordset(ssql)
      
    ' Conto quanti sono i tipi di gestione
     sSqlCnt = "Select Count(*) as NumeroDBGrid From GESTIONE GES 
         , RAPPORTI RAP 
     WHERE RAP.CODCLIENTE = XXX 
       AND GES.TIPOGESTIONE = RAP.TIPOGESTIONE 
      Group By RAP.TIPOGESTIONE "
    'NB: nella clausoa group by puoi specificare altri raggruppamenti...
    
       Set rsCountGest =db.OpenRecordset(sSqlCnt)
    
    ' Visualizzo il numero di DBGrid necessario
      NumDBGrid = rsCountGest("NumeroDBGrid")
    
    ' Popolo le DBGrid
    Ciao
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  8. #8
    Ho utilizzato un sistema leggermente diverso, ma le vostre idee sono state provvidenziali!
    Se vi interessa sembra che vada tutto, anche se è un po' presto per cantare vittoria!

    Grazie mille,
    alessia
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

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.