Problemi di compatibilità access 2010 e 2013

di il
10 risposte

Problemi di compatibilità access 2010 e 2013

Ciao a tutti. Ho un problema. Ho prodotto un applicativo con Access 2010 sp 2, che collego ad una base dati in MySql. In un form mi serve fare la ricerca per data e ora in un determinato campo. Utilizzando l'applicativo in Access 2010 tutto funziona bene, mentre se lo apro in Acces 2013 funziona tutto tranne la ricerca per data e ora.
Preciso che distribuisco il file compilato accde e che non posso passare allo sviluppo con il 2013 per un problema di compatibilità con la maggior parte delle macchine che lo usano.
Inoltre preciso che la query di ricerca su mysql è la classica ricerca con la funzione BETWEEN AND.

Qualcuno può aiutarmi?

10 Risposte

  • Re: Problemi di compatibilità access 2010 e 2013

    Il tuo primo messaggio lo scrivi in un thread già esistente che tratta tutt'altro argomento!?
    Come mai questa strana scelta?
  • Re: Problemi di compatibilità access 2010 e 2013

    MTAccess ha scritto:


    Il tuo primo messaggio lo scrivi in un thread già esistente che tratta tutt'altro argomento!?
    Come mai questa strana scelta?
    Scusa non ho capito, cosa ho combinato?
  • Re: Problemi di compatibilità access 2010 e 2013

    Scusate non ho capito...ho sbagliato il nome del thread? Non sono stato chiaro nell'esposizione del problema? È un argomento che non riguarda questo forum?
    Come mai non ricevo risposta? Anche se solo una richiesta di approfondimento....
    ditemi qualcosa......
  • Re: Problemi di compatibilità access 2010 e 2013

    Prova a leggere i seguenti link (sulle possibili motivazioni per il mancato funzionamento del criterio fra le date):
    https://support.office.com/en-us/article/Date-criteria-doesn-t-work-in-my-query-04d97845-3124-43fe-93cd-9c78670fef76
    https://answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_winother-mso_2013_release/why-has-date-stopped-working-in-access-2013/62f52fbb-e846-447f-af38-1f5b52e314d8?auth=1
  • Re: Problemi di compatibilità access 2010 e 2013

    willy55 ha scritto:


    Prova a leggere i seguenti link (sulle possibili motivazioni per il mancato funzionamento del criterio fra le date):
    https://support.office.com/en-us/article/Date-criteria-doesn-t-work-in-my-query-04d97845-3124-43fe-93cd-9c78670fef76
    https://answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_winother-mso_2013_release/why-has-date-stopped-working-in-access-2013/62f52fbb-e846-447f-af38-1f5b52e314d8?auth=1
    Grazie Willy per l'interessamento.

    Ho letto tutto, il mio problema però non è la correttezza della forma della query sulle date. Infatti sul 2010 tutto funziona bene. Il problema è che quando vado ad utilizzare l'applicativo compilato sul 2013 il filtro non funziona. Il brutto è che non mi dà nessun errore, semplicemente mi restituisce la tabella dell'intero periodo senza applicare il filtro che ho impostato con il Vba.

    Vi mostro il codice del tasto filtro per data:

    Private Sub CmdFiltroPeriodo_Click()

    On Error GoTo Errore

    Dim DataDal As Date
    Dim DataAl As Date
    Dim Str As String

    If IsNull(Me.TxtDataDal) Or Me.TxtDataDal = "" Then
    MsgBox "Inserire la data di partenza", vbCritical, "Attenzione data mancante"
    Me.TxtDataDal.SetFocus
    Exit Sub
    End If

    If IsNull(Me.TxtDataAl) Or Me.TxtDataAl = "" Then
    MsgBox "Inserire la data di fine", vbCritical, "Attenzione data mancante"
    Me.TxtDataAl.SetFocus
    Exit Sub
    End If

    DataDal = Format(Me.TxtDataDal, "mm/dd/yyyy hh.mm.ss")
    DataAl = Format(Me.TxtDataAl, "mm/dd/yyyy hh.mm.ss")

    Me.TxtDal = DataDal
    Me.TxtAL = DataAl

    Str = "DELETE TabAppEventi.* FROM TabAppEventi"
    DoCmd.RunSQL Str

    Str = "INSERT INTO TabAppEventi SELECT tabeventi.* FROM tabeventi WHERE DataEvento BETWEEN #" & DataDal & "# AND #" & DataAl & "#"
    DoCmd.RunSQL Str

    Str = "SELECT TabAppPersStatPP.*, tabprocedimento.*, tabreati.Tipologia, tabreati.Articolo FROM tabreati RIGHT JOIN (TabAppPersStatPP RIGHT JOIN tabprocedimento " & _
    "ON TabAppPersStatPP.ProcPenColl = tabprocedimento.Proc_Pen) ON tabreati.ProcPenReato = tabprocedimento.Proc_Pen " & _
    "WHERE tabprocedimento.DataCreazione BETWEEN #" & DataDal & "# AND #" & DataAl & "#"

    Me.RepStatisticheProcedimentiPenali.Report.Report.RecordSource = Str

    If Me.ControlloArchiviati.Value = -1 Then

    Me.RepStatisticheProcedimentiPenali.Report.Report.Filter = ""
    Me.RepStatisticheProcedimentiPenali.Report.Report.FilterOn = False
    Me.RepStatisticheProcedimentiPenali.Report.Requery

    Else

    Str = "Archiviato = 0"

    Me.RepStatisticheProcedimentiPenali.Report.Report.Filter = Str
    Me.RepStatisticheProcedimentiPenali.Report.Report.FilterOn = True
    Me.RepStatisticheProcedimentiPenali.Report.Requery

    End If

    Str = "DELETE TabAppReati.* FROM TabAppReati"
    DoCmd.RunSQL Str

    Str = "INSERT INTO TabAppReati SELECT tabreati.* FROM tabreati WHERE Data BETWEEN #" & DataDal & "# AND #" & DataAl & "#"
    DoCmd.RunSQL Str

    Me.GraficoReati.Requery
    Me.RepStatisticheEventiTipologia.Requery
    Me.RepStatisticheEventiSezione.Requery
    Me.RepStatisticheProcedimentiPenali.Requery

    Exit Sub

    Errore:

    MsgBox Err.Description

    End Sub

    Questo codice crea una query come base dati per un report e inserisce dati in due tabelle di appoggio per altri due report.
    Secondo voi perché sul 2010 funziona benissimo e quando uso il 2013 con il file compilato mi restituisce i report per tutto il periodo senza applicare il filtro su data?
  • Re: Problemi di compatibilità access 2010 e 2013

    Devi cercare di controllare che, nella versione Access 2013 (ACCDE) vengano effettuate le operazioni preventivate.
    Poni dei messaggi che seguano il codice nel suo evolversi.
    Ad esempio verifica il contenuto della stringa Str che vai a costruire per eseguire la query in modo da controllare che contenga il corretto criterio con cui vai ad estrarre i valori fra le date.
  • Re: Problemi di compatibilità access 2010 e 2013

    willy55 ha scritto:


    Devi cercare di controllare che, nella versione Access 2013 (ACCDE) vengano effettuate le operazioni preventivate.
    Poni dei messaggi che seguano il codice nel suo evolversi.
    Ad esempio verifica il contenuto della stringa Str che vai a costruire per eseguire la query in modo da controllare che contenga il corretto criterio con cui vai ad estrarre i valori fra le date.
    Consiglio perfetto, stavo facendo proprio quello che hai detto, controllando la routine su 2010, ed ho trovato un piccolo bug.....le espressioni di And delle date devono essere messe tra parentesi. Domani provo sul 2013 e ti faccio sapere. Grazie di cuore
  • Re: Problemi di compatibilità access 2010 e 2013

    Niente, non va. Ho provato a fare una modifica alle variabili delle date e orario ma non funziona. Non riesco a capire se è un problema connesso alla query che nel 2013 deve essere scritta in modo diverso (ma non credo visto che la base dati rimane sempre la stessa mysql) oppure se è un problema di impostazione delle variabili che nel 2013 hanno dei valori modificati rispetto al 2010.

    Idee???
  • Re: Problemi di compatibilità access 2010 e 2013

    Puoi provare a portare i dati in locale, magari, con una semplice tabella all'interno del file Access, al fine di determinare se sia un problema di conversione, con le date del driver che gestisce la connessione al server MySql .
    Puoi anche valutare se rendere disponibile un demo del tuo DB (descrivendo il punto ove trovi l'inconveniente) in modo che chi sia interessato possa verificare l'inconveniente.
  • Re: Problemi di compatibilità access 2010 e 2013

    willy55 ha scritto:


    Puoi provare a portare i dati in locale, magari, con una semplice tabella all'interno del file Access, al fine di determinare se sia un problema di conversione, con le date del driver che gestisce la connessione al server MySql .
    Puoi anche valutare se rendere disponibile un demo del tuo DB (descrivendo il punto ove trovi l'inconveniente) in modo che chi sia interessato possa verificare l'inconveniente.
    Grazie Willy dell interessamento.
    Ho tagliato la testa al toro ed ho provato a far girare il file accdb nel 2013 ed ho capito che il problema sta in due dll mancanti, devo però studiare di preciso quali sono. A questo punto non riesco a capire questa Microsoft che nelle versioni successive di un Access, non inserisce delle librerie per la programmazione in automatico. Devo però approfondire quali sono in dettaglio queste librerie che , più che mancanti, sono diverse nel 2013 rispetto al 2010.
Devi accedere o registrarti per scrivere nel forum
10 risposte