#error-value in query

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi all.

can I check that the result in a field is #error and can I convert to Null
or zero.

My problem is:

in a complex query with statement 'Left join' there is sometimes no records
on the right side then I see the value #error in the fields the right
side-table(query).
I this case I won't add the value to an another field.

Thanks.
Bye
Roland
 
HI,

With the function nz([FieldName],[DefaultValue]) you can replace null values
by a default value, maybe this helps
 
Post relevant Table Structure / relevant Field details and the SQL String of
your Query.
 
I will try this but I think is to complex.

Here the queries:

SELECT tblRechnung.RechnungsID, qrySummeAlleEinzahlungen.SummeEinzahlungen,
Format([GBrutto]-IIf(IsNull([SummeEinzahlungen]),0,[SummeEinzahlungen]),"Currency") AS offen,
IIf([tblRechnung.RechnungsTyp]<>"S",Format([qryRechnungGesamtBrutto.GesamtBrutto]*(1-IIf(IsNull([tblRechnung.Nachlass]),0,[tblRechnung.Nachlass])),"Currency"),
Format([qryRechnungGesamtBrutto.GesamtBrutto]*(1-IIf(IsNull([tblRechnung.Nachlass]),0,[tblRechnung.Nachlass]))-IIf(IsNull([qryAnzahlungensRechnungen.GesamtBrutto]),0,
[qryAnzahlungensRechnungen.GesamtBrutto]),"Currency")) AS GBrutto,
tblRechnung.AuftragsID, qryAnzahlungensRechnungen.GesamtBrutto,
tblRechnung.Rechnungstyp
FROM (((tblAdressStamm INNER JOIN tblRechnung ON tblAdressStamm.KundenID =
tblRechnung.KundenID)
INNER JOIN qryRechnungGesamtBrutto ON tblRechnung.RechnungsID =
qryRechnungGesamtBrutto.RechnungsID)
LEFT JOIN qrySummeAlleEinzahlungen ON tblRechnung.RechnungsID =
qrySummeAlleEinzahlungen.RechnungsID)
LEFT JOIN qryAnzahlungensRechnungen ON tblRechnung.AuftragsID =
qryAnzahlungensRechnungen.AuftragsID;


subquery: qryAnzahlungensRechnungen
SELECT tblRechnung.RechnungsID, tblRechnung.AuftragsID,
Sum(CCur(Nz([PreisNetto])*Nz([Anzahl])*(1-Nz([tblRechnungDetails.Nachlass]))*[MwstSatz]))
AS GesamtMwstPos,
Sum(CCur(Nz([PreisNetto])*Nz([Anzahl])*(1-Nz([tblRechnungDetails.Nachlass]))))
AS GesamtNettoPos, tblRechnung.Rechnungstyp,
CCur((1-Nz([tblRechnung.Nachlass]))*[GesamtNettoPos]) AS GesamtNetto,
CCur((1-Nz([tblRechnung.Nachlass]))*[GesamtMwstPos]) AS GesamtMwst,
[GesamtMwst]+[GesamtNetto] AS GesamtBrutto, tblRechnung.Rechnungsdatum
FROM tblRechnung INNER JOIN tblRechnungDetails ON tblRechnung.RechnungsID =
tblRechnungDetails.RechnungsID
GROUP BY tblRechnung.RechnungsID, tblRechnung.AuftragsID,
tblRechnung.Rechnungstyp, tblRechnung.Rechnungsdatum, tblRechnung.Nachlass
HAVING
(((Sum(CCur(Nz([PreisNetto])*Nz([Anzahl])*(1-Nz([tblRechnungDetails.Nachlass])))))<>0)
AND ((tblRechnung.Rechnungstyp)="A" Or (tblRechnung.Rechnungstyp)="Z"));


The problem is the field [qryAnzahlungensRechnungen.GesamtBrutto].
I get the #error-value when there is no record to the [AuftragsID].

So I get an #error-value for the next expression too.
Format([qryRechnungGesamtBrutto.GesamtBrutto]*(1-IIf(IsNull([tblRechnung.Nachlass]),0,[tblRechnung.Nachlass]))-IIf(IsNull([qryAnzahlungensRechnungen.GesamtBrutto]),0,
[qryAnzahlungensRechnungen.GesamtBrutto]),"Currency"))

I can't check IIf(IsNull([qryAnzahlungensRechnungen.GesamtBrutto]),0,
[qryAnzahlungensRechnungen.GesamtBrutto]).
The result is #error too because
[qryAnzahlungensRechnungen.GesamtBrutto]-value is #error.

Thanks
Roland Krause
 
IT looks like you want to change some of the syntax.

Where you have, for example, [qryRechnungGesamtBrutto.GesamtBrutto], this
should probably be: [qryRechnungGesamtBrutto].[GesamtBrutto].

The syntax is [table or query name].[field name].

Good Luck!
--
Chaim


R Krause said:
I will try this but I think is to complex.

Here the queries:

SELECT tblRechnung.RechnungsID, qrySummeAlleEinzahlungen.SummeEinzahlungen,
Format([GBrutto]-IIf(IsNull([SummeEinzahlungen]),0,[SummeEinzahlungen]),"Currency") AS offen,
IIf([tblRechnung.RechnungsTyp]<>"S",Format([qryRechnungGesamtBrutto.GesamtBrutto]*(1-IIf(IsNull([tblRechnung.Nachlass]),0,[tblRechnung.Nachlass])),"Currency"),
Format([qryRechnungGesamtBrutto.GesamtBrutto]*(1-IIf(IsNull([tblRechnung.Nachlass]),0,[tblRechnung.Nachlass]))-IIf(IsNull([qryAnzahlungensRechnungen.GesamtBrutto]),0,
[qryAnzahlungensRechnungen.GesamtBrutto]),"Currency")) AS GBrutto,
tblRechnung.AuftragsID, qryAnzahlungensRechnungen.GesamtBrutto,
tblRechnung.Rechnungstyp
FROM (((tblAdressStamm INNER JOIN tblRechnung ON tblAdressStamm.KundenID =
tblRechnung.KundenID)
INNER JOIN qryRechnungGesamtBrutto ON tblRechnung.RechnungsID =
qryRechnungGesamtBrutto.RechnungsID)
LEFT JOIN qrySummeAlleEinzahlungen ON tblRechnung.RechnungsID =
qrySummeAlleEinzahlungen.RechnungsID)
LEFT JOIN qryAnzahlungensRechnungen ON tblRechnung.AuftragsID =
qryAnzahlungensRechnungen.AuftragsID;


subquery: qryAnzahlungensRechnungen
SELECT tblRechnung.RechnungsID, tblRechnung.AuftragsID,
Sum(CCur(Nz([PreisNetto])*Nz([Anzahl])*(1-Nz([tblRechnungDetails.Nachlass]))*[MwstSatz]))
AS GesamtMwstPos,
Sum(CCur(Nz([PreisNetto])*Nz([Anzahl])*(1-Nz([tblRechnungDetails.Nachlass]))))
AS GesamtNettoPos, tblRechnung.Rechnungstyp,
CCur((1-Nz([tblRechnung.Nachlass]))*[GesamtNettoPos]) AS GesamtNetto,
CCur((1-Nz([tblRechnung.Nachlass]))*[GesamtMwstPos]) AS GesamtMwst,
[GesamtMwst]+[GesamtNetto] AS GesamtBrutto, tblRechnung.Rechnungsdatum
FROM tblRechnung INNER JOIN tblRechnungDetails ON tblRechnung.RechnungsID =
tblRechnungDetails.RechnungsID
GROUP BY tblRechnung.RechnungsID, tblRechnung.AuftragsID,
tblRechnung.Rechnungstyp, tblRechnung.Rechnungsdatum, tblRechnung.Nachlass
HAVING
(((Sum(CCur(Nz([PreisNetto])*Nz([Anzahl])*(1-Nz([tblRechnungDetails.Nachlass])))))<>0)
AND ((tblRechnung.Rechnungstyp)="A" Or (tblRechnung.Rechnungstyp)="Z"));


The problem is the field [qryAnzahlungensRechnungen.GesamtBrutto].
I get the #error-value when there is no record to the [AuftragsID].

So I get an #error-value for the next expression too.
Format([qryRechnungGesamtBrutto.GesamtBrutto]*(1-IIf(IsNull([tblRechnung.Nachlass]),0,[tblRechnung.Nachlass]))-IIf(IsNull([qryAnzahlungensRechnungen.GesamtBrutto]),0,
[qryAnzahlungensRechnungen.GesamtBrutto]),"Currency"))

I can't check IIf(IsNull([qryAnzahlungensRechnungen.GesamtBrutto]),0,
[qryAnzahlungensRechnungen.GesamtBrutto]).
The result is #error too because
[qryAnzahlungensRechnungen.GesamtBrutto]-value is #error.

Thanks
Roland Krause


Van T. Dinh said:
Post relevant Table Structure / relevant Field details and the SQL String of
your Query.
 
Back
Top