Site Search:
Sign in | Join | Help

This Blog

Syndication

Tags

No tags have been created or used yet.

Microsoft Access

Tricks and Tips for Microsoft Access

Code to loop through the querydefs collection in Access

 Recently I was migrating some tables to SQL from an old Access database. The original programmer had put spaces and other punctuation in the field names that SQL didn't allow so I changed them, but that broke Access when I linked the table back. This code will loop through the querydef collection and find all instances of a table name or field name.

 

 Sub custom()
    Dim strSQL As String
    Dim qry As QueryDef
    Dim db As Database
    Set db = CurrentDb
    
    For Each qry In db.QueryDefs
        strSQL = qry.SQL
        If InStr(strSQL, "[Product Master].[Product Number]") > 0 Then
            
            Debug.Print qry.Name
            
            
            'MsgBox qry.Name
            Debug.Print strSQL
            Debug.Print "======================="
        End If
        
    Next


End Sub

Comments

 

Graham said:

That is a neat peice of coding.

I commented out the if instr section to

get a list of all the sql statements in my database.

This is a useful function to review all the queries in the current database.

May 5, 2009 12:30 PM

Leave a Comment

(required)  
(optional)
(required)  
Add

About Steve Gray

Steve is a seasoned (translate: old) developer in VB and ASP.NET. He spends most of his time in Dynamics GP, writing custom mods for consulting firms. Crystal reports, eConnect, VS Tools for Dynamics... anything that comes along.