Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Kannkaumvba am März 05, 2016, 10:04:47

Titel: Felder in Formularen ansprechen
Beitrag von: Kannkaumvba am März 05, 2016, 10:04:47
Hallo Forum,

beim Ausführen des nachfolgenden Codes bekomme ich folgende Fehlermeldung:

"Objekt unterstützt diese Eigenschaft oder Methode nicht"

Private Sub btnPositionFreigebenOeffnen_Click()
On Error GoTo btnPositionFreigebenOeffnen_Err
   
    If (Forms![frmPositionenNavigation]![frmPositionAktionenAuswaehlen].[AktPosNum] = Null) Then
       Beep
       MsgBox "Sie haben keine Position ausgewählt.", vbExclamation, "Aktion nicht möglich"
     
    ElseIf (Forms![frmPositionenNavigation]![frmPositionenUebersicht]![PosStatAuftr] = "Nicht freigegeben") Then
            DoCmd.OpenForm "frmPositionen", acNormal, "", "[frmPositionen]![PosNum] = Forms![frmPositionenNavigation]![frmPositionenUebersicht]![PosNum]", , acNormal
    Else
        Beep
        MsgBox "Position im Status ""Freigegeben""", vbInformation, "Aktion nicht möglich"
    End If

btnPositionFreigebenOeffnen_Exit:
    Exit Sub

btnPositionFreigebenOeffnen_Err:
    MsgBox Error$
    Resume btnPositionFreigebenOeffnen_Exit
End Sub


Ich vermute die Syntax beim Ansprechen der Felder ist nicht korrekt (Hfo/Ufo).

Hat jemand eine Lösung für mich? Danke im Voraus!
Titel: Re: Felder in Formularen ansprechen
Beitrag von: DF6GL am März 05, 2016, 10:25:00
Hallo,


Wo (in welchem Formular) befindet sich der Code ?

Um was für ein Ufo handelt es sich (Einzelform, Endlosform)?



Private Sub btnPositionFreigebenOeffnen_Click()
On Error GoTo btnPositionFreigebenOeffnen_Err
   
    If IsNull(Me![frmPositionAktionenAuswaehlen]![AktPosNum]) Then
       Beep
       MsgBox "Sie haben keine Position ausgewählt.", vbExclamation, "Aktion nicht möglich"
     
    ElseIf (Me![frmPositionenUebersicht]![PosStatAuftr] = "Nicht freigegeben") Then
            DoCmd.OpenForm "frmPositionen", , ,"[PosNum] = " & Me![frmPositionenUebersicht]![PosNum]     'PosNum: Datentyp Zahl, Long
    Else
        Beep
        MsgBox "Position im Status ""Freigegeben""", vbInformation, "Aktion nicht möglich"
    End If

btnPositionFreigebenOeffnen_Exit:
    Exit Sub

btnPositionFreigebenOeffnen_Err:
    MsgBox Error$
    Resume btnPositionFreigebenOeffnen_Exit
End Sub

Titel: Re: Felder in Formularen ansprechen
Beitrag von: Kannkaumvba am März 05, 2016, 10:29:25
frmPositionenNavigation = Hfo

frmPositionenUebersicht = Ufo1 (Endlos)

frmPositionAktionenAuswaehlen = Ufo2 (Einzel)

Gruss
Titel: Re: Felder in Formularen ansprechen
Beitrag von: Kannkaumvba am März 05, 2016, 11:13:28
Ich habe noch eine andere Frage zu diesem Thema:

Wenn man die Formulare neu organisieren will, z.B. verschieben, Verwendung von Navigationsformularen, muss man die Ansprech-Syntax ja immer wieder anpassen. Je tiefer man schachtelt um so umfangreicher wird ja dann auch der Code.

Gibt es da eine andere Möglichkeit um dabei flexibel zu bleiben?
Titel: Re: Felder in Formularen ansprechen
Beitrag von: DF6GL am März 05, 2016, 12:57:24
Hallo,

eine solche "Neuorganisation" geht einher mit Änderungen am Tabellenaufbau und den Beziehungen.

Das sollte eigentlich nur in begrenztem Umfang während der Entwicklung auftreten.

"Flexibilität" ist das aber nicht..

Bei "Je tiefer man schachtelt"   kommt man schnell an die Grenzen der Möglichkeit und ergibt in Grunde keinen Sinn.
Titel: Re: Felder in Formularen ansprechen
Beitrag von: Kannkaumvba am März 05, 2016, 13:21:57
Hallo,
an Tabellen und Beziehungen wurde nichts geändert.

Allerdings muss für das Ansprechen dann das Einbinden berücksichtigt werden, wenn das Hfo dann zum Ufo wird.

Habe das Poblem erstmal selbt lösen können und den Code korrigiert:

Private Sub btnPositionFreigebenOeffnen_Click()
On Error GoTo btnPositionFreigebenOeffnen_Err
   
    If (Forms!frmPositionenNavigation!frmPositionAktionenAuswaehlen!AktPosNum = "1") Then
       Beep
       MsgBox "Sie haben keine Position ausgewählt.", vbExclamation, "Aktion nicht möglich"
     
    ElseIf (Forms!frmPositionenNavigation!frmPositionenUebersicht!PosStatAuftr = "Nicht freigegeben") Then
        DoCmd.OpenForm "frmPositionenFreigeben", acNormal, "", "PosNum = Forms!frmPositionenNavigation!frmPositionAktionenAuswaehlen!AktPosNum", , acNormal
   
    Else
        Beep
        MsgBox "Position im Status ""Freigegeben""", vbInformation, "Aktion nicht möglich"
    End If

btnPositionFreigebenOeffnen_Exit:
    Exit Sub

btnPositionFreigebenOeffnen_Err:
    MsgBox Error$
    Resume btnPositionFreigebenOeffnen_Exit
End Sub


Dennoch muss es doch eine Lösung für das Umorganisieren von Formularen geben, da man ja erst am Ende die Oberfläche gestaltet.

Danke und Gruss
Titel: Re: Felder in Formularen ansprechen
Beitrag von: MzKlMu am März 05, 2016, 13:34:02
Hallo,
ZitatDennoch muss es doch eine Lösung für das Umorganisieren von Formularen geben, da man ja erst am Ende die Oberfläche gestaltet.
Im Grunde sollten diese Überlegungen überflüssig sein. Wie Du ja selbst sagst, sollte man erst am Ende (also nach der fertigen Struktur der DB) die Oberfläche gestalten. Und da gibt es doch noch nichts um zu organisieren. Die Oberfläche wird einmalig gestaltet und fertig.
Wer in einer fertigen DB regelmäßig etwas umorganisieren muss, hat ohnehin etwas falsch gemacht.

Wieso kann ein Hfo zum Ufo werden ?

Titel: Re: Felder in Formularen ansprechen
Beitrag von: Kannkaumvba am März 05, 2016, 14:39:10
Hallo Klaus,

z.B. wenn ich es in ein Navigationsformular einbinden will.

Gruss
Titel: Re: Felder in Formularen ansprechen
Beitrag von: MzKlMu am März 05, 2016, 16:42:59
Hallo,
das macht aber ein Formular nicht zum Unterformular.
Titel: Re: Felder in Formularen ansprechen
Beitrag von: Kannkaumvba am März 05, 2016, 16:58:39
Mag sein, wenn ich das NaviFo jedoch mit dem Formular verknüpfe, werden die Felder im Hfo/Ufo nicht mehr korrekt angesprochen.

Muss da evtl eine Einstellung erfolgen?
Titel: Re: Felder in Formularen ansprechen
Beitrag von: Beaker s.a. am März 05, 2016, 18:03:16
Hallo,
@Klaus
Zitatdas macht aber ein Formular nicht zum Unterformular.
IMO doch, weil das NavigationsFormular das HFo ist.
Ich habe auch immer noch nicht herausgefunden wozu dieses Navi-Form überhaupt gut sein soll. Wenn man es benutzt muss man sich dessen bewusst sein, und eben immer eine Ebene mehr ansprechen muss.

@kannkaumvba
ZitatMuss da evtl eine Einstellung erfolgen?
Ja, Du musst alle Bezüge der neuen Ebene anpassen :-(.
gruss ekkehard
Titel: Re: Felder in Formularen ansprechen
Beitrag von: Kannkaumvba am März 05, 2016, 20:22:41
Danke Euch beiden!