Tipp 4.8 - Abfragetyp

Wie kann ich den Typen einer Abfrage ermitteln?

Mit dieser Funktion können Sie den Bezeichnungstyp einer Abfrage ermitteln. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Beispiel:

Public Function A2XGetQryType( _
                              pdbs As DAO.Database, _
                              psQry As String) _
                              As String
  '// =====================================================
  '// Methode   | Ermittelt den Abfragetypen
  '// -----------------------------------------------------
  '// Parameter | pdbs  - Datenbankobjekt
  '               psQry - Name der Abfrage
  '// -----------------------------------------------------
  '// Rückgabe  | String - Bezeichnung des Abfragetyps
  '// -----------------------------------------------------
  '// Erstellt  | Manuela Kulpa
  '//           | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  '// Beispielaufruf:
  '// ?A2XGetQryType(CurrentDb,"qryTest")
  '// =====================================================
 
  Dim qdf As DAO.QueryDef
  Dim sType As String
 
  On Error GoTo A2XGetQryType_Error
 
  Set qdf = pdbs.QueryDefs(psQry)
 
  Select Case qdf.Type
    Case dbQSelect: sType = "Auswahlabfrage"
    Case dbQAction: sType = "Aktionsabfrage"
    Case dbQCrosstab: sType = "Kreuztabellenabfrage"
    Case dbQDelete: sType = "Löschabfrage"
    Case dbQUpdate: sType = "Aktualisierungsabfrage"
    Case dbQAppend: sType = "Anfügeabfrage"
    Case dbQMakeTable: sType = "Tabellenerstellungsabfrage"
    Case dbQDDL: sType = "Datendefinitionsabfrage"
    Case dbQSQLPassThrough: sType = "Pass-through-Abfrage"
    Case dbQSetOperation: sType = "Unionabfrage"
  End Select
 
  A2XGetQryType = sType
 
A2XGetQryType_Exit:
  On Error GoTo 0
  Exit Function
 
A2XGetQryType_Error:
  Select Case Err.Number
    Case Else
      MsgBox "Fehler " & Err.Number & ": " & _
             Err.Description, vbCritical, _
             "modData.A2XGetQryType"
  End Select
  Resume A2XGetQryType_Exit
 
End Function