Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    aprire sql server da vba

    da vba come si fa ad aprire un database sql server per poter salvare alcune celle di un foglio excel??

  2. #2
    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.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    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??

  4. #4
    codice:
    With sh
    rs.addnew
    rs("cognome")=.Range("A1").Value
    rs.upadte
    End With
    dovrebbe essere così.

    al massimo potresti provare così
    codice:
    rs.addnew
    rs("cognome")= sh.Range("A1").Value
    rs.upadte
    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ò.
    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.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    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

  6. #6
    è da molto che non collego excel ad un database.
    prova questo:
    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
    in caso di errore dimmi in che punto lo fa.
    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.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    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"

  8. #8
    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"
    secondo me l'errore è nelle righe che ti ho segnato in rosso.
    nel post precedente ti avevo scritto:
    codice:
    cn.Open "tabella", "Provider=SQL NATIVE CLIENT;" & "Server=\SQLEXPRESS;" & "Database=nominativi;" & "Trusted_Connection=yes;" 'apro conessione diretta alla tabella
    dove al posto delle scritte verdi metti i tuoi riferimenti. gli altri riferimento (provider, server suppongo siano già i tuoi corretti)

    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.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    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;

  10. #10
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.