PDA

Vollständige Version anzeigen : Aufruf von Unterprozeduren mit Call ?


bärbel
07.05.2004, 11:58
Hallo,

ich müsste in meinem Haupform die Unterprozedur, die das RecourdSource für das Unterform darstellt, aufrufen.

Das versuche ich so:

Call RS_ma (Me!komb_monat)

Meien Sub Prozedur im U-Form sieht so aus:

Public Sub RS_ma(mo_wert As String)
Me.RecordSource = "SELECT monate.Monat,ma_Name,ma_kuerzel,ma_kuerzel_1,ma_kuerzel_2," _
& " ma_kuerzel_3,ma_kuerzel_4, ma_kuerzel_5,ma_kuerzel_6, ma_kuerzel_7," _ usw.

Jetzt meckert er aber, dass heir eine unzulässige Verwendung des Schlüsselwertes Me vorliegt.


Wie kann ich das denn lösen?

Gruß Bärbel

ACCESS 2000
WIN XP

strausto
07.05.2004, 12:08
Meien Sub Prozedur im U-Form sieht so aus:


Code:
Public Sub RS_ma(mo_wert As String)
Me.RecordSource = "SELECT monate.Monat,ma_Name,ma_kuerzel,ma_kuerzel_1,ma_kuerzel_2," _
& " ma_kuerzel_3,ma_kuerzel_4, ma_kuerzel_5,ma_kuerzel_6, ma_kuerzel_7," _ usw.


Zunächst bin ich mir nicht sicher wo die Sub genau steht daher:

Public Sub RS_ma(mo_wert As String)
Forms("DeinHF").controls("DeinUF").Form.RecordSource = "SELECT monate.Monat,ma_Name,ma_kuerzel,ma_kuerzel_1,ma_kuerzel_2," _
& " ma_kuerzel_3,ma_kuerzel_4, ma_kuerzel_5,ma_kuerzel_6, ma_kuerzel_7," _ usw.

Insbesondere die Where Condition (usw.) ist schon von Bedeutung!!

bärbel
07.05.2004, 12:20
Hallo Torsten,

ich habe aus der Sub eine Public gemacht, damit ich die aus dem Hauptform aus ansprechen kann.

Wenn das auch anders geht?

Wie kann ich denn eine Private sub aus dem Hautform ansprechen?

Ich bekomme immer die Fehlermeldung, dass dei Sub oder Function nicht definiert ist.

Gruß Bärbel

Arne Dieckmann
07.05.2004, 12:27
Das ist ja wieder ein ganz anderer Fehler. Dann versuche einmal:

Call Me!NameDesUFosImHF.RS_ma (Me!komb_monat)

bärbel
07.05.2004, 12:31
Hallo Arne,

ja, versuche ich, Danke euch.

Gruß Bärbel

Arne Dieckmann
07.05.2004, 12:36
Sorry, so geht es anscheinend doch nicht. Aber hier ist die Lösung: http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=105206

bärbel
07.05.2004, 12:40
Hei noch mal,

jetzt findet er die Methode oder das Datenobjekt : RS_ma
nicht.

Die Sub des U-Forms habe ich wieder Private gemacht.

Insgesamt sieht es jetzt so aus:
1.Aufruf in Hauptform
Me.U_frm_ma.RS_ma (mon_wert)

2.Die Sub des Unterforms:
Private Sub RS_ma(mo_wert As String)

Me.RecordSource = "SELECT monate.Monat,ma_Name,ma_kuerzel,ma_kuerzel_1,ma_kuerzel_2," _
& " ma_kuerzel_3,ma_kuerzel_4, ma_kuerzel_5,ma_kuerzel_6, ma_kuerzel_7," _
& " ma_kuerzel_8,ma_kuerzel_9,ma_kuerzel_10, ma_kuerzel_11,ma_kuerzel_12," _
& " ma_kuerzel_13, ma_kuerzel_14, ma_kuerzel_15, ma_kuerzel_16,ma_kuerzel_17," _
& " ma_kuerzel_18, ma_kuerzel_19,ma_kuerzel_20, ma_kuerzel_21,ma_kuerzel_22," _
& " ma_kuerzel_23, ma_kuerzel_24, ma_kuerzel_25, ma_kuerzel_26, ma_kuerzel_27," _
& " ma_kuerzel_28,ma_kuerzel_29, ma_kuerzel_30, ma_kuerzel_31" _
& " FROM Mitarbeiter RIGHT JOIN (Termine_ma RIGHT JOIN monate ON Termine_ma.monate_id = monate.id) ON Mitarbeiter.id = Termine_ma.ma_id" _
& " WHERE monate.Monat = '" & mo_wert & "' "

Gruß Bärbel

bärbel
07.05.2004, 12:42
Das hat sich wohl gerade überschnitten.

Werde ich mir jetzt ansehen, schönen Dank, Gruß Bärbel

bärbel
07.05.2004, 13:20
Hallo Arne,

Das war es, danke. :)

Grüße Bärbel