As Micron suggests, make a named query. Here's a function to do that. It can go behind the form or into a module:
Code:
Public Function fcnMakeNamedQry(qName As String, arg As String)
Dim Qdf As DAO.QueryDef
Dim db As DAO.Database
Dim qExists As Boolean
Set db = CurrentDb
qExists = False
For Each Qdf In db.QueryDefs
If Qdf.Name = qName Then
qExists = True
Exit For
End If
Next
Select Case qExists
Case True
Set Qdf = CurrentDb.QueryDefs(qName)
Qdf.SQL = arg
Case False
Set Qdf = db.CreateQueryDef(qName, arg)
End Select
Set db = Nothing
Set Qdf = Nothing
Application.RefreshDatabaseWindow
End Function
Then your code (modified), calling the function:
Code:
strSQLQry = "SELECT LogicalServerType.ServerType " _
& "FROM LogicalServer INNER JOIN LogicalServerType ON LogicalServer.LogicalServerTypeID = LogicalServerType.LogicalServerTypeID " _
& "WHERE LogicalServer.Name ='" & Me.txtServerNm & "'"
Debug.Print strSQLQry
call fcnMakeNamedQry("qTempQuery",strSQLQry)
Me.txtServType = DLookup("ServerType","qTempQuery")
This will make a named query, qTempQuery, assuming your strSQLQry is valid.