da vba come si fa ad aprire un database sql server per poter salvare alcune celle di un foglio excel??
da vba come si fa ad aprire un database sql server per poter salvare alcune celle di un foglio excel??
Il numero di pecorelle scannate dai pastori è di gran lunga superiore al numero di pecorelle mangiate dai lupi. Per cui, se qualcuno si proponesse di essere il vostro pastore per salvarvi dai lupi, pensateci bene.
grazie,
dal secondo sito:
ho trovato questo:
With sh
sSQL = "INSERT INTO tabella " & _
"(ID, Nome, cognome) " & _
" VALUES (" & _
"'" & .Range("A1").Value & "', " & _
"'" & .Range("B1").Value & "', " & _
"'" & .Range("C1").Value & "'" & _
")"
End With
di solito quando da asp copio i dati sul database sql express faccio cosi:
apro il dtabase e
rs.addnew
rs("cognome")="pippo"
rs.upadte
ecc...
come posso modificare SH??
dovrebbe essere così.codice:With sh rs.addnew rs("cognome")=.Range("A1").Value rs.upadte End With
al massimo potresti provare così
eliminando il with. non è il massimo come forma ma dovrebbe funzionare, secondo me già la prima opzione dovrebbe andare bene. non ho la possibilità di provarla però.codice:rs.addnew rs("cognome")= sh.Range("A1").Value rs.upadte
Il numero di pecorelle scannate dai pastori è di gran lunga superiore al numero di pecorelle mangiate dai lupi. Per cui, se qualcuno si proponesse di essere il vostro pastore per salvarvi dai lupi, pensateci bene.
ho fatto cosi ma non va
With cn
sSQL = "select * from tabella"
.CursorLocation = 1
.Open "Provider=SQL NATIVE CLIENT;" & "Server=\SQLEXPRESS;" & "Database=nominativi;" & "Trusted_Connection=yes;"
.Execute sSQL, , , 1
End With
With cn
rs.AddNew
rs("cognome") = sh.Range("A1").Value
rs.Update
End With
è da molto che non collego excel ad un database.
prova questo:
in caso di errore dimmi in che punto lo fa.codice:Dim cn As Object Dim sh As Worksheet Set cn = CreateObject("ADODB.Connection") Set sh = Worksheets("Foglio1") cn.Open "tabella", "Provider=SQL NATIVE CLIENT;" & "Server=\SQLEXPRESS;" & "Database=nominativi;" & "Trusted_Connection=yes;" 'apro conessione diretta alla tabella cn.AddNew cn("cognome") = sh.Range("A1").Value cn.Update
Il numero di pecorelle scannate dai pastori è di gran lunga superiore al numero di pecorelle mangiate dai lupi. Per cui, se qualcuno si proponesse di essere il vostro pastore per salvarvi dai lupi, pensateci bene.
ho provato cosi:
Sub SALVA()
Dim cn As Object
Dim sh As Worksheet
Set cn = CreateObject("ADODB.Connection")
Set sh = Worksheets("Foglio1")
Sql = "select * from dipendenti"
cn.Open Sql, "Provider=SQL NATIVE CLIENT;" & "Server=SQLEXPRESS;" & "Database=archivio;" & "Trusted_Connection=yes;" 'apro conessione diretta alla tabella
cn.AddNew
cn("cognome") = sh.Range("A1").Value
cn.Update
End Sub
mi da errore "DI AUTOMAZIONE, ERRORE NON SPECIFICATO"
secondo me l'errore è nelle righe che ti ho segnato in rosso.Originariamente inviato da tigre2209
ho provato cosi:
Sub SALVA()
Dim cn As Object
Dim sh As Worksheet
Set cn = CreateObject("ADODB.Connection")
Set sh = Worksheets("Foglio1")
Sql = "select * from dipendenti"
cn.Open Sql, "Provider=SQL NATIVE CLIENT;" & "Server=SQLEXPRESS;" & "Database=archivio;" & "Trusted_Connection=yes;" 'apro conessione diretta alla tabella
cn.AddNew
cn("cognome") = sh.Range("A1").Value
cn.Update
End Sub
mi da errore "DI AUTOMAZIONE, ERRORE NON SPECIFICATO"
nel post precedente ti avevo scritto:
dove al posto delle scritte verdi metti i tuoi riferimenti. gli altri riferimento (provider, server suppongo siano già i tuoi corretti)codice:cn.Open "tabella", "Provider=SQL NATIVE CLIENT;" & "Server=\SQLEXPRESS;" & "Database=nominativi;" & "Trusted_Connection=yes;" 'apro conessione diretta alla tabella
se non va così vediamo che errore di riporta e poi vediamo se posso risolverlo o se dobbiamo aspettare altri utenti.
edit: ricordati di modificare anche il riferimento al foglio di excel che nel codice è ancora foglio1 e alle celle in cui hai i dati (il range).
Il numero di pecorelle scannate dai pastori è di gran lunga superiore al numero di pecorelle mangiate dai lupi. Per cui, se qualcuno si proponesse di essere il vostro pastore per salvarvi dai lupi, pensateci bene.
Ho provato cosi:
Dim cn As Object
Dim rs As Recordset
Dim sh As Worksheet
Dim sSQL As String
Set cn = CreateObject("ADODB.Connection")
Set sh = Worksheets("Foglio1")
cn.Open "nominativi", "Provider=SQL NATIVE CLIENT;" & "Server=database\SQLEXPRESS;" & "Database=archvio;" & "Trusted_Connection=yes;" 'apro conessione diretta alla tabella
rs.AddNew
rs.Fields("cognome") = sh.Range("A1").Value
rs.Update
e mi da errore:
Errore di automazione;
Errore non specificato;
guarda bene quello che ho scritto, non uso rs perchè già collego la tabella nominativi tramite cn.
purtroppo non ho modo di testarla ma dovrebbe essere corretta così (verificando i riferimenti Worksheets("Foglio1") e sh.Range("A1").Value
Sub SALVA()
Dim cn As Object
Dim sh As Worksheet
Set cn = CreateObject("ADODB.Connection")
Set sh = Worksheets("Foglio1")
cn.Open "nominativi", "Provider=SQL NATIVE CLIENT;" & "Server=database\SQLEXPRESS;" & "Database=archvio;" & "Trusted_Connection=yes;" 'apro conessione diretta alla tabella
cn.AddNew
cn("cognome") = sh.Range("A1").Value
cn.Update
End Sub
Il numero di pecorelle scannate dai pastori è di gran lunga superiore al numero di pecorelle mangiate dai lupi. Per cui, se qualcuno si proponesse di essere il vostro pastore per salvarvi dai lupi, pensateci bene.