Hallo Christian,
ich habe vierTabellen definiert:
tblMieter:
ID Autowert
Mietername Text
tblWohnung:
ID Autowert
wohnungsNr Zahl
Miete Währung
tblVermietungen:
ID Autowert
WohnungID zahl
MieterID zahl
mietbeginn date
mietende date
tblDatum:
ID autowert
DatumDate
vermieteteWohnungen zahl
verbietungswert Währung
Bei den Beziehungen habe ich zwei Verknüpfungen mit referenzieller Integrität eingetragen zwischen tblMieter.ID - tblVerbietungen.MieterID und zwischen tblWohnung.ID - tblVerbietungen.WohnungID
Die Tabelle tblDatum habe ich mit den Monaten (jeweils der erste des Monats) gefüllt, für die ich eine Auswertung haben möchte.
Weiterhin gabe ich eine Abfrage "abfVerbietungen"
SELECT tblMieter.Mietername, tblVermietungen.mietbeginn, tblVermietungen.mietende, tblWohnung.Miete
FROM tblWohnung INNER JOIN (tblMieter INNER JOIN tblVermietungen ON tblMieter.ID = tblVermietungen.MieterID) ON tblWohnung.Id = tblVermietungen.WohnungID;
definiert. Mit der Prozedur
Public Sub Vermietungsauslastung()
Dim recDate As New ADODB.Recordset
recDate.Open "SELECT * from tblDatum", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
While Not recDate.EOF
recDate!vermieteteWohnungen = DCount("*", "abfVermietungen", Format(recDate!Datum, "YYYYMM") & " between format(mietbeginn,'YYYYMM') and format(mietende,'YYYYMM')")
recDate!vermietungswert = Nz(DSum("Miete", "abfVermietungen", Format(recDate!Datum, "YYYYMM") & " between format(mietbeginn,'YYYYMM') and format(mietende,'YYYYMM')"), 0)
recDate.Update
recDate.MoveNext
Wend
recDate.Close
End Sub
habe ich die Tabelle tblDatum mit den berechneten Werten gefüllt und die Abfrage "Auslastung"
SELECT tblDatum.Datum, tblDatum.vermieteteWohnungen, tblDatum.Vermietungswert, [vermieteteWohnungen]/DCount("*","TblWohnung") AS Ausllasungsfaktor, [Vermietungswert]/DSum("Miete","tblWohnung") AS MonitaererFaktor
FROM tblDatum;
gibt mir die Werte zurück, die du suchst.
Hast du dir das so vorgestellt?
Gruß
Ralf