Ho pensato a qualche componente mancante dal Deploy ed ho quindi installato manualmente l'ultimo MDAC;
ho pensato a convertire il DB access nei formati precedenti (2000 e 97);
Mi è sembrato di aver fatto passare come il riso il supporto Microsoft per Vb6 ma non ho trovato nulla;
Provo a postarvi il codice incriminato:

codice:
...
cn.Provider = "MSDataShape"
cn.Open "dsn=ODBCNAME;Pwd=pippo;"
  
With cmd
    .ActiveConnection = cn
    .CommandType = adCmdText
    .CommandText = " SHAPE {SELECT (SELECT Nome + ' ' + Cognome FROM tblDipendenti WHERE ID = cd_tblDipendenti) as NomeRisorsa," & _
        "(SELECT Matricola FROM tblDipendenti WHERE ID = cd_tblDipendenti) as NumeroMatricola," & _
        "(SELECT NomeRuolo FROM tblRuoli WHERE ID = (SELECT Ruolo FROM tblDipendenti WHERE ID = cd_tblDipendenti)) as NomeRuolo," & _
        "(SELECT Provincia FROM tblDivisLibroPresenze WHERE ID = (SELECT DivisioneLibroPresenze FROM tblDipendenti WHERE ID = cd_tblDipendenti)) as NomeLibroPresenze," & _
        "(SELECT NumeroBadge FROM tblDipendenti WHERE ID = cd_tblDipendenti) as NumeroBadgePersonale," & _
        "(SELECT TOP 1 DataInizio FROM tblComportamenti WHERE tblComportamenti.cd_tblDipendenti = tblStampaMultipla.cd_tblDipendenti ORDER BY ID DESC) as DataAssunzione," & _
        "cd_tblDipendenti,Data,Entrata1," & _
        "Uscita1,Entrata2,Uscita2,Entrata3,Uscita3,TipoOrario," & _
        "MonteOre,Effettivo,Assenza,Straordinario,Giustificazione1," & _
        "MinutiGiustificati1,Giustificazione2,MinutiGiustificati2," & _
        "Giustificazione3,MinutiGiustificati3,Giustificazione4," & _
        "MinutiGiustificati4,Giustificazione5,MinutiGiustificati5,TotaleOrdinari,TotaleEffettivo,TotaleStraordinari,TotaleAssenza,NomeGiust1,QtaGiust1,NomeGiust2,QtaGiust2,NomeGiust3,QtaGiust3,NomeGiust4,QtaGiust4,NomeGiust5,QtaGiust5,NomeGiust6,QtaGiust6,NomeGiust7,QtaGiust7,NomeGiust8,QtaGiust8,NomeGiust9,QtaGiust9,NomeGiust10,QtaGiust10,GiorniLavorati " & _
        "FROM tblStampaMultipla} AS Command1 COMPUTE Command1 " & _
        "BY NomeRisorsa,NumeroMatricola,NumeroBadgePersonale,NomeRuolo,NomeLibroPresenze,DataAssunzione,TotaleOrdinari,TotaleEffettivo,TotaleStraordinari,TotaleAssenza,NomeGiust1,QtaGiust1,NomeGiust2,QtaGiust2,NomeGiust3,QtaGiust3,NomeGiust4,QtaGiust4,NomeGiust5,QtaGiust5,NomeGiust6,QtaGiust6,NomeGiust7,QtaGiust7,NomeGiust8,QtaGiust8,NomeGiust9,QtaGiust9,NomeGiust10,QtaGiust10"
    .Execute
End With

With rs
    .ActiveConnection = cn
    .CursorLocation = adUseClient
    .Open cmd
End With
Set rs1 = rs(0).Value

Dim q As Integer
Dim intCtrl As Integer
Dim X As Integer
Dim z As Integer
X = 0
q = 0
z = 0

With rptCartellinoMulti
...