Originariamente inviato da ladyBlu
a prescindere dal tuo problema, io avrei scritto semplicemente così:
codice:
rcs.Open "EXEC SP_ElencoUI_Sfitte 42, 15", cnn, 1, 3 
Set DRElencoUISfitte.DataSource = rcs 
DRElencoUISfitte.Show
semplicemente perchè non mi piace usare i command, ma è questione di abitudini

e la stored l'avrei scritta così:
codice:
Procedure Sp_ElencoUI_Sfitte 

    @PI_id_soc numeric, 
    @PI_id_stabile numeric
AS 

    DECLARE @strSelect VARCHAR(500)

    if @PI_id_stabile is null 
          SET @strSelect = 'select id_immobile,id_inquilino, 
              indirizzo, n_civico, piano, scala, interno, 
              tipo_immobile 
              from Unità_Immobiliari 
              where id_soc = ' + @PI_id_soc + ' and affittato=0 
              order by indirizzo, n_civico,scala, piano, interno'
    else 
          SET @strSelect = 'select select u.id_immobile, 
              u.id_inquilino, s.indirizzo, s.n_civico, 
              u.piano, u.scala, u.interno, u.tipo_immobile 
              from Unità_Immobiliari as u, Stabili as s 
              where u.id_stabile = s.id_stabile and u.id_stabile = ' 
              + @PI_id_stabile + ' and affittato =0 
              order by s.indirizzo,s.n_civico,u.scala, u.piano, 
              u.interno'

EXEC(@strSelect)
GO
Ho provato anche così ma nell'esecuzione mi da una msgbox con scritto

Si sono verificati errori

bhò!!