I have this code, which works: tmpBOL is incremented
VB Code:
  1. 'find the next available number
  2. '=====================================
  3. Set rsBOLHeader = New ADODB.Recordset
  4. '=====================================
  5. sql = "SELECT [BOL] FROM BOLHEADER ORDER BY [BOL]"
  6. rsBOLHeader.Open sql, CnxnTechSQL, adOpenKeyset, adLockReadOnly, adCmdText
  7. If Not rsBOLHeader.BOF And Not rsBOLHeader.EOF Then
  8.     rsBOLHeader.MoveLast
  9.     tmpBOL = rsBOLHeader![bol] + 1
  10. End If
  11. rsBOLHeader.Close
  12. Set rsBOLHeader = Nothing
  13. '=========================

However, when I do this, tmpBOL is always 1.
VB Code:
  1. 'find the next available number
  2. Dim lastbol As Long
  3. '=====================================
  4. Set rsBOLHeader = New ADODB.Recordset
  5. '=====================================
  6. sql = "SELECT max([BOL]) as lastBOL FROM BOLHEADER "
  7. rsBOLHeader.Open sql, CnxnTechSQL, adOpenKeyset, adLockReadOnly, adCmdText
  8. tmpBOL = lastbol + 1
  9. rsBOLHeader.Close
  10. Set rsBOLHeader = Nothing
  11. '=========================

Obviously a syntax error, but my documentation doesn't clear it up for me.

I'm trying to 'optimize' some code by doing away with unecessary loops.