Condividi tramite

Fare una INSERT con .vbs

Anonimo
2016-03-07T13:07:35+00:00

So che non si tratta proprio di Access,  ma ......

Devo  inserire poche righe singole in un SQLServer Remoto

Il mio client non ha Access e non vorrei installarlo.

pensavo di creare uno Scriptino  .vbs per eseguire la operazione,

ma mi stò perdendo nella  "traduzione" del  VBA in  .vbs

 il codice VBA che mi funziona è:

Public Sub InsSqlSer()

Dim DBx As DAO.Database

Set DBx = OpenDatabase("", dbDriverNoPrompt, False, _

"ODBC;DRIVER=SQL Server;SERVER=00.000.000.00;UID=yyy;PWD=zzzz;DATABASE=Info01")

Dim RSx As DAO.Recordset

Set RSx = DBx.OpenRecordset("SELECT TmId, TmMar FROM Tme;", dbOpenDynaset, dbSeeChanges)

RSx.AddNew

RSx.Fields("TmMar").Value = "qwe"

RSx.Update

RSx.Close

DBx.Close

Set RSx = Nothing

Set DBx = Nothing

MsgBox ("Fatto")

End Sub

Un aiuto ?

Grazie

PS,  Poi naturalmente quel "qwe" che tento di inserire diventera una variabile,

ma vediamo un problema per volta  :)

Microsoft 365 e Office | Accesso | 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

Risposta accettata dall'autore della domanda

  1. Anonimo
    2016-03-07T13:44:38+00:00

    Ciao

    il seguente codice, eseguito in un file vbs, inserisce correttamente il record nella tabella (dove ovviamente è definita una chiave primaria)


    Const adOpenStatic = 3

    Const adLockOptimistic = 3

    Set objConnection = CreateObject("ADODB.Connection")

    Set objRecordSet = CreateObject("ADODB.Recordset")

    objConnection.Open _

        "Provider=SQLOLEDB;Data Source=000.000.000.000;" & _

            "Trusted_Connection=No;Initial Catalog=Info01;" & _

                 "UID=xxxx;Pwd=yyyy;"

    objConnection.Execute "INSERT INTO dbo.Tme (TmMar) VALUES ('qwe')"

    objConnection.Close

    Set objConnection = Nothing

    Set objRecordset = Nothing


    Per passare un parametro puoi invece sostituire la riga sottolineata con la seguente:


    objConnection.Execute "INSERT INTO dbo.Tme (TmMar) " _

        & "VALUES ('" & WScript.Arguments.Item(0) & "')"


    occhio agli apici prima e dopo i valori stringa!

    Da riga di comando potrai richiamare il tuo file con

    c:>Test.vbs "qwe"

    David

    La risposta è stata utile?

    0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-03-07T14:57:36+00:00

    Grazie a te per il cortese riscontro.

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-03-07T14:22:12+00:00

    Ok,   ha funzionato al 1° colpo  :)

    Grazie anche per il trucchetto di passare il parametro dalla riga di comando al .vbs

    Mancini

    La risposta è stata utile?

    0 commenti Nessun commento