Salve a tutti.

Premetto che non ho molta esperienza ma sono un autodidatta , quindi non fate se il problema che espongo può essere stupido.

Ho la seguente situazione per un programma che sto realizzando:

ho una tabella ,chiamata"capitolati", la cui chiave primaria è il campo(codice) ,
poi ho un'altra tabella ,chiamata "voci_capitolato" , che fra i suoi campi ha
quella relativa al suo codice( si chiama "codice") e quello relativo al codice capitolato
a cui fa riferimento (il campo si chiama"cod_capitolato").

Ora con una dbgrid (chiamata dbgrid_capitolati) ,collegata alla tabella "capitolati" tramite un
datacontrol (denominato "db_capitolati") , permetto di far selezionare una riga corrispondente
ad uno specifico capitolato e così in una dbgrid secondaria (denominata "dbgrid_voci_capitolato")
elenco solo le voci legate al capitolato specificato nella dbgrid primaria ("dbgrid_capitolati) ,
questa seconda dbgrid_voci_capitolato è legata alla query che viene fuori sulla tabella "voci_capitolato" tramite un datacontrol
(denominato "db_voci")
ecco di seguito il codice che uso:

Private Sub DBGrid_capitolati_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
DBGrid_capitolati.Col = 0
Text_cod_cap.Text = DBGrid_capitolati.Text
comando = "select * from voci_capitolato where [cod_capitolato]= " + Text_cod_cap.Text + ";"
db_voci.RecordSource = comando
db_voci.Refresh
End Sub
a questo punto la dbgrid_voci_capitolato conterrà solo le voci di quel capitolato in quanto ho aggiornato il datacontrol db_voci.

Adesso questa dbgrid_voci_capitolato (che esporrà solo il campo codice e descrizione) la voglio sfruttare in modo tale che ogni volta che
su questa viene evidenziata una riga relativa ad una voce specifica posso evidenziare tutti i suoi campi in alcune textbox collegate
al datacontrol (denominato "db_voci2") che punta sempre alla tabella "voci_capitolato".Quindi mentre il db_voci punta alla query
sulla tabella "Voci_capitolato" , la db_voci2 punta all'intera tabella "voci_capitolato" (ho preferito fare così onde evitare conflitti tra
i due datacontrol) , ecco il codice che uso (però mi da errore):

Private Sub DBGrid_voci_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
DBGrid_voci.Col = 0
valore = DBGrid_voci.Text
db_voci2.Recordset.Index = "codice" (quì mi da errore)
db_voci2.Recordset.Seek "=", valore
End Sub

Ho segnato come vedete la riga che genera l'errore e siccome il campo (codice) della tabella "voci_capitolato" è una chiave primaria
il metodo index deve funzionare così come ha funzionato con altre tabelle , pertanto sono convinto che l'errore viene generato dal fatto
che sulla tabella "voci_capitolato" viene generata una query per il db_voci e quindi anche se db_voci2 punta alla tabella intera questo crea problemi.

Come posso ovviare a ciò , aiutatemi vi prego !!!!!!!!