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

    Prossima partia e partita precedente

    Ciao a tutti ho salvato il calendario sportivo di una squadra di calcio in un db accesso cosi composto

    evento campo di testo dove viene inserito l'evento (campionato amichevole torneo)
    cday campo numerico dove salvo il giorno dell'evento
    cmonth campo numerico dove salvo il mese dell'evento
    cyear campo numerico dove salvo l'anno dell'evento
    avversari campo di testo con nome squadra

    Vorrei far visualizzare la prossima partita di campionato e l'iltima partita di campionato giocata
    come posso fare ?

    grazie ancora
    giro

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    hai un campo contatore per gli eventi? o comunque un identificativo univoco progressivo? se non l'hai, puoi crearlo?

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    sarebbe comunque meglio avere un campo data per gli eventi più un campo contatore.
    semplifichi le query inerenti alla data dell'evento e puoi identificarlo con semplicità.

  4. #4
    Grazie per la risposta si ho un campo univico chiamato idcalendario dove salvo tutti gli eventi previsti dalla squadra
    ovvero
    codice:
    idcalendario  stagione  avversari           cday   cmounty  cyear          avversari
    1                   14        allenamento        3           3         2014             allenamento
    2                   14       campionato           8          3        2014            Real Madrid
    3                   14        amichevole           13           3         2014             Arsenal
    4                   14       campionato           18          3        2014            blabla
    il db è strutturato in questo modo
    devo inserire un campo data ?
    giro

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    se usi un campo data hai la progressione temporale degli eventi anche in caso di modifica del record.

    quindi potrai, con semplicità, ottenere la progressione prima/dopo

    poi interroghi per ottenere (sempre in base alla data) l'id precedente e quello successivo e il gioco è fatto

  6. #6
    il campo data in che formato lo metto? mm/gg/yyyy

    unico problema che gli eventi sono gia stati caricati andro a modificarlo manualmente manualmente...
    giro

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    io lavoro con la data italiana, dd/mm/yyyy, ma bisogna forzare il formato per farglielo digerire ad access se si vuol mantenere l'aspetto gg/mm/aaaa. altrimenti si confonde se i numeri del giorno e del mese sono inferiori a 13.

    puoi sempre fare una query per aggiornare il capo data coi valori che hai spezzettato.
    se non si tratta di milioni di record l'operazione dura pochi istanti/secondi.

  8. #8
    scusa cosa intendi per " forzare il formato" ?
    nel db access dovrei mettere campo data formato data in cifre
    o potrei metterlo come campo di testo e inserire il formato data in italiano ovvero gg/mm/yyyy ?
    per aggiornare usero un qry tanto i record sono meno di 50....
    giro

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    per la data è bene usare in campo data (che in access è anglosassone).
    per questo, per ottenere la scrittura nella forma dd/mm/yyyy, devi forzare il formato.

    es: se la data è 2 marzo 2015 in origine avrai 02/03/2015
    se la inserisci così com'è, access registrerà febbraio 3 2015
    se invece la data è 13/03/2015 registrerà marzo 13 2015
    (essendo che non esiste il 13° mese, access interpreta e corregge il valore in arrivo)

    per fargliela "capire" dovrai inserirla così: Data=format(#"&Data&"#,'mm/dd/yyyy')
    così avrai sempre la scrittura del valore nel formato italiano
    stesso discorso il fase di lettura.
    sempre che tu preferisca questo formato


    se invece vuoi usare un campo testo:
    meglio che usi il formato aaaa/mm/gg o aaaa-mm-gg, altrimenti ti perdi la progressione
    diventa indispensabile utilizzare due cifre sia per il giorno che per il mese.

  10. #10
    ok ho seguito il tuo consiglio e ho creato un capo data nel database aggiornandolo con una qry in modo di avere le date in formato italiano
    es
    01/01/2014
    05/08/2014 etc. etc
    sto facendo la qry per interrogare il db con gli eventi precedenti ad oggi ho scritto il seguente codice
    codice:
    SQL="SELECT * FROM calendario  where format(#"& data &"#,'mm/dd/yyyy') < format(#"& oggi &"#,'mm/dd/yyyy')order by idcalendario
    con oggi ho la data di oggi 11/09/2015

    riscontro il seguente errore

    Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nella data nell'espressione della query 'format(##,'mm/dd/yyyy') < format(#'&oggi&'#,'mm/dd/yyyy')'.
    giro

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.