MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 23.06.2003, 19:42   #1
RWg
MOF User
MOF User
Beeindruckt Funktionswerte als Kriterien in Abfragen ?

Hi folks,

ich habe im Klassenmodul eines Formulars :
------------------------------------------------
Public Sub step_Click()

Dim Mldg, Titel, Voreinstellung, Wert1
Mldg = "Steuerbescheinigung für welches Jahr ?" ' Aufforderung festlegen.
Titel = "Kalenderjahr" ' Titel festlegen.
Voreinstellung = "2003" ' Voreinstellung festlegen.
' Meldung, Titel und Standardwert anzeigen.

BeschJahr = InputBox(Mldg, Titel, Voreinstellung)

fct_BescheinigungsJahr

End Sub
------------------------------------------------

und in einem Standardmodul :
------------------------------------------------
Public Function fct_BescheinigungsJahr()

fct_BescheinigungsJahr = BeschJahr

End Function
------------------------------------------------

Jetzt versuche ich, den Funktionswert als Kriterium in
einer Abfrage zu nutzen
------------------------------------------------
fct_BescheinigungsJahr()
------------------------------------------------

Wenn ich den Wert, den die Funktion zurückgeben sollte, direkt
als Kriterium der Abfrage eingebe, bekomme ich das gewünschte
Ergebnis.
Mit der Funktion als Kriterium bekomme ich eine leere Abfrage.

Was mache ich falsch?

cu
Roland

__________________

Grüße
RWg
----------------------------------
Wer Tippfehler findet, darf sie behalten
meine Software: Win7 / Firefox 22.0 / MS Office 2007 // Mac OS X 10.6.8 / Firefox 22.0 / MS Office für Mac 2011 v14 / ...
meine Hardware: Intel (R) Core(TM)i5 CPU 760@2.80 GHz / 4 GB RAM // Intel Core i5 2,4 GHz / 4 GB 1067 MHz DDR3
RWg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 23.06.2003, 20:58   #2
gentry205
MOF User
MOF User
Standard

Hallo Roland,

wie sieht denn deine Abfrage aus? So kann ich schlecht etwas dazu sagen.
gentry205 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.06.2003, 11:26   #3
RWg
Threadstarter Threadstarter
MOF User
MOF User
Standard

@gentry205

naja, 'ne ganz simple Abfrage halt :

--------------------------------------------------------------------------
SELECT [Vorname] & " " & [Name] & ", " & [Strasse] & ", " & [PLZ] & " " & [Ort] AS VoNaAdr, tr_Mitglieder.GESCHLECHT, tr_Mitglieder.NAME, tr_Mitglieder.VORNAME, [Vorname] & " " & [Name] AS VoNa, tr_Mitglieder.STRASSE, [PLZ] & " " & [Ort] AS Adr, tr_Mitglieder.PLZ, tr_Mitglieder.ORT, Right([Datum],4) AS Dat
FROM tr_Zahlungen INNER JOIN tr_Mitglieder ON tr_Zahlungen.tr_Mitglieder_IDZ = tr_Mitglieder.tr_Mitglieder_ID
GROUP BY [Vorname] & " " & [Name] & ", " & [Strasse] & ", " & [PLZ] & " " & [Ort], tr_Mitglieder.GESCHLECHT, tr_Mitglieder.NAME, tr_Mitglieder.VORNAME, [Vorname] & " " & [Name], tr_Mitglieder.STRASSE, [PLZ] & " " & [Ort], tr_Mitglieder.PLZ, tr_Mitglieder.ORT, Right([Datum],4), tr_Mitglieder.AUSDAT
HAVING (((tr_Mitglieder.NAME)=[forms]![fr_Mitglieder]![name]) AND ((Right([Datum],4))=fct_BescheinigungsJahr()) AND ((tr_Mitglieder.AUSDAT) Is Null))
ORDER BY tr_Mitglieder.NAME, tr_Mitglieder.VORNAME;

--------------------------------------------------------------------------

Evtl. habe ich da ein Formatproblem mit dem Datum. Wird ein Datum mit der Funktion links() zum String oder bleibt es Date?

cu
Roland

__________________

Grüße
RWg
----------------------------------
Wer Tippfehler findet, darf sie behalten
meine Software: Win7 / Firefox 22.0 / MS Office 2007 // Mac OS X 10.6.8 / Firefox 22.0 / MS Office für Mac 2011 v14 / ...
meine Hardware: Intel (R) Core(TM)i5 CPU 760@2.80 GHz / 4 GB RAM // Intel Core i5 2,4 GHz / 4 GB 1067 MHz DDR3
RWg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.06.2003, 11:32   #4
erwin
MOF Koryphäe
MOF Koryphäe
Hinweis

wesentlicher scheint mir, WO die Variable "BeschJahr" deklariert ist. Diese muss als public (i.e. allg. Modul im Deklarationsbereich (=ganz oben ) definiert sein, damit das überhaupt funktionieren kann. Und zur Laufzeit muß die Var. natürlich einen "sinnvollen" Wert haben.

HTH Erwin

PS: ausserdem achtest du überhaupt nicht auf "sinnvolle" Datentypen - besser:

public function fct_BescheinigungsJahr()) as integer

...Year([Datum])=fct_BescheinigungsJahr())

Geändert von erwin (24.06.2003 um 11:34 Uhr).
erwin ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.06.2003, 12:37   #5
RWg
Threadstarter Threadstarter
MOF User
MOF User
Standard

@erwin

vielen Dank, jetzt funkts


>wesentlicher scheint mir, WO die Variable "BeschJahr" deklariert ist.
>Diese muss als public (i.e. allg. Modul im Deklarationsbereich
>(=ganz oben ) definiert sein, damit das überhaupt funktionieren kann.

Nö, das war's nicht. Ein Test bewies, daß die public function schon im Standardmodul und nicht im Deklarationsbereich liegen muß.

>Und zur Laufzeit muß die Var. natürlich einen "sinnvollen" Wert haben.
>HTH Erwin

>PS: ausserdem achtest du überhaupt nicht auf "sinnvolle"
>Datentypen - besser:

Dieser Tipp war's :-)
>public function fct_BescheinigungsJahr()) as integer

und dieser:
>...Year([Datum])=fct_BescheinigungsJahr())

Also nochmal : vielen Dank

cu Roland

__________________

Grüße
RWg
----------------------------------
Wer Tippfehler findet, darf sie behalten
meine Software: Win7 / Firefox 22.0 / MS Office 2007 // Mac OS X 10.6.8 / Firefox 22.0 / MS Office für Mac 2011 v14 / ...
meine Hardware: Intel (R) Core(TM)i5 CPU 760@2.80 GHz / 4 GB RAM // Intel Core i5 2,4 GHz / 4 GB 1067 MHz DDR3
RWg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.06.2003, 16:48   #6
erwin
MOF Koryphäe
MOF Koryphäe
Hinweis ergänzend...

>>wesentlicher scheint mir, WO die Variable "BeschJahr" deklariert ist.
>>Diese muss als public (i.e. allg. Modul im Deklarationsbereich
>>(=ganz oben ) definiert sein, damit das überhaupt funktionieren kann.

>Nö, das war's nicht. Ein Test bewies, daß die public function schon im >Standardmodul und nicht im Deklarationsbereich liegen muß.

NICHT die function, sondern die Variablendeklaration (hab' ich doch geschrieben)

Public blabla as integer

public function getBlabla()
getBlabla = blabla
end function

slg Erwin...
erwin ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.