Hallo zusammen,
bin relativ neu unter Access und habe eine Anwendung geschrieben die ich nun unter der Runtime-Version ausführen will.
Ich setze immer wieder Parameter mit DoCmd.SetParameter um dann anschließend Reports aufzurufen.
DoCmd.SetParameter "Datum", strDatum
DoCmd.OpenReport "rpt_gebuchte_Termine", acViewPreview
In der Vollversion (64-Bit) klappt das ohne Probleme, lasse ich die Anwendung jedoch unter der Runtime-Version laufen erhalte ich beim Aufruf der Reports folgende Fehlermeldung:
"Der Befehl oder die Aktion 'FestlegenParameter' ist derzeit nicht verfügbar"
Kennt jemand das Problem, bzw. gibt es eine Lösungsmöglichkeit?
Für jede Hilfe wäre ich dankbar.
Gruß
Hallo,
wirf diese Parameter-Übergabe weg und öffne den Bericht mit Übergabe eines Filterkriteriums (Where-Condition).
Bei Datum muss die USA- oder ISO-Formatierung angewendet werden:
DoCmd.OpenReport "rpt_gebuchte_Termine", acViewPreview, ,"[Datum] = " & Format(strDatum, "\#yyyy-mm-dd\#")
Zudem muss die DB fehlerfrei(!, es ist dabei notwendig, in JEDEM Modulkopf "Option Explicit" einzufügen, falls noch nicht geschehen) im VBA-Editor unter "Debuggen/Kompilieren" kompiliert und es sollten keine reservierten Wörter verwendet werden.
Und nicht zuletzt: Die Runtime muss ebenfalls die 64 Bit Version sein.
Zitat von: DF6GL am Juni 27, 2020, 11:37:44Und nicht zuletzt: Die Runtime muss ebenfalls die 64 Bit Version sein.
Nur wenn die Anwendung als Acc
DE kompiliert wird.
Hallo Phil,
eine 64-Bit-accdb läuft mit 32bit-Runtime?
Zitat von: DF6GL am Juni 27, 2020, 16:14:16eine 64-Bit-accdb läuft mit 32bit-Runtime?
Das acc
db-Format ist identisch, egal welche Access Edition (32/64bit) verwendet wurde, um sie zu erstellen. Nur der kompilierte Code unterscheidet sich. D.h. eine Accdb ist immer lauffähig, nur muss evtl. der Code neu kompiliert werden, was aber zumindest bei Bedarf automatisch passiert.
Daher gilt das nur für die AccDB aber nicht für eine AccDE.
Es kann natürlich sein, dass im VBA-Code Anweisungen enthalten sind, die nur mit einer bestimmten Version kompiliert werden können, aber das betrifft eigentlich nur die Windows API und ggf. externe Bibliotheken.
Hallo,
habe ich inzwischen wie empfohlen gelöst.
Datum = Now
strDatum = "#" & Format(Datum, "yyyy\/mm\/dd") & "#"
strWhere = "[TermStatus] = " & """geplant"" and [TermDatum] = " & strDatum _
& " and Month(Geburtstag)=Month(" & strDatum & ") and Day(Geburtstag)=Day(" & strDatum & ")"
DoCmd.OpenReport "rpt_Geburtstage", acViewPreview, , strWhere
Ein kleines Problem hatte ich noch damit, dass ich die übergebenen Parameter auch im Bericht angezeigt habe. Dies läuft nun über eine globale Variable + Public Function.
Danke für die Hilfe
Gruss
Albert
Hallo,
das könnte auch mit dem Openargs-Parameter der Openreport-Methode gelöst werden.
@phil,
ja, danke...