PDA

Vollständige Version anzeigen : Abfrageergebnisse in ungebundenen Steuerelementen/Unterberichten anzeigen


FrankB
10.07.2001, 14:07
Hallo alle zusammen,

lang ist es her, dass ich in Access programmiert habe und nun bereiten mir scheinbar einfache Dinge Probleme. Hoffe, mir kann jemand helfen:
Eine Abfrage mit mehreren Umfrageergebnissen soll mit dem Kriterium (Auswertungszeitraum) Zwischen [reports]![Auswert_Patges_1]![von] Und [reports]![Auswert_Patges_1]![bis] als Datenherkunft für einen Bericht dienen. Die ungebundenen Felder [von] und [bis] werden von einem Formular übernommen.
Nun möchte ich für diesen Zeitraum in mehreren Feldern Berechnungen oder Auswertungen (z.B. Anzahl, Summe, etc.) auswerfen lassen, bekomme dann aber meistens die Meldung: Ausdruck zu komplex oder 2 Parameter nicht übergeben.

Folgende Varianten (auszugsweise) hatte ich schon vergebens probiert:
z.B. im Feld Patges mit: = Anzahl ([LfNr])
oder einer eigenen Funktion:

Function SelectRecordCountges(Index As Long, Tabelle As String) As Integer

Dim db As Database, Rst As Recordset
Dim strSQL As String
'Dim dat1, dat2 As Date

'[Lf Nr] = Index
'[Patientenumfrage] = Tabelle
'[Eingabedatum] = Datum
'Reports!Auswert_Patges_1!von = dat1
'Reports!Auswert_Patges_1!bis = dat2

Set db = CurrentDb
'strSQL = "SELECT Count([" & Index & "]) AS Datensatzanzahl FROM [" & Tabelle & "] " & _
'"WHERE [" & Eingabedatum & "] = " & Nummer & ";"
strSQL = "SELECT Count([" & Index & "]) AS Datensatzanzahl FROM [" & Tabelle & "] " & _
"WHERE [Datum] Between [Reports]![Auswert_Patges_1]![von] And [Reports]![Auswert_Patges_1]![bis];"
'strSQL = "SELECT Count([" & Index & "]) AS Datensatzanzahl FROM [" & Tabelle & "];"

Set Rst = db.OpenRecordset(strSQL)
If Not (Rst.RecordCount = 0) Then
SelectRecordCountges = Rst!Datensatzanzahl
Else
SelectRecordCountges = 0
End If
Rst.Close
db.Close

End Function
Mein 3. Versuch: Ein Unterbericht greift auf eine andere Abfrage zu, bei der z.B. nur mittels der Funktion „Anzahl“ die Datensätze im Auswertungszeitraum ebenfalls über den o.g. Kriterienausdruck ermittelt wird.
Öffne ich den Unterbericht und gebe ich die angeforderten Parameter an erhalte ich auch ein Ergebnis angezeigt. Binde ich diesen U-Bericht aber in den Hauptbericht ein, von dem er sich den Auswertungszeitraum holen soll, erhalte ich nur ein leeres Feld im U-Bericht.

Hat jemand einen Lösungsvorschlag?

Danke. Frank

hohmi
10.07.2001, 15:41
hallo frank,

gehe davon aus dass du mit "holen" meinst der unterbericht holt sich die werte aus steuerelementen des hauptb(soll keien kritik am ausdruck sein)
viellecicht hast du einfach vergessen dass du , wie bei formularen auch , um auf ein steuerelment eines unterf, zuzugreifen immer über das hauptf gehen musst also:

Forms![hauptform]![unterform].Form[steuerelemnt des unterforms]= Me.[hauptform]

bin nicht sicher ob ich dir weiterhelfen konnte , dein beispil ist für mich eine niveau wo ich noch nicht ganz bin

gruss markus