Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    46

    [VB6] DataReport e manipolazione dati.

    salve a tutti

    ho un problema con i datareport che non riesco a risolvere, e cioè, non riesco a modificare il formato del dato che recupero da un campo di una tabella.

    Esempio

    nella tabella registrazioni ho il campo data in formato testo yyyymmdd. ovviamente, per visualizzare questo dato in stampa devo utilizzare il formato dd/mm/yyyy. Ho cercato di applicare lo stesso criterio che mi permette di visualizzare correttamente il dato in un txtbox o in una label ma il risultato è nullo!

    NB: utilizzo un db access 2k al quale accedo tramite le librerie ado 2.5 e che per l'associazione dei campi della tabella ai textbox del datareport non utilizzo il datalink ma scrivo il codice a manina!


    Grazie a tutti!
    gs

  2. #2
    Ciao...


    perchè nella tabella la tua data è in formato testo?
    non ti converrebbe darle direttamente da access il formato "Data/Ora dd/mm/yyyy"???
    :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    46
    inizialmente il campo data della tabella era di tipo data (dd/mm/yyyy), ma così facendo ho notato che creando una query del tipo 'select * from tabella where data between ecc....' non ottenevo realmente i dati che la query avrebbe dovuto restituire.
    a questo punto ho voluto utilizzare il sistema delle date in campo testo e al contrario: la query funziona alla grande! :tongue:
    gs

  4. #4
    aspetta un momento... anche sul progetto a cui sto lavorando io ho bisogno di eseguire query con between, ma a me funzionano benissimo anche col formato data/ora sulla tabella.
    mi dispiace che ora non ho il progetto sotto mano altrimenti ti avrei postato l'sql, comunque sono sicura che alcuni miei amici qui sul forum leggerano il tuo post e ti aiuteranno.
    domani avrai risolto il tuo problema; e se così non fosse, sarò ben lieta di aiutarti io martedi.


    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    46
    prova a fare questa:
    select * from data where data between #01/01/2002# and #03/01/2002#
    access la fa diventare così:
    select * from data where data between #01/01/2002# and #01/03/2002#
    gs

  6. #6


    ehi, allora hai risolto il tuo problema?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    46
    momentaneamente ho risoloto cosi:
    select (right(data,2) & "/" & mid(data,5,2) & "/" & left (data,4)) as mydate from registrazioni

    a questo punto associo al txtbox del datareport il campo (espressione) mydate e funziona, anche se non sono molto convinto della validità di tale soluzione.
    mi hanno suggerito una cosa che si chiama 'databinding', di cosa si tratta? vorrei capirci meglio.

    a .... dimenticavo..... risolto un prob ne viene fuori un altro:
    il txtbox del datareport non ha la proprietà text.... ciò significa che se devo fare un semplice if txtbox.text = "1" then label1 = "Ciao" e via dicendo non mi funziona. come lo risolvo?

    ps per ladyblu: grazie
    gs

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    46
    ho trovato un'altra soluzione, a mio avviso migliore:

    Option Explicit
    Dim WithEvents mydate As StdDataFormat

    -------------------------------------------------

    Private Sub DataReport_Initialize()

    Set mydate = New StdDataFormat

    Set Me.Sections("section1").Controls("boxdata").DataFo rmat = mydate

    End Sub

    -------------------------------------------------

    Private Sub mydate_Format(ByVal DataValue As StdFormat.StdDataValue)

    DataValue.Value = Right(DataValue.Value, 2) & "/" & Mid (DataValue.Value, 5, 2) & "/" & Left(DataValue.Value, 4)

    End Sub

    --------------------------------------------------
    Ovviamente la proprietà datafield del boxdata è il campo data del recordset associato al datareport come datasource.
    Posso fare anche altre cose..... :gren:
    gs

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 © 2024 vBulletin Solutions, Inc. All rights reserved.