Access domwert kleiner gleich

Discussion:

DomWert (DLookUp) in Abfrage

(zu alt für eine Antwort)

Hallo Leute,

folgendes Problem (Access 2000):

Ich habe eine Datenbank zur Verwaltung unseres Fuhrparks erstellt. Hier
werden in einer Tabelle tblFahrzeuge u.a. die Ein- und Verkaufsdaten
festgehalten.

In einer zweiten Tabelle tblGlobaleParameter sind u.a. die unterschiedlichen
Mehrwertsteuersätze in dieser Form festgehalten:

Parameter Wert GültigVon
GültigBis
----------------------------------------------------------------------------------
Umsatzsteuersatz 1,16 01.04.1998
31.12.2006
Umsatzsteuersatz 1,19 01.01.2007
31.12.9999

In einer Abfrage selektiere ich z.B. alle Fahrzeugverkäufe in einem
vorgegebenen Zeitraum. Zusätzlich soll in der Abfrage der jeweils gültige
Umsatzsteuersatz ausgegeben werden. Ich habe hier in der Abfrage folgendes
Feld eingefügt:

UST: DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
[Verkaufsdatum] Between GültigVon And GültigBis")

Wenn ich die Abfrage nun laufen lasse, bekomme ich diese Fehlermeldung:
Der Ausdruck, den Sie als Abfrageparameter eingegeben haben, hat folgenden
Fehler verursacht: Access kann den eingegebenen Namen 'Verkaufsdatum' nicht
finden.

Das Feld 'Verkaufsdatum' ist in der Abfrage enthalten.

Was mache ich falsch?

Vielen Dank schon mal im Voraus für Eure Tipp.

Gruß Tobi

Hallo, Tobias,

Post by Tobias Gramer
UST: DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
[Verkaufsdatum] Between GültigVon And GültigBis")

versuche mal

UST:
DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
" & Format([Verkaufsdatum],"\#yyyy\-mm\-dd\#") & " Between GültigVon
And GültigBis")

Gruss - Mark

--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.

Hallo Mark,

jetzt wird die Abfrage ausgeführt, allerdings steht im Feld 'UST' jetzt
#Fehler.
Außerdem hat er die Formel im Format-Teil so umgewandelt:

UST: DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
" & Format([Verkaufsdatum];'"#-yyyy-"mm"-dd#"') & " Between GültigVon
And GültigBis").

Hast Du noch eine Idee?

Grüßle

Post by Mark Doerbandt
Hallo, Tobias,

Post by Tobias Gramer
UST: DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
[Verkaufsdatum] Between GültigVon And GültigBis")

versuche mal
DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
" & Format([Verkaufsdatum],"\#yyyy\-mm\-dd\#") & " Between GültigVon
And GültigBis")
Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm
Bitte keine eMails auf Newsgroup-Beiträge senden.

Hallo, Tobias,

Post by Tobias Gramer
UST: DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
" & Format([Verkaufsdatum];'"#-yyyy-"mm"-dd#"') & " Between GültigVon
And GültigBis").

das sieht natuerlich nicht gut aus.

Versuche mal

UST:
DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
#" & Format([Verkaufsdatum];"yyyy-mm-dd") & "# Between GültigVon
And GültigBis").

Du koenntest alternativ auch einfach die Abfrage um einen JOIN nach
tblGlobaleParameter erweitern.

Gruss - Mark

--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.

Hallo, Tobias,

Wie würde das mit einem JOIN aussehen?

wie sieht denn der SQL-Code der Abfrage bisher aus?

Gruss - Mark

--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.

So:
SELECT tblFahrzeuge.Kennzeichen, tblFahrzeuge.[Fahrzeug-Ident-Nr],
tblFahrzeuge.Verkaufsdatum, tblBaumuster.Modell,
DLookUp("Wert","tblGlobaleParameter","Parameter='Umsatzsteuersatz' And
#" & Format([Verkaufsdatum],"""yyyy-""mm""-dd""") & "# Between GültigVon
And GültigBis") AS UST
FROM tblBaumuster INNER JOIN tblFahrzeuge ON tblBaumuster.Baumuster =
tblFahrzeuge.Baumuster
WHERE (((tblFahrzeuge.Verkaufsdatum) Between #9/1/2006# And #7/31/2007#));

Gruß Tobi

Post by Mark Doerbandt
Hallo, Tobias,

Wie würde das mit einem JOIN aussehen?

wie sieht denn der SQL-Code der Abfrage bisher aus?
Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm
Bitte keine eMails auf Newsgroup-Beiträge senden.

Hallo, Tobias,

Post by Tobias Gramer
SELECT tblFahrzeuge.Kennzeichen, tblFahrzeuge.[Fahrzeug-Ident-Nr],
tblFahrzeuge.Verkaufsdatum, tblBaumuster.Modell,
DLookUp("Wert","tblGlobaleParameter","Parameter='Umsatzsteuersatz' And
#" & Format([Verkaufsdatum],"""yyyy-""mm""-dd""") & "# Between GültigVon
And GültigBis") AS UST
FROM tblBaumuster INNER JOIN tblFahrzeuge ON tblBaumuster.Baumuster =
tblFahrzeuge.Baumuster
WHERE (((tblFahrzeuge.Verkaufsdatum) Between #9/1/2006# And #7/31/2007#));

Das koennte dann so aussehen:

SELECT
F.Kennzeichen,
F.[Fahrzeug-Ident-Nr],
F.Verkaufsdatum,
B.Modell,
G.[Wert] AS UST
FROM
tblBaumuster B,
tblFahrzeuge F,
tblGlobaleParameter G
WHERE
(B.Baumuster = F.Baumuster) AND
(F.Verkaufsdatum Between #9/1/2006# And #7/31/2007#) AND
(G.[Parameter]='Umsatzsteuersatz') AND
(F.Verkaufsdatum Between G.GültigVon And G.GültigBis);

Anmerkung: Wert und Parameter sind keine günstigen Namen fuer Spalten,
da entweder reservierte Worte oder deutsche Uebersetzungen davon.

Gruss - Mark

--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.

Super, jetzt funktioniert es.
Ich danke Dir:-)
Gruß Tobi

Post by Mark Doerbandt
Hallo, Tobias,

Post by Tobias Gramer
SELECT tblFahrzeuge.Kennzeichen, tblFahrzeuge.[Fahrzeug-Ident-Nr],
tblFahrzeuge.Verkaufsdatum, tblBaumuster.Modell,
DLookUp("Wert","tblGlobaleParameter","Parameter='Umsatzsteuersatz' And
#" & Format([Verkaufsdatum],"""yyyy-""mm""-dd""") & "# Between GültigVon
And GültigBis") AS UST
FROM tblBaumuster INNER JOIN tblFahrzeuge ON tblBaumuster.Baumuster =
tblFahrzeuge.Baumuster
WHERE (((tblFahrzeuge.Verkaufsdatum) Between #9/1/2006# And #7/31/2007#));

SELECT
F.Kennzeichen,
F.[Fahrzeug-Ident-Nr],
F.Verkaufsdatum,
B.Modell,
G.[Wert] AS UST
FROM
tblBaumuster B,
tblFahrzeuge F,
tblGlobaleParameter G
WHERE
(B.Baumuster = F.Baumuster) AND
(F.Verkaufsdatum Between #9/1/2006# And #7/31/2007#) AND
(G.[Parameter]='Umsatzsteuersatz') AND
(F.Verkaufsdatum Between G.GültigVon And G.GültigBis);
Anmerkung: Wert und Parameter sind keine günstigen Namen fuer Spalten,
da entweder reservierte Worte oder deutsche Uebersetzungen davon.
Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm
Bitte keine eMails auf Newsgroup-Beiträge senden.

Leider kommt dann immer noch #Fehler.
Für mich sieht das aus, als wenn er das Feld 'Verkaufsdatum' nicht finden
würde, obwohl es in der Abfrage enthalten ist.

Wie würde das mit einem JOIN aussehen?
Sorry, bin noch nicht ganz so fit darin:-)

Post by Mark Doerbandt
Hallo, Tobias,

Post by Tobias Gramer
UST: DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
" & Format([Verkaufsdatum];'"#-yyyy-"mm"-dd#"') & " Between GültigVon
And GültigBis").

das sieht natuerlich nicht gut aus.
Versuche mal
DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
#" & Format([Verkaufsdatum];"yyyy-mm-dd") & "# Between GültigVon
And GültigBis").
Du koenntest alternativ auch einfach die Abfrage um einen JOIN nach
tblGlobaleParameter erweitern.
Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm
Bitte keine eMails auf Newsgroup-Beiträge senden.

Post by Mark Doerbandt

Post by Tobias Gramer
DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz'
And " & Format([Verkaufsdatum];'"#-yyyy-"mm"-dd#"') & " Between
GültigVon
And GültigBis").

das sieht natuerlich nicht gut aus.
Versuche mal
DomWert("Wert";"tblGlobaleParameter";"Parameter='Umsatzsteuersatz' And
#" & Format([Verkaufsdatum];"yyyy-mm-dd") & "# Between GültigVon
And GültigBis").
...

Denglisch, deshalb zreißt's ihm das. ;-)
An der deutschen Oberfläche: "jjjj-mm-tt"

--
cu
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com + Info zur
Access-Entwickler-Konferenz (AEK10) im Oktober in Nürnberg

Hallo, Karl,

Post by Karl Donaubauer
Denglisch, deshalb zreißt's ihm das. ;-)
An der deutschen Oberfläche: "jjjj-mm-tt"

in manchen Situationen bereue ich es doch, nur mit englischen
Versionen zu entwickeln. Meist aber nicht!

Gruss - Mark

Hallo Mark

Post by Mark Doerbandt
in manchen Situationen bereue ich es doch, nur mit englischen
Versionen zu entwickeln. Meist aber nicht!

Deshalb poste ich hier meist auch gleich die SQL Statements und nicht das
was mir der Abfrageeditor dazu vorgaukelt.

Gruss
Henry

--
Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Loading...

Wie viele DAtensätze kann Access verarbeiten?

Weiß jemand wieviele DAtensätze eine Tabelle in access haben darf? Es gibt keine maximale Anzahl von Datensätzen sondern nur diese Begrenzung der Speichergröße. Andere wichtige Maximalgrenzen pro Tabelle: 255 Felder, 32 Indizes, 2000 Zeichen pro Datensatz (ausgenommen sind dabei Felder vom Typ Memo und OLE).

Kann man mit Access rechnen?

Access verarbeitet einen in Nummernzeichen gesetzten Wert als Datentyp "Datum/Uhrzeit". Da diese Werte als Datum/Uhrzeit-Daten verarbeitet werden, können Sie Berechnungen auf diese Werte anwenden und beispielsweise ein Datum von einem anderen subtrahieren.

Was ist eine Aktionsabfrage in MS Access?

Aktionsabfragen dienen in Access – wie der Name schon sagt – dazu, bei der Ausführung der Abfrage bestimmte Aktionen durchzuführen. Lorenz Hölscher zeigt Ihnen in diesem Video-Kurs, wie Sie mit Aktionsabfragen Tabellen erstellen, Daten an bestehende Tabelle anfügen, Daten in Tabellen aktualisieren oder Daten löschen.

Was ist DMin?

Die Funktionen "DMin" und "DMax" geben die Minimal- und Maximalwerte zurück, die Kriterien erfüllen. Wenn Ausdruck numerische Daten identifiziert, geben die Funktionen "DMin" und "DMax" numerische Werte zurück.