Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [VB 6] Problemi con DataEnvironment e DataReport

    Ciao a tutti, ho un grosso problema con un DataReport e sono piuttosto in alto mare poiché devo consegnare il lavoro entro domani, quindi mi rivolgo a chiunque abbia un po' di esperienza con i report per farmi darmi una mano.

    Ho creato un DataEnvironment, gli ho assegnato un Command (una query SQL) che ho associato ad un DataReport e quindi ho assegnato ad ogni casella di testo nel DataReport un campo del recordset. La mia difficoltà sta nel fatto che la query eseguita dal DataEnvironment è parametrizzata, nel senso che dovendo filtrare i dati le passo un parametro. Purtroppo sembra che questo parametro non venga preso in considerazione o che venga interpretato in modo errato poiché la query non restituisce alcun risultato. Più precisamente questo parametro è una data ed il database in questione è un database di Access 2000. Come "motore" della connessione utilizzo Jet 4. La query SQL è la seguente:

    SELECT reservers.associazione, reservers.cognome + " " + reservers.nome AS Nominativo, reservations.num_persone, reservations.ricevuta_conferma, reservations.ricevuta_caparra FROM reservers LEFT JOIN reservations ON reservers.id = reservations.id
    WHERE reservations.data_arrivo LIKE theDay
    ORDER BY reservations.data_arrivo

    In teoria dovrei scrivere #theDay# o #" & theDay & "# ma se utilizzo qualsiasi carattere di questo tipo il DataEnvironment non mi riconosce più il parametro. Qualcuno mi può aiutare per piacere?

    Inoltre, come faccio a far riferimento ad una label nell'intestazione del DataReport da codice? Le ho provate tutte ma non sembra vedermi alcuna label...

  2. #2
    Ho risolto il primo problema, mi resta ancora da chiedervi come posso fare riferimento a campi di testo o etichette del DataReport.

  3. #3
    NomeReport.Sections.Item(NumSezione).Controls.Item (NumControllo).Caption = TestoDaInserire
    you'll never walk alone ....

  4. #4
    Ti ringrazio, sei molto gentile, però come faccio a determinare il numero di indice della sezione e del controllo?

  5. #5
    .... questa è una domanda alla quale non so risponderti..... io sono andato a tentativi.
    Se non hai troppi controlli non è complicato...
    you'll never walk alone ....

  6. #6
    Ok, era molto semplice, accetta anche i nomi dei controlli come indici.

    Grazie, sei stato molto utile.

  7. #7
    .... Cacchio, non è giusto, io ci avevo perso mezza giornata per trovare gli indici .....

    you'll never walk alone ....

  8. #8
    Proseguo questa discussione perché ho un nuovo problema riguardante sempre lo stesso tipo di oggetti.

    Sto tentando di costruire un nuovo DataReport. Questa volta il problema mi è dato dal fatto che dovrei riuscire a stampare un recordset che mi restituisce dei record di tipo "UNO a MOLTI", nel senso che attraverso il DataEnvironment (senza, solo da codice non sono riuscito a far funzionare correttamente il report, nel senso che mi stampa sempre il primo record per tutto il numero di record).

    Il risultato che ottengo è che se un record ha più di un record correlato mi ritrovo le stesse informazioni ripetute per il numero di record correlati. Vi spiego meglio, dovrei stampare una semplice lettera che quindi prende i dati relativi ad una persona salvati in una tabella apposita. Questa lettera dev'essere completata da un certo numero di risposte relative a domande poste dalla persona, la query funziona ottimamente poiché per ogni persona mi estrae le risposte alle domande da essa poste. In fase di costruzione del record però mi ripete l'intero corpo della lettera (con i dati relativi alla persona di riferimento) per ogni risposta relativa alla persona in questione. Non c'è un modo per assegnare due Commands (Query) differenti allo stesso DataReport? E in questo caso cosa converrebbe fare? Suddividere la sezione relativa ai dettagli in due sezioni? E come si fa?

    Abbiate pazienza ma è la prima volta che mi avvicino a questi controlli e sinceramente ho provato già mille soluzioni ma evidentemente c'è qualcosa che mi sfugge...

  9. #9
    Se non ho capito male dovresti fare un raggruppamento: raggruppi in una sezione (intestazione) quei dati che devono comparire una sola volta, mentre nel corpo del report il resto dei dati (che nel report appariranno come N righe).
    Prima però devi creare nel dataenvironment un recordset raggruppato del recordset che hai utilizzato.....
    Spero di essere stato spiegato!!!!

    you'll never walk alone ....

  10. #10
    Ok, diciamo che ho abbastanza capito, ho pacioccato un po' con il DataEnvironment e ho creato un raggruppamento, sotto al mio Command (Query SQL) mi sono quindi comparse due cartelle, una di nome Summary Fields ed una Detail Fields, la prima con i campi che ho incluso io nel raggruppamento e la seconda con tutti i campi della query.

    Tornando sul report mi ritrovo nella proprietà DataMember la possibilità di scegliere tra le due "sotto-origini dati". Però sono al punto di prima, quando vado sui controlli essi fanno riferimento sempre solo al DataMember selezionato nel Report e quindi non posso cambiare origine ai miei dati...

    Azz... sarò duro ma non ci arrivo, non avresti un esempio o comunque un minuto per spiegarmi passo passo?

    Ti ringrazio per la disponibilità.

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.