Newsgroup: it.comp.appl.access
Titolo: Ado e Seek..

Scusate ancora, (eh eh, oggi sono molto attivo!)
Dim rsrcce As New ADODB.Recordset
Dim Cerca As String
rsrcce.Open "rcce", CurrentProject.Connection, adOpenKeyset, adLockReadOnly,
adCmdTableDirect
If rsrcce.Supports(adIndex) And rsrcce.Supports(adSeek) Then
    rsrcce.Index = "PrimaryKey"
perchè questo codice funziona benissimo con le tabelle normali del database
mentre se le stesse tabelle sono collegate (dopo averlo diviso in FE e BE )
mi ritorna una condizione di falso dicendomi che non supporta adIndex e
adSeek?
Grazie e spero per oggi di aver finito di chiedere... :)

 ha scritto nel messaggio
news:niCKb.234993$e6.92...@twister2.libero.it...

Ciao WinJB
Sia con ADO che con DAO non è possibile usare il metodo Seek per le tabelle
collegate, infatti il recordset è di tipo Dynaset e non Table. Per
utilizzare il metodo Seek devi aprire il recordset tramite una connessione
collegata al db esterno.
Ciao Giorgio

 ha scritto nel messaggio
news:btgpd1$3k4$1...@lacerta.tiscalinet.it...

Grazie Giorgio, ma come si fa?
cosa significa "Connessione collegata al db esterno" ?
intendi dire che invece di usare CurrentProject.Connection ci devo mettre
Provider ecc ecc?
ho provato con a mettere Provider = ecc ecc ma non è cambiato neinte.
Cmq, dovendo per forza usare le tabelle collegate (devono essere usate da
più utenti...), secondo te, qual'è il metodo migliore per eseguire una
ricerca su un campo indicizzato, senza duplicati e con circa 100.000 record?
Ho provato con find... avevo letto che per eseguire una ricerca devo prima
muovere il puntatore al primo record ma ho notato che funziona anche senza
questo accorgimento, o è stato solo un caso?
Puoi consigliarmi ?
Grazie
Ciao
Franco

 Puoi consigliarmi ?
Il metodo find esegue la scansione su tutte le righe, se hai tabelle con
molti record è lentissimo.
Puoi sempre limitare i record letti
------------------------------
Rs.Open "Select  * From NomeTb Where PrymaryKey=" & 85212 , _
      cn, adOpenStatic, adLockOptimistic, adCmdText
-----------------------------
Ciao Giorgio

 ha scritto nel messaggio
news:bth9c3$ifa$1...@lacerta.tiscalinet.it...

Grazie Giorgio, sei gentilissimo!
Ora è tardi ma domani proverò a far funzionare questo benedetto Seek :)
Grazie davvero
Ciao
Franco


Scusami Giorgio,
la procedura mi da un errore tipo: Authentication failed ( qualcosa del
genere) e mi evidenzia la riga:
=> Cnn.Open
Questo č il codice:
Dim Cnn As ADODB.Connection
Dim rsrcce As ADODB.Recordset
Dim PercorsoDB As String
Dim Cerca As String
Dim NomeTb As String
NomeTb = "RCCE"
PercorsoTb = CurrentDb.TableDefs(NomeTb).Connect
If PercorsoTb <> "" Then
    Set Cnn = New ADODB.Connection
    PercorsoDB = Mid(PercorsoDB, InStr(PercorsoDB, "=") + 1)
    Cnn.ConnectionString = _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "User ID=Admin;" & _
    "Password=;" & _
    "Data Source=" & PercorsoDB & ";"
    Cnn.Open
Else
    Set Cnn = CurrentProject.Connection
End If
Ci sono errori? ho cercato di controllare da solo ma non riesco a capire
tutti i parametri e non riesco tra l'altro a trovare riferimenti a Ado che
riguardano le connessioni a tabelle esterne.
Mi puoi dare ancora una mano a risolvere questo problema?
Ti ringrazio molto e spero che tu legga questa mia al piů presto :)
Ciao
Franco


All'inizio dei tuoi moduli inserisci
-------------------
Option Explicit
-----------------
Ti eviterà inutili perdite di tempo.
Ciao Giorgio


INFATTI!!!!
Grazie Giorgio, sei stato preziosissmo!
Ciao Franco