Fred Hooper
fahooper at trapo.com
Wed Jan 28 16:40:10 CST 2009
Hi John,
If I remember how this discussion started, you just wanted to run some SQL
Server code from Access. After you were able to do so you wanted to know how
many rows were affected.
If this is right, I don't see why you need stored procedures; why not
execute the code directly? Just construct the SQL statement in code (no need
for parameters this way) and then execute it.
I wrote an Access subroutine that does this in my local copy of SQL Server
2008. The code is below. It inserts the records from one table into another
and then deletes the new records (because truncate, while faster, doesn't
return the number of records).
Hope this helps,
Fred
Public Sub RunCommand()
Dim strCNN As String
Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim intRecords As Integer
' Setup connection (using 2008, you'll need to change the provider too)
strCNN = "Provider=SQLNCLI10" & _
";Server=FRED-6998B25045" & _
";Database=TrapoLocal" & _
";Uid=Trapo" & _
";Pwd=Trapo"
Set cnn = New ADODB.Connection
With cnn
.ConnectionString = strCNN
.ConnectionTimeout = 10
.CursorLocation = adUseClient
.Open
End With
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cnn
.CommandText = "insert into test select * from dbo.TempVsPSIG"
.Execute intRecords
.CommandText = "delete from test"
.Execute intRecords
End With
Set cmd = Nothing
cnn.Close
Set cnn = Nothing
End Sub