Condividi tramite

Access: connessione a SQL via VBA

Anonimo
2015-02-16T09:54:10+00:00

Ciao a tutti !!

Ho un database sotto Microsoft SQL. Voglio collegare tramite VBA le tabelle del db SQL in un programma Access.

Ho una maschera (tipo: maschere continue), in questa maschera devono apparire tutti i record della tabella sotto SQL.

Ho impostato di eseguire il seguente codice al caricamento della maschera:

****  

Private Sub Form_Load()

Dim cnn As ADODB.Connection

Dim rs As ADODB.Recordset

Dim rsSQL As String

Set cnn = New ADODB.Connection

cnn.Open "Driver={SQL Server};Server=SRVSPTEST\SQL_SP;Database=fcn;User Id=sa;Password=123;"

rsSQL = "SELECT * from dbo.crf"

Set rs = CurrentDb.OpenRecordset(rsSQL)

Set rs = Nothing

Set cnn = Nothing

End Sub

****

Quando provo ad avviare la maschera, mi dice che il file non esiste e mi evidenzia la stringa "Set rs = CurrentDb.OpenRecordset(rsSQL)".

La tabella contiene 2 campi: PARTNO e CODE. Non so come dire ad Access che i 2 campi presenti nella maschera deve prenderli dalla tabella crf di SQL.

Dove stò sbagliando e come posso sistemare il codice??

Ho provato a cercare in internet, ma non sono arrivato ad una soluzione.

Grazie in anticipo

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

2 risposte

Ordina per: Più utili
  1. Anonimo
    2015-02-16T10:49:36+00:00

    Grazie dell'aiuto...

    Visto però la mia scarsa padronanza di SQL ho optato per collegare le tabelle per poterle gestire come tabelle locali.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-02-16T10:22:50+00:00

    Ciao a tutti !!

    Ho un database sotto Microsoft SQL. Voglio collegare tramite VBA le tabelle del db SQL in un programma Access.

    <cut>

    Grazie in anticipo

    Qui trovi tutte le stringhe di connessione ai db, Microsoft SQL compreso:

    Per collegarmi a SQLServer (nell'esempio qui sotto SQLServer Express) normalmente faccio così:

    Public Sub mImportaDati()

    On Error GoTo RigaErrore

        Dim cn As Object

    Dim rs As Object

    Dim sSQL As String

    Set cn = CreateObject("ADODB.Connection")

    Set rs = CreateObject("ADODB.Recordset")

    sSQL = "SELECT * FROM Tabella1"

    With cn

    .CursorLocation = 1

    .Open "Provider=SQLNCLI;" & _

    "Server=xxxxxxx\SQLEXPRESS;" & _

    "Database=ProvaDB1;" & _

    "Trusted_Connection=yes;"

    End With

    With rs

    .CursorLocation = 1

    .Open sSQL, cn, 1, 3, 1

    End With

    'resto del codice

    RigaChiusura:

    If rs.State = 1 Then

    rs.Close

    End If

    If cn.State = 1 Then

    cn.Close

    End If

    Set rs = Nothing

    Set cn = Nothing

    Exit Sub

    RigaErrore:

    MsgBox Err.Number & vbNewLine & Err.Description

    Resume RigaChiusura

    End Sub

    Le parti in grassetto sono, ovviamente, da modificare con i dati del tuo contesto.

    La risposta è stata utile?

    0 commenti Nessun commento