connessione a sql server



  • connessione a sql server
    di tig (utente non iscritto) data: 26/01/2015 10:43:10

    ho questa connessione a sql express 2005,
    ma mi da errore: CONNESSIONE chiusa o non valida
    qua:
    rs.Open sSQL, cn, 3, 3
    dove sbaglio??
     
    Sub CERCA()
    'On Error GoTo RigaErrore
        Dim cn As Object
        Dim rs As Object
        Dim sh As Worksheet
        Dim sSQL As String
    
        Set cn = CreateObject("ADODB.Connection")
        Set rs = CreateObject("ADODB.Recordset")
        Set sh = Worksheets("Foglio1")
        
        ultima = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row  'trovo l'ultima riga del foglio 1
        
        cn = "Driver={SQL Server Native Client 11.0};Server=127.0.0.1; Database=nominativi;Uid=1112;Pwd=pippo;"
        'cn.Open
        
         
      For i = 2 To ultima
      CODICE = Sheets(1).Cells(i, 1)
        
        sSQL = "SELECT * FROM elenco" & " WHERE CODICE='" & CODICE & "'"
        rs.Open sSQL, cn, 3, 3                           *************ERRORE QUA
        Sheets(1).Cells(i, 10) = rs("COGNOME")
        Sheets(1).Cells(i, 11) = rs("NOME")
     Next i



  • di scossa data: 26/01/2015 11:20:10

    @tig: prova a modificare come da codice sottoriportato.

    P.S.: sarebbe anche il caso di inserire un controllo che la query trovi effettivamente un record.


    scossa's web site
    Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno.
    Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

     
        Set cn = CreateObject("ADODB.Connection")
        Set rs = CreateObject("ADODB.Recordset")
        Set sh = Worksheets("Foglio1")
        
        ultima = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row  'trovo l'ultima riga del foglio 1
        
        cn.Open "Driver={SQL Server Native Client 11.0};Server=127.0.0.1; Database=nominativi;Uid=1112;Pwd=pippo;"
    
    		For i = 2 To ultima
    			CODICE = Sheets(1).Cells(i, 1)
    			sSQL = "SELECT * FROM elenco" & " WHERE CODICE='" & CODICE & "'"
    			rs.Open sSQL, cn, 3, 3                           
    			Sheets(1).Cells(i, 10) = rs("COGNOME")
    			Sheets(1).Cells(i, 11) = rs("NOME")
    			rs.close
    	 Next i