[AccessD] Modifying a query

Rocky Smolin - Beach Access Software bchacc at san.rr.com
Thu Jun 8 09:53:34 CDT 2006


Jim:

That's going to be a really handy piece of code.

Would there be a downside, however, to using

On Error Resume Next
(Delete Object)
On Error GoTo 0

I've done that before but it seem s bit like working without a net. 

Rocky


Hale, Jim wrote:
> Rocky, This function has been in my toolkit so long I forget where I got it.
> Probably from this list!
> Jim Hale
>
> Function ahtDoesObjExist(strObj As String, intType As Integer) As Boolean
> 'This function returns True if an object exists, false if it doesn't
>     '-------------------------------------------------------------------
>     Dim strName As String
>     Dim db As Database
>     Dim strCon As String
>     
>     
>     On Error GoTo ahtDoesObjExist_Err
>     
>     Set db = CurrentDb()
>     Select Case intType
>         Case acTable
>             strName = db.TableDefs(strObj).Name
>         Case acQuery
>             strName = db.QueryDefs(strObj).Name
>         Case acForm, acReport, acMacro, acModule
>             Select Case intType
>                 Case acForm
>                     strCon = "Forms"
>                 Case acReport
>                     strCon = "Reports"
>                 Case acMacro
>                     strCon = "Scripts"
>                 Case acModule
>                     strCon = "Modules"
>             End Select
>             strName = db.Containers(strCon).Documents(strObj).Name
>     End Select
>     ahtDoesObjExist = True
>
> ahtDoesObjExist_Exit:
>     Exit Function
>        
> ahtDoesObjExist_Err:
>     ahtDoesObjExist = False
>     Resume ahtDoesObjExist_Exit
>     
> End Function
>
>
> -----Original Message-----
> From: Rocky Smolin - Beach Access Software [mailto:bchacc at san.rr.com]
> Sent: Wednesday, June 07, 2006 5:47 PM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Modifying a query
>
>
> Jim:
>
> I think you're right.  Delete and re-create was where I was heading if I 
> want to keep this query in the string of queries the user wants to 
> execute through a macro that they set up.
>
> "ahtDoesObjExist "  whuzzat?
>
>
> Regards,
>
> Rocky
>
>
> Hale, Jim wrote:
>   
>> I may have missed this suggestion from earlier in the thread, but why not
>> delete the old query and recreate it with the new criteria? I do it a lot
>> with passthrough queries but it can be done with regular Access queries as
>> well. Something like these code snippets (this ex creates a passthrough
>> query)
>>
>> Dim qdfPassthrough As QueryDef, rstPassthrough As Recordset
>> 'delete old version of query
>> 	if ahtDoesObjExist("qryDownload", acQuery) Then DoCmd.DeleteObject
>> acQuery, "qryDownload"
>>      strPassthrough = "SELECT * from GLTLIB.GLMSL"     
>>     ' Create pass-through query
>>     Set qdfPassthrough = db.CreateQueryDef("qryDownload")
>>     qdfPassthrough.Connect = "ODBC;DSN=AS400Prod;"
>>     qdfPassthrough.SQL = strPassthrough
>>      ' Tell Access to wait as long as the query takes
>>     qdfPassthrough.ODBCTimeout = 0
>>       Set rstPassthrough = qdfPassthrough.OpenRecordset()
>>       qdfPassthrough.ReturnsRecords = True
>>
>> query qryDownload will show up in the Database container
>>
>> Jim Hale
>>
>>     
>
> ***********************************************************************
> The information transmitted is intended solely for the individual or
> entity to which it is addressed and may contain confidential and/or
> privileged material. Any review, retransmission, dissemination or
> other use of or taking action in reliance upon this information by
> persons or entities other than the intended recipient is prohibited.
> If you have received this email in error please contact the sender and
> delete the material from any computer. As a recipient of this email,
> you are responsible for screening its contents and the contents of any
> attachments for the presence of viruses. No liability is accepted for
> any damages caused by any virus transmitted by this email.
>   

-- 
Rocky Smolin
Beach Access Software
858-259-4334
www.e-z-mrp.com




More information about the AccessD mailing list