Newsgroup: it.comp.appl.access
Titolo: [Access XP] Runtime e VBA

Salve,
ho alcuni problemi riguardo l'esecuzione di codice VBA in un DB Access XP
con il relativo Runtime (sempre XP).
L'installazione è stata fatta correttamente (S.O. Windows 98 SE, DCOM98,
MDAC 2.7, Runtime,  partendo da tabula rasa).
Il problema si propone quando per mezzo della macro AutoExec faccio eseguire
una funzione (ImpostaStartUp()) che inizializza una serie di dati e crea
alcune directori.
Il codice è il seguente:
'    On Error Resume Next
'Non funzione ne con la gestione dell'errore ne senza.
    Dim rstAziende, rstTipiProtocollo As Recordset
    Set rstAziende = New ADODB.Recordset
    rstAziende.CursorType = adOpenKeyset
    rstAziende.LockType = adLockOptimistic
'Errore
    rstAziende.Open "tblAziende", CurrentProject.Connection, , , adCmdTable
'Fine Errore
    Set rstTipiProtocollo = New ADODB.Recordset
    rstTipiProtocollo.CursorType = adOpenKeyset
    rstTipiProtocollo.LockType = adLockOptimistic
    rstTipiProtocollo.Open "tblTipiProtocollo", CurrentProject.Connection, ,
, adCmdTable
L'errore si solleva all'apertura del recordset.
Vi sono per caso alcune limitazioni in ciò che si può fare con l'Access
completo e quello che si può fare con il solo runtime, dal punto di vista
del codice VBA che si può eseguire?
Ringrazio nticipatamente tutti quelli che mi sapranno aiutare.

     Dim rstAziende, rstTipiProtocollo As Recordset
Così RstAziende è dichiarato come Variant.
Cambia qualcosa con:
Dim rstAziende as recordset, rsttipiprotocollo as recordset
Ma forse il tuo problema è un altro: potrebbero esserci Lost References o
non essere stata registrata correttamente la libreria di oggetti ADO.
Ciao.

 con il relativo Runtime (sempre XP).
Scusa, ma l'hai acquistata regolarmente la versione DEV?

 wrote in message
news:9d2B9.32191$8E3.9...@twister2.libero.it...

Si.
Devo dire che l'ho presa solo per il runtime di Access e l'MSDE 2000 (non
penso di esssere il solo... )
Mi ha un po'  deluso perchè sulla macchina di sviluppo mi ha creato vari
problemi all'installazione ed ho perso 2 gg per riuscire a creare un
pacchetto di installo (solo per creare il runtime completo da distribuire
alla fin dei conti.)

 alla fin dei conti.)
Per questo ti consigliavo di usare qualcos'altro per il Setup dei programmi.
Comunque secondo me i problemi che incontri (presumo di registrazione
librerie ADO) non dovrebbero verificarsi con Win > 98: avevo problemi simili
solo su quella versione con MOD 2000.
Ciao.

 solo su quella versione con MOD 2000.
Farò delle prove con codice diverso (ADO e DAO) e a verificare l'effettiva
registrazione di ADO.
Grazie.

 si piantava prima.
Impossibile, il pacchetto Runtime non viene assemblato dal tuo PC: ha un suo
installer separato.
In verità se si utilizza Inno Setup o roba simile, l'autocomposizione di MOD
per la preparazione pacchetti può essere del tutto scartata.
Ciao.

 per la preparazione pacchetti può essere del tutto scartata.
Questo è certo, viste le rotture che mi ha creato.
Saluti e grazie.

 librerie.
Hai ragione: ormai faccio confusione tra tre diverse realese Developer!

 wrote in message
news:1OnB9.2414$Ka3....@twister1.libero.it...

Sai, dopo una notte insonne (ho fatto le 3 e mezza) la mattina dopo mi sono
alzato con una rivelazione in mente e sono riuscito a risolvere il problema
del codice che si inchioda.
Il problema consistenva nella connessione che utilizzavo per accedere alle
tabelle (utilizzavo CurrentDB.Connection, una connessione JET con una 4
righe di parametri), ho scaricato il software della MS per il controllo
della versione di ADO ( e Jet) installata per verificare se c'era realmente
ADO e poi ho sostituito il codice che non andava con questo:
   Dim rstAziende As Recordset
    Dim rstTipiProtocollo As Recordset
    Dim strConn As String
    strConn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &
GetCurrentDir() & "ArchivioProt.mdb"
    Set rstAziende = New ADODB.Recordset
    rstAziende.CursorType = adOpenKeyset
    rstAziende.LockType = adLockOptimistic
    rstAziende.Open "SELECT * FROM tblAziende", strConn, adOpenKeyset,
adLockOptimistic
    Set rstTipiProtocollo = New ADODB.Recordset
    rstTipiProtocollo.CursorType = adOpenKeyset
    rstTipiProtocollo.LockType = adLockOptimistic
    rstTipiProtocollo.Open "SELECT * FROM tblTipiProtocollo", strConn,
adOpenKeyset, adLockOptimistic
Ora va che è una meraviglia.
Grazie e saluti.

 Ora va che è una meraviglia.
Fa piacere :-)
Una domanda: ma com'è che con Full Acess sul PC di sviluppo funzionava?

 Una domanda: ma com'è che con Full Access sul PC di sviluppo funzionava?
Gran bella domanda.
Il PC di sviluppo è un Windows 2000 SP3. Il client su cui ho testato è un
Win 98.
L'unica cosa che mi viene in mente è che le versioni di Jet installate siano
diverse, ma sinceramente non mi interessa molto, ci ho già perso troppo
sonno sopra.
Saluti.