Newsgroup: it.comp.lang.visual-basic
Titolo: [ADOVB6] muoversi fra i record di più tabelle uguali

In un database ho 5 tabelle, che hanno stessa
struttura e stessi tipi di dati al loro interno
e nelle prime due colonne ho anche gli stessi identici numeri
in una colonna sono le date e in un'altra colonna ci sono dei numeri
progressivi
ho fatto una procedura per poter visualizzare questi dati
in un programma in VB, tipici bottoni "avanti" "indietro"ecc..
con relativi comandi ADO  movenext moveprevious ecc... visualizzando i dati
in textbox
in ogni bottone devo mettere tutti e cinque i recordset riguardanti le 5
tebelle
Click_Avanti
rsTAB1.movenext
rsTAB2.movenext
rsTAB3.movenext
rsTAB4.movenext
rsTAB5.movenext
se io faccio una ricerca con find fra i numeri progressivi o fra le date
della tabella 1
il recordset mi si sposta sul record della campo data che sto cercando,
 posso spostare anche i recordset delle altre tabelle
nella stessa posizione della tabella 1 senza dover ricercare la stessa data
o lo stesso
numero progressivo in tutte e 5 le tabelle?
esiste un comando del tipo
rsTAB2.move rsTAB1 o qualcosa di simile con delle variabili
forse sto vaneggiando !!! se cosě fosse suggeritemi una soluzione adeguata!!
grazie
Alex

 rsTAB2.move rsTAB1 o qualcosa di simile con delle variabili
rsTAB2.Move rsTAB1.Bookmark
poi credo che servano dei parametri aggiuntivi alla fine, ma qualcosa di
semplice tipo 0, 1.
Nell'help di Ado il metodo Move e la proprietą Bookmark č spiegata
perfettamente.
Declino ogni responsabilitą se i recordset hanno recordcount diversi :-))
Ciao
Alberto

 Declino ogni responsabilità se i recordset hanno recordcount diversi :-))
Penso non sia proprio possibile usare i bookmark in quanto non vengono
costruiti sfruttando il contenuto dei dati, ma la loro posizione fisica.
Se le tabelle sono identiche conviene utilizzare l'AbsolutePosition se il
provider e il cursore te lo permettono.
Ma a cosa ti servono 5 tabelle identiche ?
Saluti

 Ma a cosa ti servono 5 tabelle identiche ?
Ecco...  !!!????
ciao
ugo

 ha scritto nel messaggio
news:asg7dm$pvvrv$1...@ID-96367.news.dfncis.de...


 costruiti sfruttando il contenuto dei dati, ma la loro posizione fisica.
Beh, diciamo che davo per scontato (io lo uso sempre, per cui non avevo
considerato) che ci fosse un Order By nella source del recordset.
E' evidente comunque che, se le cinque tabelle contengono le stesse
identiche chiavi, e valori diversi, tutto potrebbe molto comodamente
diventare un unico recordset con un semplice inner join.
Ciao
Alberto


Vedi risposta di Albe V
ciao
ugo

numero progressivo in tutte e 5 le tabelle?
con questo non vuole intendere che le tabelle hanno lo stesso ordinamento
tramite la stessa chiave ?
Se si ... absoluteposition è una soluzione ... bookmark è proprio
impossibile ...
ovviamente se non vi è un ordinamento ... niente da fare.
Saluti


 ovviamente se non vi è un ordinamento ... niente da fare.
Chiedo umilmente delucidazioni sulla questione dei bookmark.
Usando ovviamente recordset che supportano i bookmark, a me il codice
lista_Dati2.Move lista_Dati.Bookmark - 1, 1
funziona egregiamente da sempre.
C'è qualche controindicazione di cui non sono a conoscenza?
Ciao
Alberto

 C'è qualche controindicazione di cui non sono a conoscenza?
Mai usati, però la guida di vb6 dice esplicitamente di non usare i bookmark
di un recordset con un'altro, a meno chè uno non sia il clone di un'altro
Salutoni
Sergio

 ha scritto nel messaggio
news:URZG9.28989$qF1.1...@news2.tin.it...

Preciso che la applico solo per recordset AdOpenStatic e AdUseClient,
altrimenti è ovvio che non è garantita la consistenza delle due sequenze (se
ad esempio uso recordset dinamici, potrebbero esserci aggiornamenti già
avvenuti in uno e non nell'altro).
Ciao
Alberto

 ha scritto nel messaggio
news:ashof3$r5n6h$1...@ID-169051.news.dfncis.de...


si è proprio così come dici te che soluzione mi conviene provare?
ciao e grazie di tanto interesse

 si è proprio così come dici te che soluzione mi conviene provare?
E' come dico io ?.. cioè le tabelle hanno lo stesso ordinamento per la
stessa chiave (o chiavi) ?
Se si .. usa pure absoluteposition che ti restituisce la posizione assoluta
di ogni record (come se fosse un contatore) .. però guarda prima se il tuo
provider+cursore lo supporta.
Per la sintassi è identica a quella utilizzata con la proprietà bookmark
i = RS1.Absoluteposition
RS2.Absoluteposition = i
Saluti

 ha scritto nel messaggio
news:asin3e$rvmuj$1...@ID-169051.news.dfncis.de...


 provider+cursore, se  lo supporta??
RS.Supports + F1
Saluti
(come mai lo stesso messaggio in privato ?)

 RS.Supports + F1
Mi dà errore di sintassi sul '+ F1'
Dove sbaglio?
Ciao
Alberto

 wrote in message
news:_MkH9.55779$2B1.1...@twister2.libero.it...

Dimmi che stai scherzando !!!!
F1 è il tasto per attivare il menù .. è come scrivere "guarda l'help"
Saluti

 F1 è il tasto per attivare il menù .. è come scrivere "guarda l'help"
Secondo te?
:-))
Alberto