Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

DBConn.

BeginTrans 02 03 04 05 06 07 08 '

'On Error Resume Next

'DELETE data Debug.Print(strSQL) Dim i 'For i = 1 to m_Rooms

strSQL = "Update tblAvailable set curprice="+ FixNumber(curPrice(intCurrentData)) strSQL = strSQL + " WHERE intResortID = " + Session("TypeID")

strSQL = strSQL + " AND dtm between CONVERT(DATETIME,'" + 09 cstr(Year(dtmStart)) + "-" + cstr(Month(dtmStart)) + "-" + cstr(Day(dtmStart)) + "', 102)" strSQL = strSQL + " AND CONVERT(DATETIME,'" + 10 cstr(Year(dtmEnd)) + "-" + cstr(Month(dtmEnd)) + "-" + cstr(Day(dtmEnd)) + "', 102)" 11 12 13 14 15 16 17 'Response.Write strSQL DBConn.Execute strSQL strSQL = strSQL + " AND strRoomType='" & strRooms(0) & "'" strSQL = strSQL + " OR strRoomType='" & strRooms(i) & "'" 'strSQL = strSQL + ")"

For lngIDField = 1 To lngRecords strSQL = "UPDATE MyTable SET PriceNow = '" & arrPrices(lngIDField - 1) & "' WHERE ID = " & lngIDField mobjCmd.CommandText = strSQL mobjCmd.Execute Next lngIDField

Private Sub Form_Load() Dim dbMyDB As Database Dim rsMyRS As Recordset Set dbMyDB = OpenDatabase("Payment.mdb") Set rsMyRS = dbMyDB.OpenRecordSet("tblPayment", dbOpenDynaset) If Not rsMyRS.EOF Then rsMyRS.MoveFirst Do While Not rsMyRS.EOF rsMyRS.Edit

rsMyRS!day = Format(rsMyRS!Date, "ddd") rsMyRS.Update rsMyRS.MoveNext Loop End Sub

How To: Updat

sqlStr = "SELECT key_citation FROM citation" Set rs = m_conn.Execute(sqlStr, , adCmdText Or adOpenForwardOnly) While Not rs.EOF citationNumber = rs.Fields(0).Value If Left$(citationNumber, 1) <> "W" Then newIndex = Citation.calculateCiteIndex(citationNumber) m_conn.Execute "UPDATE citation SET long_citeIndex = " & CStr(newIndex) & " WHERE key_citation = " & CStr(citationNumber), , adCmdText End If rs.MoveNext Wend rs.UpdateBatch rs.Close Set rs = Nothing

For i = 0 To rsUpdate.recordCount rsUpdate.fields(TargetFieldName) = value rsUpdate.MoveNext Next i

CREATE PROCEDURE usp_UpdateBernCoTaxesDue ( @OfcCode CHAR(3) ) AS DECLARE @StartDate DATETIME, @EndDate DATETIME, @NumFirstHalfRecs INTEGER, @NumSecondHalfRecs INTEGER BEGIN TRANSACTION

SELECT @StartDate = CAST( '10/1/' + CAST(YEAR(GETDATE()) AS CHAR(4)) AS DATETIME), @EndDate = CAST( '11/30/' + CAST(YEAR(GETDATE()) AS CHAR(4)) AS DATETIME) IF @@ERROR <> 0 GOTO ERR_HANDLER DELETE FROM ImpoundInvoice_BernCoBackup IF @@ERROR <> 0 GOTO ERR_HANDLER INSERT INTO ImpoundInvoice_BernCoBackup SELECT II.* FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate IF @@ERROR <> 0 GOTO ERR_HANDLER UPDATE II SET II.Amount = TDF.FirstAmt / 100, II.Status = 'ACT', II.BillNo = TDF.TaxBillNum FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate SET @NumFirstHalfRecs = @@ROWCOUNT IF @@ERROR <> 0 GOTO ERR_HANDLER SELECT @StartDate = CAST( '3/1/' + CAST(YEAR(GETDATE()) + 1 AS CHAR(4)) AS DATETIME), @EndDate = CAST(

'4/30/' + CAST(YEAR(GETDATE()) + 1 AS CHAR(4)) AS DATETIME) IF @@ERROR <> 0 GOTO ERR_HANDLER INSERT INTO ImpoundInvoice_BernCoBackup SELECT II.* FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate IF @@ERROR <> 0 GOTO ERR_HANDLER UPDATE II SET II.Amount = TDF.SecondAmt / 100, II.Status = 'ACT', II.BillNo = TDF.TaxBillNum FROM BernCoTaxDueFile TDF INNER JOIN ImpoundDetail IDET ON TDF.PID = IDET.PIDNoPunc INNER JOIN ImpoundInvoice II ON IDET.OfcCode = II.OfcCode AND IDET.Account_No = II.Account_No AND IDET.PID = II.PID WHERE II.Status IN ('EST', 'ACT') AND IDET.OfcCode = @OfcCode AND II.BillDate BETWEEN @StartDate AND @EndDate SET @NumSecondHalfRecs = @@ROWCOUNT IF @@ERROR <> 0 GOTO ERR_HANDLER SELECT NumFirstHalfRecs = @NumFirstHalfRecs, NumSecondHalfRecs = @NumSecondHalfRecs COMMIT TRANSACTION RETURN 0 ERR_HANDLER: ROLLBACK TRANSACTION SELECT NumFirstHalfRecs = 0, NumSecondHalfRecs = 0 RETURN 1 GO =-=-=-=-=-=-=-=-Dim rsNumRecs As ADODB.Recordset

Set rsNumRecs = cnGlobalData.Execute("EXEC usp_UpdateBernCoTaxesDue 'ABQ'") =-=-=-=-=-=-=-="Jason Keats" wrote: Display the quote
Reply to this message #3 Jason Keats November 20th, 2009 - 08:14 am ET | Report spam

JohnJohn wrote: Display the quote Despite your "attitude"... I believe you should be using the command object and output parameters, rather than trying to return a recordset. VB probably complains because it wouldn't be able to update/save the recordset - but that's just a guess. First change the top of your stored procedure to use output parameters... CREATE PROCEDURE usp_UpdateBernCoTaxesDue ( @OfcCode CHAR(3), @NumFirstHalfRecs INTEGER OUTPUT, @NumSecondHalfRecs INTEGER OUTPUT ) AS DECLARE @StartDate DATETIME, @EndDate DATETIME ... then try code something like the following... Public Sub TestExecuteCommand() Dim Dim Dim Dim i As Integer sCnn As String cmd As ADODB.Command prm As ADODB.Parameter

sCnn = "Provider=SQLOLEDB;server=MyServer;uid=MyUser;pwd=MyPassword;database=MyDB" Set cmd = New ADODB.Command cmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc cmd.CommandText = "usp_UpdateBernCoTaxesDue" Set prm = New ADODB.Parameter Set prm = cmd.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0) cmd.Parameters.Append prm

Set prm = cmd.CreateParameter("@OfcCode", ADODB.DataTypeEnum.adChar, ADODB.ParameterDirectionEnum.adParamInput, 3, "ABQ") cmd.Parameters.Append prm 'Output parameters... Set prm = cmd.CreateParameter("@NumFirstHalfRecs", ADODB.DataTypeEnum.adInteger, ADODB.ParameterDirectionEnum.adParamOutput) cmd.Parameters.Append prm Set prm = cmd.CreateParameter("@NumSecondHalfRecs", ADODB.DataTypeEnum.adInteger, ADODB.ParameterDirectionEnum.adParamOutput) cmd.Parameters.Append prm Call ExecuteCommand(sCnn, cmd) Debug.Print "Returned parameters..." If cmd.Parameters.Count > 0 Then For i = 0 To cmd.Parameters.Count - 1 Debug.Print "Parameter " & i Debug.Print "Name: " & cmd.Parameters(i).Name Debug.Print "Type: " & cmd.Parameters(i).Type Debug.Print "Direction: " & cmd.Parameters(i).Direction Debug.Print "Size: " & cmd.Parameters(i).Size Debug.Print "Value: " & cmd.Parameters(i).Value Debug.Print Next i Else Debug.Print "No parameters!" Debug.Assert False End If End Sub Private Sub ExecuteCommand(ByVal sCnn As String, ByRef cmd As ADODB.Command) Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection With cnn .Mode = ADODB.ConnectModeEnum.adModeReadWrite .CursorLocation = ADODB.CursorLocationEnum.adUseClient .ConnectionTimeout = 15 .CommandTimeout = 90 .Open sCnn End With If cnn Is Nothing Then Debug.Assert False Else cnn.BeginTrans Set cmd.ActiveConnection = cnn cmd.Execute , , ADODB.ExecuteOptionEnum.adExecuteNoRecords Set cmd.ActiveConnection = Nothing

If cnn.state = ADODB.ObjectStateEnum.adStateOpen Then cnn.CommitTrans cnn.Close End If Set cnn = Nothing End If End Sub Note the output in your Immediate window! Hope this helps.

You might also like