That would help wouldnt it?

Oh the joys of cutting and pasting!

-C

--- In [email protected], "giorgio_rovelli" 
<[EMAIL PROTECTED]> wrote:
>
> Hi Chris, 
> I think you left out
> DoCmd.RunSQL sql
> right before
> DoCmd.SetWarnings True
> 
> 
> 
> --- In [email protected], chrisdodd <no_reply@> 
> wrote:
> >
> > The RunSQL() method of DoCmd allows you to execute SQL statements 
> > against your database. However, it can also serve as a quick and 
> > sneaky way of generating a log file. To do so, you simply pass it 
> a 
> > SQL statement that writes to a text file, like so:
> > 
> > DoCmd.RunSQL("SELECT Top 1 'values' INTO [object].[file] FROM 
> table")
> > 
> > In this statement, 'values' is the text you want to export to the 
> > text file. For "table", you can use any table in your current 
> > database. Consider the following function:
> > 
> > Function createlog(errmod As String, errstr As String) As String
> > Dim filename As String
> > Dim sql As String
> > 
> > filename = "mylog_" & Format(Now, "mmddyyhhnnss") & ".txt"
> > 
> > DoCmd.SetWarnings False
> > sql = "SELECT * INTO [Text;DATABASE=C:\Temp].[" & _
> > filename & "] FROM (SELECT TOP 1 'Error in " & _
> > errmod & ":" & Err.Description & "' " & _
> > "FROM PRODUCTS)"
> > 
> > DoCmd.SetWarnings True
> > 
> > createlog = errstr
> > End Function
> > 
> > This function accepts an error string and a module name as 
> arguments. 
> > Then, it uses RunSQL() to create a text file in the folder 
> C:\Temp. 
> > The following sub demonstrates how you would use this function:
> > 
> > Sub somethingbad()
> > Dim i As Integer
> > On Error Resume Next
> > i = 99999999
> > 
> > If Err.Number <> 0 Then
> > MsgBox createlog("Sub somethingbad", _
> > Err.Description)
> > End If
> > 
> > On Error GoTo 0
> > End Sub
> > 
> > This sub purposely generates an overflow error and calls the log 
> > function. The log function generated a file named: 
> > mylog_032106012851.txt with the following information:
> > 
> > "Expr1000"
> > "Error in Sub somethingbad:Overflow"
> >
>


Reply via email to