Visualizzazione dei risultati da 1 a 10 su 25

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    apridb è il nome della Sub, non può essere ANCHE il nome di una connessione.

    Devi prima dichiarare una variabile globale, quindi Pubblic, di tipo Connection, in un modulo BAS. Esempio:
    codice:
    Public CN As ADODB.Connection
    Poi potrai usarla nella tua Sub, per cui
    codice:
    Set CN = New ADODB.Connection

    N.B. Il parametro nella Sub è completamente sbagliato, deve essere una stringa che identifica il nome del database.


  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    Quote Originariamente inviata da gibra Visualizza il messaggio
    apridb è il nome della Sub, non può essere ANCHE il nome di una connessione.

    Devi prima dichiarare una variabile globale, quindi Pubblic, di tipo Connection, in un modulo BAS. Esempio:
    codice:
    Public CN As ADODB.Connection
    Poi potrai usarla nella tua Sub, per cui
    codice:
    Set CN = New ADODB.Connection

    N.B. Il parametro nella Sub è completamente sbagliato, deve essere una stringa che identifica il nome del database.


    Chiedo scusa, forse il caldo, ho sbagliato il copia ed incolla.
    codice:
    public sub apridb (byval nomedb as adodb.connection)
         Set nomedb = New Connection
          nomedb .CursorLocation = adUseClient
    
        
        nomedb .Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=miodatabase;Jet OLEDB:Database Password=" 
    
    end sub

    richiamo con
    codice:
    apridb dbarchivio
    dove, in un modulo, ho

    codice:
     public dbarchivio as adodb.connection

  3. #3
    Quote Originariamente inviata da benjy Visualizza il messaggio
    codice:
    public sub apridb (byval nomedb as adodb.connection)
         Set nomedb = New Connection
          nomedb .CursorLocation = adUseClient
    
        
        nomedb .Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=miodatabase;Jet OLEDB:Database Password=" 
    
    end sub

    richiamo con
    codice:
    apridb dbarchivio
    dove, in un modulo, ho

    codice:
     public dbarchivio as adodb.connection
    IMHO, ti conviene convertire la sub in una function che ha come parametro almeno la *stringa* di connessione e restituisce una adodb.connection.

    P.S.
    potrebbe funzionare anche con la sub che hai fatto tu se invece di passare la connection ByVal la passi ByRef sulla cui differenza ti consiglio di documentarti approfonditamente.

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da benjy Visualizza il messaggio
    Chiedo scusa, forse il caldo, ho sbagliato il copia ed incolla.
    Sarà anche il caldo, ma il tuo codice è comunque tutto sbagliato.
    E visto che non hai fatto alcuna domanda su ciò che ti è stato indicato, dubito molto che tu sappia cosa stai scrivendo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    Quote Originariamente inviata da gibra Visualizza il messaggio
    Sarà anche il caldo, ma il tuo codice è comunque tutto sbagliato.
    E visto che non hai fatto alcuna domanda su ciò che ti è stato indicato, dubito molto che tu sappia cosa stai scrivendo.
    Caro Gibra, con tutta la stima che ho per te e per il tuo lavoro, ma... questo post dove affermi che è tutto sbagliato e che non so cisa sto scrivendo, non è riferito al codice che ho riportato dopo aver fatto la battuta del caldo, giusto? Altrimenti sarebbe poco rispettoso, visto che quelle istruzioni sono corrette se prese al di fuori del tentativo di parametrizzarle, giusto? Ovvero: se io avessi una routine
    codice:
    private sub prova
     dim nomedb as adodb.connection
    Set nomedb = New Connection
          nomedb .CursorLocation = adUseClient
    
        
        nomedb .Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=miodatabase;Jet OLEDB:Database Password="
    ... questa funzionerebbe (anzi, funziona) normalmente. Magari non è il massimo della codifica, però funge.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    ...
    Ultima modifica di oregon; 27-07-2018 a 18:22
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Vedi che ti ha detto Gibra sulla "variabile globale" ... nella Sub ne usi un "locale" ... studia le differenze.

    E poi, nomedb non è un nome di variabile appropriato da associare ad una connessione.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Vedi che ti ha detto Gibra sulla "variabile globale" ... nella Sub ne usi un "locale" ... studia le differenze.

    E poi, nomedb non è un nome di variabile appropriato da associare ad una connessione.
    No no, ho letto il post dove mi faceva notare che avevo sbagliato completamente, daccordissimo. Ma, effettivamente mi sono accorto che non l'ho specificato, nel post del caldo ho voluto riportare il codice corretto, dando per scontato che, come si dice in gergo per la fatture, annullava e sostituiva il precedente, Gibra lo sa che lo rispetto e, ancor di più, quando evidenzia gli errori che commetto, come nel primo post, ma io avevo capito che era rivolto anche al codice sostitutivo. Chiedo venia, non me ne vogliate.... Solo errata interpretazione.

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.