Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Welcher Fehler in der Function
Gehe zu Seite 1, 2  Weiter
zurück: Abfragenproblem bei Bezug innerhalb einer Tabelle weiter: Komma getrennte Ausgabe aus Access 2003 Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
karl03
kann jeden Tag dazu lernen


Verfasst am:
30. Mai 2010, 11:33
Rufname:

Welcher Fehler in der Function - Welcher Fehler in der Function

Nach oben
       Version: Office 2007

hallo
welche Fehler habe ich in der Function da ich beim leeren Feld
#Fehler sehe ?
Code:
Public Function erster(Einzugsdatum As Date, Auszugsdatum As Date) As String
    Dim d As Date
   
    d = "01.05.2010"
    erster = ""
    If d >= Einzugsdatum And d + 30 >= Auszugsdatum Then
        erster = ""
    End If
    If d <= Einzugsdatum And d <= Auszugsdatum Then
        erster = "OK"
    End If
    If Auszugsdatum = "" And Einzugsdatum < d Then
        erster = "Test1"
    End If
End Function
Danke fürs helfen


Abf5.jpg
 Beschreibung:
 Dateigröße:  16.98 KB
 Angeschaut:  631 mal

Abf5.jpg


AS55
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Mai 2010, 12:08
Rufname:


AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office XP (2002)

Vorweg: Wenn du in einer Abfrage eine Funktion verwendest, wird immer ein Fehler angezeigt, wenn der Input ein Nullwert ist - egal, ob du diesen Fehler in der Funktion abgefangen hast oder nicht. Du solltest in dem Fall (z.B.) nicht ...erster(einzug, Auszug), sondern ... erster(nz(Einzug,0), nz(Auszug,0) schreiben.

In deinem Falle ist aber die Funktion fehlerhaft. Du arbeitest mit als Datum definierten Variablen und verwendest dann Textwerte wie "1.5.2010" oder "". Das geht natürlich nicht. Der Datentyp "Datum" ist ein Zahlenwert vom Typ Integer, der lediglich als Text dargestellt wird.

Ich habe mal die absolut notwendigen Anpassungen gemacht, m.E. ist die Funktion aber immernoch schlecht, weil sie eine Reihe von denkbaren Konstellationen nicht erfaßt. Vielleicht ist das aber auch Absicht:
Code:
Public Function erster(Einzugsdatum As Date, Auszugsdatum As Date) As String
    Dim d As Date
 
'    d = "01.05.2010"                                             'AS30052010-
    d = 40299                                                     'AS30052010+
    erster = ""
    '(überflüssig)
'    If d >= Einzugsdatum And d + 30 >= Auszugsdatum Then         'AS30052010-
'       erster = ""                                               'AS30052010-
'    End If                                                       'AS30052010-
    If d <= Einzugsdatum And d <= Auszugsdatum Then
        erster = "OK"
    End If
'    If Auszugsdatum = "" And Einzugsdatum < d Then               'AS30052010-
    If Auszugsdatum = 0 And Einzugsdatum < d Then                 'AS30052010+
        erster = "Test1"
    End If
End Function
Statt der Zahl 40299 kannst du auch einen entsprechenden, als Datum formatierten Wert einsetzen. Ermitteln kannst du den Zahlenwert eines Datums, indem du das Datum in Excel eintippst und anschließend das Feld als Zahl formatierst.
_________________
Gruß

AS
KlausMz
Moderator Access


Verfasst am:
30. Mai 2010, 12:54
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

Hallo,
kannst Du mal beschreiben, was die Funktion machen soll?
Das ist mir nicht ganz klar.
Was soll passieren, wenn beide Felder leer sind?
Warum wird in der Funktion ein festest Datum vorgegeben (d) ?

@AS55
2 kleine Einsprüche.
Das Datum kann sehr wohl wie gezeigt (als String) an eine Date Variable übergeben werden. Die Zahl ist nicht notwendig. Das kannst Du testen.
Code:
Debug.Print d
gibt das richtige Datum aus.
Der Datentyp Datum/Zeit ist vom Typ Double und nicht Integer. Die Zeit ist der Dezimalteil dieser Doublezahl.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
AS55
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Mai 2010, 13:09
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office XP (2002)

Hallo Ihr beiden,

Klaus hat mit seinen Einsprüchen grundsätzlich recht, ich hatte aber aus einem bestimmten Grund 2gelogen": Wenn man sich einmal angewöhnt hat, ein Datum nicht als Text, sondern als Zahl aufzufassen, passieren bestimmte Fehler nicht.

In deinem Falle steckt ein solcher Fehler z.B. in der Zeile:
Code:
    If Auszugsdatum = "" And Einzugsdatum < d Then
die ich aus diesem Grunde korrigiert habe.

Der andere "Einspruch" von Klaus ist voll korrekt. Noch eine Info: Berücksichtigt man bei einem Datum auch die Zeit, so bedeutet ein bestimmtes Datum, z.B. 05.08.1955 genau "05.08.1955 00:00:00". Addiert man z.B. ein Datum "30.05.2010" und eine Zeit "13:05:00", so ist das Ergebnis "30.05.2010 13:05:00". Mit dem Format Datum dargestellt, ist das dann immernoch 30.05.2010, erst mit dem Erreichen von 24:00:00 (dargestellt als "00:00:00", Zahlenwert jedoch 1) "springt" das Datum auf 31.05.2010.

Entscheidend ist allerdings die Frage von Klaus: Was willst du damit erreichen?

Und den "Festwert" 21.05.2010 würde ich als weiteres Funktionsargument einsetzen.

_________________
Gruß

AS


Zuletzt bearbeitet von AS55 am 30. Mai 2010, 13:52, insgesamt einmal bearbeitet
karl03
kann jeden Tag dazu lernen


Verfasst am:
30. Mai 2010, 13:30
Rufname:


AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

danke dass ihr euch damit befasst, bin in Sachen funktion ein Anfänger
Was will ich als Resultat der Abfrage ,die noch mehere BettNr. u. Ein u. Auszug. enthält.

Ein Ergebniss wo ich sehe an welchen Tagen je Monat ein Bett belegt war oder nicht.
der "1" hat bedeutet ,der 1.05.2010
Es könnte auch eine Art Diagramm werden für den Überblick eines Monats

Das fixe Datum wollte ich mit einem Steuerelement eines geöffneten Form. erreichen.
Schaffte ich leider nicht.
Ich hoffe ein wenig Licht hineingebracht zu haben und sage Danke!!!
AS55
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Mai 2010, 13:55
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office XP (2002)

Ich denke, du machst es zu kompliziert. Wahrscheinlich kann man das ganze mit einer ganz einfachen Abfrage hinkriegen. Dazu bräuchte man aber mehr Infos zu deiner Tabellenstruktur.

Lade bitte eine
anonymisierte
abgespeckte Version
als
Access2003 oder niedriger -Datei
repariert und komprimiert
gezippt oder mit .rar komprimiert

hier hoch.

_________________
Gruß

AS
karl03
kann jeden Tag dazu lernen


Verfasst am:
30. Mai 2010, 14:22
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

in dem Fall ist es nicht wichtig welche Personen in den Betten waren sondern wann
waren sie belegt.
lg Karl



Db1.zip
 Beschreibung:

Download
 Dateiname:  Db1.zip
 Dateigröße:  29.26 KB
 Heruntergeladen:  17 mal

AS55
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Mai 2010, 14:41
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

Hab's jetzt mal mit Parameter-Abfrage gemacht:
Code:
SELECT tblBetten.BettID, tblBetten.ZimID, tblBetten.BettNr,
       TblBewZi.Einzugsdatum, TblBewZi.Auszugsdatum
FROM   tblBetten
       INNER JOIN TblBewZi
       ON tblBetten.BettID = TblBewZi.IDBett
WHERE  TblBewZi.Einzugsdatum<=[Stichtag: ]
AND    TblBewZi.Auszugsdatum>=[Stichtag: ];

_________________
Gruß

AS
karl03
kann jeden Tag dazu lernen


Verfasst am:
30. Mai 2010, 15:54
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

danke für deine Mühe
aber ob man auch zu so einem Ergebnis kommen kann weiß ich nicht .



Skala.jpg
 Beschreibung:
 Dateigröße:  32.77 KB
 Angeschaut:  740 mal

Skala.jpg


AS55
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Mai 2010, 18:54
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

Da kann man auf jeden Fall hin gelangen. Allerdings solltest du dir zunächst überlegen, ob du bei der Lösung dieses Problems

entweder

optimal lernen willst

oder

möglichst schnell eine Lösung willst.

Wenn du mir das schnellstmöglich mitteilen würdest, würde ich mir eine Lösung ausdenken.

_________________
Gruß

AS
karl03
kann jeden Tag dazu lernen


Verfasst am:
30. Mai 2010, 18:58
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

da ich es nicht so eilig habe möchte ich es auch gerne lernen
wie Schritt für Schritt weiter komme
Lg und danke
jens05
Moderator


Verfasst am:
30. Mai 2010, 19:03
Rufname:
Wohnort: ~~~~~

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

Hallo,
vielleicht wäre zur Darstellung das Flexgrid für dich etwas? AW: Urlaubsplanen über Access

_________________
mfg jens05 Wink
AS55
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Mai 2010, 19:24
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office XP (2002)

Ok.

Dann ganz systematisch.

1. Schau dir deine Tabelle (von 15.54h) an: Sie ist offensichtlich nicht in der Form, wie wir dies von Datenbanktabelle bzw. von Abfragen aus Datenbanken kennen. In Datenbank-Tabellen sind die Daten so organisiert, daß in einer Zeile jeweils Informationen einer Person, eines Gegenstandes oder eines Sachverhaltes wiedergeben. Die Spalten geben jeweils für alle Objekte die Ausprägung einer bestimmten Eigenschaft wieder.

Die Frage wäre also: welcher Gegenstand, welche Person oder Sachverhalt könnte hier also als Grundlage einer Tabellenzeile anzunehmen?

2. Die Antwort: Es ist der folgende Sachverhalt:

Zimmer ## ist am dd.mm.yyyy frei/belegt/abwesend* (* "abwesend" ist natürlich Quark für ein Zimmer, aber wir wissen was gemeint ist: es ist belegt, aber die Person ist abwesend)


Die entsprechende Tabelle - oder Ausgabe einer Abfrage - ist also folgendermaßen strukturiert:

StatusDatumID;ZimmerID;StichtagDatum;ZimmerStatus
1;109;01.05.2010;belegt
2;109;02.05.2010;belegt
...
8;109;08.05.2010;frei
...

3. Wann immer die Situation die ist, die wir jetzt haben, ist das Mittel zur gewünschten Darstellung der Daten die sog. Kreuztabellenabfrage. Wie man damit arbeitet, steht in der Access-Hilfe. Zur "hübschen Darstellung" brauchen wir dann noch die sog. "bedingte Formatierung", auch das findet man in der Hilfe.

4. Wie kommen wir nun zu der oben dargestellten Tabellenform? Offenbar brauchen wir eine Hilfstabelle mit allen Kalendertagen, denn bisher tauchen die Tage ja nur mit Anfangs- und Enddaten auf.

Hättest du auf Grundlage dieser Überlegungen eine Idee?

Teil sie kurz mit, wenn du keine deiner Meinung nach brauchbare Idee hast, sag bescheid. Ich will dich nur nicht mit der fertigen Lösung überfahren.

_________________
Gruß

AS
karl03
kann jeden Tag dazu lernen


Verfasst am:
30. Mai 2010, 19:48
Rufname:

AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office 2007

danke für die ausführliche Erklärung
zu 1.) Die "Skala.jpg" ist von Excel und diente nur zur Veranschaulichung

mit einer Kreuztabellenerstellung habe ich bis jetzt noch nicht gearbeitet
aber das werde ich mir in nächster Zeit genau ansehen.

mfg
AS55
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Mai 2010, 22:07
Rufname:


AW: Welcher Fehler in der Function - AW: Welcher Fehler in der Function

Nach oben
       Version: Office XP (2002)

AS55 am 30. Mai 2010 um 20:32 hat folgendes geschrieben:
Hi, wollte mich kurz melden. Ich bin mit der Abfrage ins Stocken geraten und hab jetzt keine Zeit, weiterzumachen. Melde mich nach 22 h.

So, das wär dann mal meine Lösung.

_________________
Gruß

AS



a_zimmer_300510_220600.zip
 Beschreibung:

Download
 Dateiname:  a_zimmer_300510_220600.zip
 Dateigröße:  21.38 KB
 Heruntergeladen:  23 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler abfangen, wenn Datenbank nicht da 5 bentakle 1106 08. Feb 2008, 12:50
Da Oansa Fehler abfangen, wenn Datenbank nicht da
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler beim import von Excel-Datei 2 Klausei 587 21. Dez 2007, 17:47
Marcore666 Fehler beim import von Excel-Datei
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler nach Aktualisierung 2 axbert 370 07. Dez 2007, 15:54
axbert Fehler nach Aktualisierung
Keine neuen Beiträge Access Tabellen & Abfragen: DB-Frage liefert Fehler: Falsche Anzahl an Argumenten 3 susi_777 1812 01. Nov 2007, 00:20
Nouba DB-Frage liefert Fehler: Falsche Anzahl an Argumenten
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler bei Division durch Null durch eine Null ersetzen 6 jsp 6257 25. Sep 2007, 15:50
jsp Fehler bei Division durch Null durch eine Null ersetzen
Keine neuen Beiträge Access Tabellen & Abfragen: FEHLER BEIM EINFÜGEN EINES OLE-OBJEKTES 3 roberto7 781 24. Sep 2007, 13:10
steffen0815 FEHLER BEIM EINFÜGEN EINES OLE-OBJEKTES
Keine neuen Beiträge Access Tabellen & Abfragen: Finde Fehler in Abfrage nicht 2 nakoda 583 06. Sep 2007, 19:38
Nouba Finde Fehler in Abfrage nicht
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenerstellungsabfrage Fehler! 5 ..::MaTzE::.. 598 19. Jun 2007, 15:07
Nouba Tabellenerstellungsabfrage Fehler!
Keine neuen Beiträge Access Tabellen & Abfragen: Datensatz löschen - Fehler 1017 - Datensatz ist gelöscht 0 wwwchrisde 1788 02. Mai 2007, 15:59
wwwchrisde Datensatz löschen - Fehler 1017 - Datensatz ist gelöscht
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage DateDiff ->Finde den Fehler nicht! 1 Schorsch84 5840 24. Aug 2006, 10:24
bogumiljackson SQL-Abfrage DateDiff ->Finde den Fehler nicht!
Keine neuen Beiträge Access Tabellen & Abfragen: Wo ist der Fehler???? 1 RobBase 586 16. Aug 2006, 10:09
viny Wo ist der Fehler????
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in der selectanweisung Hilfe!!!!!!!!!!!!!! 6 vbatobi 891 18. Apr 2006, 13:24
chris1337 Fehler in der selectanweisung Hilfe!!!!!!!!!!!!!!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe