[Risolto] Problema linkaggio BE-FE tramite funzione

di il
25 risposte

25 Risposte - Pagina 2

  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    E' un termine che non trovi come definizione tecnica specifica... viene dall'inglese e si intende una cosa Fittizia... in sostanza una Tabella di servizio non di struttura, usata solo per scopi secondari, in questo caso per tenere attiva nel POOL la connessione.

    Direi che 4 secondi sono ottimi.

    @Alex
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    @Alex ha scritto:


    E' un termine che non trovi come definizione tecnica specifica... viene dall'inglese e si intende una cosa Fittizia... in sostanza una Tabella di servizio non di struttura, usata solo per scopi secondari, in questo caso per tenere attiva nel POOL la connessione.

    Direi che 4 secondi sono ottimi.

    @Alex
    Ah okok perfetto...quindi posso creare una tabella vuota con un solo campo e la utilizzo per questo...questo "giochetto" di aprire una connessione fittizia per velocizzare il linkaggio vale solo per questa operazione?

    Cmq grazie mille Alez
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    Ovviamente si, e se la apri all'avvio e lo chiudo all'uscita... ottieni vantaggi anche in apertura maschere ed esecuzione queries...
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    Perfetto! Mi adopero subito in tl senso anche se ho riscontrato un fastidioso problemino ma penso che devo aprire un altro 3d

    Grazie infinite alex
    Quindi in una funzione che si "attiva" all'apertura del db imposto la connessione ad una tabella "dummy" e per chiudere tale connessione? posso spezzettare una function che, dopo l'apertura del db mi apre la connessione ed esce dalla funzione ed un altra che la chiude all'uscita?

    Nel senso ho provato così ma giustamente non funge. Ho commentato la chiusura dei 2 oggetti nella function di linkaggio per poi inserirli in una nuova ma mi manca qlk passaggio...nel senso non so come legarla alla funzione "madre"
    Public Function getCloseDummyConnection()
    Dim dbExt       As DAO.Database
    Dim rsDummy     As DAO.Recordset
    rsDummy.Close
    dbExt.Close
    End Function
    EDIT: ho fatto una prova aprendo il db senza chiudere la connessione e la velocità di interazione è impressionante!
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    Gli oggetti database e recordset devono essere dichiarati Public in un modulo ... così come hai fatto non può andare...
    
    Option Explicit
    Option Compare Database
    
    Public dbExt As DAO.Database 
    Public rsDummy As DAO.Recordset
    
    Public Function DummyConnection(Optional Close As Boolean) As Boolean
       If  Not Close Then
           If dbExt is Nothing then 
              Set set dbext=...
           End if
           If rsDummy is Nothing then
              Set rsDummy=dbExt.Openrecordset.....
           End If
        Else
            If not dbExt is Nothing then 
               DbExt.close
               Set dbext=Nothing
            End If
            If not rsDummy is Nothing then
               RsDummy.close
               Set rsdummy=Nothing
            End if
        End if
     End function
    È abbozzata dal telefono... quindi verifica la sintassi... manca la gestione errori... che ovviamente serve sempre...
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    Alex grazie ancora per il supporto. Per la gestione errori ho creato una funzione da richiamare che può sempre essere utile per diverse form mentre, per il codice mi da errore proprio nella dichiarazione della function, problema di riferimenti?
    Option Compare Database
    Option Explicit
    
    Public dbExt As DAO.Database
    Public rsDummy As DAO.Recordset
    
    Public Function DummyConnection(Optional Close As Boolean) As Boolean	<----- problema qui
    On Error GoTo LblErr
    
    Dim strPercorso As String
    
        strPercorso = CurrentProject.Path & "\"  
        LinkBE = strPercorso & "GestioneDati.accdb"
        
        
        If NotClose Then
            If dbExt Is Nothing Then
                Set dbExt = OpenDatabase(LinkBE)
            End If
            If rsDummy Is Nothing Then
                Set rsDummy = dbExt.OpenRecordset("tblAzienda", dbOpenSnapshot, dbReadOnly)
            End If
        Else
            If Not dbExt Is Nothing Then
                dbExt.Close
                Set dbExt = Nothing
            End If
            If Not rsDummy Is Nothing Then
                rsDummy.Close
                Set rsDummy = Nothing
            End If
        End If
    
    LblErr:
    getGestioneErrori
    End Function
    Inoltre basta quindi richiamarla all'apertura e richiamarla alla chiusura, giusto? Poichè se aperta si chiude
    EDIT: ho rieditato inserendo la dichiarazione della variabile LinkBE altrimenti non avrebbe girato comunque..
    RE-EDIT: lanciando la compilazione, mi segnala, evidenziandomi il Close, Errore di compilazione - Previsto:identificatore
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    Manca Exit Function altrimenti va sempre alla chiamata errore ancge senza motivo...

    Guarda NotClose... manca lo spazio.... Not Close

    Alla chiusura ovviamente passi True come parametro...
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    Eccomi qui, sto provando quanto suggerito però ancora non va, mi segnala lo stesso errore...anche dopo aver inserito Exit Function dopo End if
    Staccando il NotClose invece me lo segnala in rosso....potrebbe errere un problema di versioni? Utilizzo la 2007
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    Public Function DummyConnection(Optional Close As Boolean) As Boolean <----- problema qui
    Magari invece di utilizzare Close (parola riservata) come nome del parametro prova a chiamarlo bClose (prefisso 'b' come boolean)
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    max.riservo ha scritto:


    Public Function DummyConnection(Optional Close As Boolean) As Boolean <----- problema qui
    Magari invece di utilizzare Close (parola riservata) come nome del parametro prova a chiamarlo bClose (prefisso 'b' come boolean)
    Grazie mille Max, ho fatto come suggerito ed il problema è risolto!!!
    Grazie infinite per la disponibilità di entrambi!!!
  • Re: [Risolto] Problema linkaggio BE-FE tramite funzione

    max.riservo ha scritto:


    Public Function DummyConnection(Optional Close As Boolean) As Boolean <----- problema qui
    Magari invece di utilizzare Close (parola riservata) come nome del parametro prova a chiamarlo bClose (prefisso 'b' come boolean)
    Bravo Max immaginavo potesse essere quello... ma dal telefono non faccio debug...
Devi accedere o registrarti per scrivere nel forum
25 risposte