il problema è questo

se tu esegui questa query

SQL="SELECT tbl_dati.col_codice, tbl_telefonate.col_codice FROM tbl_dati INNER JOIN tbl_telefonate ON tbl_dati.col_codice=tbl_telefonate.col_codice ORDER BY tbl_dati.col_codice"

ti troverai due colonne *.col_codice e quando chiedi

varCodice = rs("col_codice")

l'animale non sa quale dei due prendere

quindi devi usare degli alias, così

SQL="SELECT tbl_dati.col_codice AS DATI_CODICE, tbl_telefonate.col_codice AS TELEFONATE_CODICE FROM tbl_dati INNER JOIN tbl_telefonate ON tbl_dati.col_codice=tbl_telefonate.col_codice ORDER BY tbl_dati.col_codice"

che poi leggerai con

varCodice = rs("DATI_CODICE")

oppure

varCodice = rs("TELEFONATE_CODICE")

va da sé che i due dati sono uguali, quindi nella select ti basterebbe indicarne uno