Ich habe ein Unterformular, das ich versuchen möchte, basierend auf mehreren Checkbox-Auswahlen zu ändern. Für jedes Kontrollkästchen habe ich ein Ereignis nach dem Update geschrieben, das eine öffentliche Funktion aufruft, basierend darauf, welche Boxen geprüft wurden/wie viele ausgewählt wurden. Der erste Teil der Funktion ist wie folgt, wobei Zuhause ist die Hauptform und „ALLProgressTracking“ wird das Unterformular:Füttern von Funktionsargumenten in die Kreuztabellenabfrage
Public Function ProgressDisplay(argNoFields As Integer, Optional argField1 As String, Optional argField2 As String, Optional argField3 As String)
Dim strSQL As String
If argNoFields = 1 Then
strSQL = "TRANSFORM Sum([StatusTracking Query].CountofProjectID) AS CountOfProjects " & _
"SELECT [StatusTracking Query]." & argField1 & " " & _
"FROM [StatusTracking Query] " & _
"GROUP BY [StatusTracking Query]." & argField1 & " " & _
"PIVOT [StatusTracking Query].ValueDate;"
Forms!Home![ALLProgressTracking].SourceObject = "Form.IndProgressTracking"
Forms!Home![ALLProgressTracking].Form.RecordSource = strSQL
Das Problem ist, dass ich die Formulare bereits mit einem der möglichen Feldern drei gebaut gebunden als eine der Zeilenüberschriften (es ist eine Kreuztabellenform/Abfrage) daher, wenn ich versuche, die SQL mit dem obigen Code für ein alternatives Feld zu ändern, bekomme ich #Name anstelle der richtigen Zeilenüberschriften. Ich vermute, es ist eine Frage der Änderung der SQL-Anweisung, um die Funktion für das Teilformular, das ich als Quellobjekt rufe, zu referenzieren, aber ich bin verloren, wie dies zu erreichen ist.
Zum Beispiel für das Formular IndProgressTracking ich die folgende SQL für die Form haben:
TRANSFORM Sum([StatusTracking Query].CountOfProjectID) AS SumOfCountOfProjectID
SELECT [StatusTracking Query].Category
FROM [StatusTracking Query]
GROUP BY [StatusTracking Query].Category
PIVOT [StatusTracking Query].ValueDate;
Und wenn ich „Status“ fließen in die Funktion die Form mit den richtigen Zahlen für Projekt laden jedoch zählen #Name wie alle Zeilenüberschriften.
Hoffe das alles macht Sinn und jemand kann helfen!
Muss es wirklich eine Kreuztabellenabfrage sein? –
Ja, ich brauche die Abfrage/Formular, um die Anzahl der Projekte in jedem Status/Kategorie/Phase für jeden Monat im Laufe von etwa einem Jahr anzuzeigen, daher dachte ich, eine Kreuztabelle wäre die beste Option. – madelina
Vielleicht sehen Sie, ob Sie das gleiche Abfrageergebnis mit einer SELECT-Abfrage mit Zählungen und Gruppensummen erhalten können. Ich habe Kreuztabellen nicht häufig verwendet, aber ich vermute, dass Ihr Problem auf die Verwendung einer Kreuztabellenabfrage als die Datenquelle eines Formulars zurückzuführen ist, und versuchen Sie dann, sie zu aktualisieren. –