Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Wieso muß ich das Formular zweimal schließen?
Gehe zu Seite 1, 2  Weiter
zurück: UFO leer (wegen leerer Abfrage) -> Andere Loesung moeglic weiter: Spalte per Häckchenfeld einblenden Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Liska
User mit Standardwissen


Verfasst am:
16. Aug 2007, 11:52
Rufname:
Wohnort: Chemnitz

Wieso muß ich das Formular zweimal schließen? - Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Hi,

ich habe zwei Verknüpfte Formulare. Mit einem Button öffne ich im ersten Formular das zweite. Weiterhin habe ich Button, mit denen ich beide Formulare (jedes einzeln) schließen kann. Wenn ich aber das 2. Formular schließen möchte (egal über Button oder x am Fenster) Öffnet sich das Formular erneut und ich muss es noch einmal schließen. Warum?!?

Der Code vom ersten Formular (frmAnlagen)
Code:
Option Compare Database
Option Explicit 'Hinzugefuegt by Willi Wipp

Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("Änderungen im Arbeitsplatz/Tätigkeit speichern?", vbYesNo, _
              "Speichern?") = vbNo Then
        Me.Undo  'rückgängig
        Cancel = True  'Ereignisse verhindern
    End If
End Sub

Sub Form_Current()
On Error GoTo Form_Current_Err
    If ChildFormIsOpen() Then FilterChildForm
Form_Current_Exit:
    Exit Sub
Form_Current_Err:
    MsgBox Error$
    Resume Form_Current_Exit
End Sub

Sub VerknüpfungUmschalten_Click()
On Error GoTo VerknüpfungUmschalten_Click_Err
    'Kontrolle ob Arbeitsplatz eingegeben
    If Nz(Me!ArbeitsplatzID, "") = "" Then
        MsgBox "Bitte Daten für den Arbeitsplatz / die Tätigkeit eingeben!"
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob Produktionsbereich angegeben
    If Nz(Me!Produktionsbereich, "") = "" Then
        MsgBox "Bitte den Produktionsbereich eingeben."
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob BE-Nummer angegeben
    If Nz(Me!BE_Nummer, "") = "" Then
        MsgBox "Bitte die BE-Nummer eingeben."
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob Arbeitsplatz angegeben
    If Nz(Me!Arbeitsplatz, "") = "" Then
        MsgBox "Bitte den Arbeitsplatz eingeben."
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob Tätigkeit angegeben
    If Nz(Me!Taetigkeit, "") = "" Then
        MsgBox "Bitte die Tätigkeit eingeben."
        Cancel = True
        Exit Sub
    End If
'für AnlagenID = Zahl
    DoCmd.OpenForm "frmspezielle_Gefaehrdungen", , , _
                   "ArbeitsplatzID = " & Me!ArbeitsplatzID, , acDialog, _
                   Me!ArbeitsplatzID
    If ChildFormIsOpen() Then
        CloseChildForm
      Else
        OpenChildForm
        FilterChildForm
    End If
VerknüpfungUmschalten_Click_Exit:
    Exit Sub
VerknüpfungUmschalten_Click_Err:
    MsgBox Error$
    Resume VerknüpfungUmschalten_Click_Exit
End Sub

Private Sub FilterChildForm()
    If Me.NewRecord Then
        Forms![frmspezielle_Gefaehrdungen].DataEntry = True
      Else
        Forms![frmspezielle_Gefaehrdungen].Filter = "[ArbeitsplatzID] = " & _
                                                           Me![ArbeitsplatzID]
        Forms![frmspezielle_Gefaehrdungen].FilterOn = True
    End If
End Sub

Private Sub Form_Open(Cancel As Integer)
    DoCmd.RunCommand acCmdRecordsGoToNew
End Sub

Private Sub OpenChildForm()
    DoCmd.OpenForm "frmspezielle_Gefaehrdungen"
    If Not Me.[VerknüpfungUmschalten] Then Me![VerknüpfungUmschalten] = True
End Sub

Private Sub CloseChildForm()
    DoCmd.Close acForm, "frmspezielle_Gefaehrdungen"
    If Me![VerknüpfungUmschalten] Then Me![VerknüpfungUmschalten] = False
End Sub

Private Function ChildFormIsOpen()
    ChildFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, _
                              "frmspezielle_Gefaehrdungen") And _
                       acObjStateOpen) <> False
End Function

Private Sub Neuer_DS_Click()
On Error GoTo Err_Neuer_DS_Click
    DoCmd.GoToRecord , , acNewRec
Exit_Neuer_DS_Click:
    Exit Sub
Err_Neuer_DS_Click:
    MsgBox Err.Description
    Resume Exit_Neuer_DS_Click
End Sub

Private Sub Vorheriger_DS_Click()
On Error GoTo Err_Vorheriger_DS_Click
    DoCmd.GoToRecord , , acPrevious
Exit_Vorheriger_DS_Click:
    Exit Sub
Err_Vorheriger_DS_Click:
    MsgBox Err.Description
    Resume Exit_Vorheriger_DS_Click
End Sub

Private Sub Naechster_DS_Click()
On Error GoTo Err_Naechster_DS_Click
    DoCmd.GoToRecord , , acNext
Exit_Naechster_DS_Click:
    Exit Sub
Err_Naechster_DS_Click:
    MsgBox Err.Description
    Resume Exit_Naechster_DS_Click
End Sub

Private Sub Beenden_frmAnlagen_Click()
On Error GoTo Err_Beenden_frmAnlagen_Click
    DoCmd.Close
Exit_Beenden_frmAnlagen_Click:
    Exit Sub
Err_Beenden_frmAnlagen_Click:
    MsgBox Err.Description
    Resume Exit_Beenden_frmAnlagen_Click
End Sub
Der Code vom zweiten Formular (frmspezielle_Gefaehrdungen)
Code:
Option Compare Database
Option Explicit 'Hinzugefuegt by Willi Wipp

Sub Form_Load()
On Error GoTo Form_Load_Err
    If ParentFormIsOpen() Then Forms!frmAnlagen!VerknüpfungUmschalten = True
Form_Load_Exit:
    Exit Sub
Form_Load_Err:
    MsgBox Error$
    Resume Form_Load_Exit
End Sub

Sub Form_Unload(Cancel As Integer)
On Error GoTo Form_Unload_Err
    If ParentFormIsOpen() Then Forms!frmAnlagen!VerknüpfungUmschalten = False
Form_Unload_Exit:
    Exit Sub
Form_Unload_Err:
    MsgBox Error$
    Resume Form_Unload_Exit
End Sub

Private Function ParentFormIsOpen()
    ParentFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, _
                               "frmAnlagen") And acObjStateOpen) <> False
End Function

Private Sub Form_BeforeUpdate(Cancel As Integer)
    'Kontrolle der Korrekuren bei Angabe Korrekturbedarf ja
    If Me!Korrekturbedarf = "ja" Then
        If Trim(Nz(Me!Korrekturen, "")) = "" Then
            MsgBox "Bitte die Korrekturen eingeben!"
            Cancel = True
            Exit Sub
        End If
    End If
    If MsgBox("Änderungen in dieser Gefährdung speichern?", vbYesNo, _
              "Speichern?") = vbNo Then
        Me.Undo         'rückgängig
        Cancel = True   'Ereignisse verhindern
    End If
End Sub

Private Sub Form_Open(Cancel As Integer)
    DoCmd.RunCommand acCmdRecordsGoToNew
    Debug.Print "|" & Me.OpenArgs & "|" 'Übernahme der ArbeitsplatzID
    If Nz(Me.OpenArgs, "") <> "" Then
        Me!ArbeitsplatzID.DefaultValue = Me.OpenArgs  'wenn ID Zahl
    End If
End Sub

Private Sub Korr_Auswirkung_AfterUpdate()
    Me!Korr_Risiko = Me!Korr_Risikoberechnung
End Sub

Private Sub Korr_Eintrittswahrsch_AfterUpdate()
    Me!Korr_Risiko = Me!Korr_Risikoberechnung
End Sub

Private Sub Korr_Risikoberechnung_AfterUpdate()
    Me!Korr_Risiko = Me!Korr_Risikoberechnung
End Sub

Private Sub Risikoberechnung_AfterUpdate()
    Me!Risiko = Me!Risikoberechnung
End Sub

Private Sub Eintrittswahrscheinlichkeit_AfterUpdate()
    Me!Risiko = Me!Risikoberechnung
End Sub

Private Sub Auswirkung_AfterUpdate()
    Me!Risiko = Me!Risikoberechnung
End Sub

Private Sub Neuer_DS_frmGefaehrdung_Click()
On Error GoTo Err_Neuer_DS_frmGefaehrdung_Click
    DoCmd.GoToRecord , , acNewRec
Exit_Neuer_DS_frmGefaehrdung_Click:
    Exit Sub
Err_Neuer_DS_frmGefaehrdung_Click:
    MsgBox Err.Description
    Resume Exit_Neuer_DS_frmGefaehrdung_Click
End Sub

Private Sub Neuer_DS_frmAnlagen_Click()
On Error GoTo Err_Neuer_DS_frmAnlagen_Click
    DoCmd.Close
    DoCmd.GoToRecord , , acNewRec
Exit_Neuer_DS_frmAnlagen_Click:
    Exit Sub
Err_Neuer_DS_frmAnlagen_Click:
    MsgBox Err.Description
    Resume Exit_Neuer_DS_frmAnlagen_Click
End Sub

Private Sub Beenden_frmGefaehrdungen_Click()
On Error GoTo Err_Beenden_frmGefaehrdungen_Click
    DoCmd.Close
Exit_Beenden_frmGefaehrdungen_Click:
    Exit Sub
Err_Beenden_frmGefaehrdungen_Click:
    MsgBox Err.Description
    Resume Exit_Beenden_frmGefaehrdungen_Click
End Sub
Das Verrückte ist: Wenn die Tabelle neu ist und noch keine Autowerte vergeben wurden, funktioniert alles tatellos. Aber sobald ich einen Probedatensatz angelegt habe, macht er solche Zicken.
Nachtrag: Liska am 16. Aug 2007 um 16:29 hat folgendes geschrieben:
Ich habe immernoch keine Lösung dafür.

Zwei Dinge sind mir noch aufgefallen:
Bei einem neuen Datensatz im hauptformular ist in dem zweiten sich öffnenden Formularfenster die ID nicht drin steht, im ersten ist aber alles in Ordnung.

Bei einem alten DS mit auch schon vorhandenen Daten im zickigen Unterformular wird mir dann im 2. Fenster der erste vorhandene DS für die ID angezeigt.

_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
RadiatoR
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Aug 2007, 17:31
Rufname:


AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

vieleicht schränkst du den code mal aufs wesentliche ein, dann hilft dir vieleicht auch jemand... vieleicht probiert du aber auch mal erstmal die codeleichen raus zu nehmen. du hast ja bei formular 2, 4 mal den gleichen befehl...

dann könntest du probieren die einzellnen befehle still zu legen.
nehm den code raus oder mach ein ' vor
Code:
Private Sub FilterChildForm()
'    If Me.NewRecord Then
'        Forms![frmspezielle_Gefaehrdungen].DataEntry = True
'      Else
'        Forms![frmspezielle_Gefaehrdungen].Filter = "[ArbeitsplatzID] = " & _
'                                                             Me!ArbeitsplatzID
'        Forms![frmspezielle_Gefaehrdungen].FilterOn = True
'    End If
End Sub
Liska
User mit Standardwissen


Verfasst am:
17. Aug 2007, 08:50
Rufname:
Wohnort: Chemnitz

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Liska am 17. Aug 2007 um 07:42 hat folgendes geschrieben:
Kannst Du mir bitte auf die Sprünge helfen, was ich rausnehmen könnte? Wo da 4 mal der selbe Befehl ist?

Manches hat ja Access automatisch hinterlegt und da kenne ich mich nicht wirklich aus.

Ich habe absichtlich den ganzen Code reingestellt, da ich eben nicht weiß, das davon für mein Problem wichtig ist Embarassed

Edit: Mir ist noch etwas aufgefallen, als ich versucht habe, überflüssige Codes zu entfernen: Im 2. Formular wird mir nie einer der schon für diesen Arbeitsplatz vorhandenen DS angezeigt? Jedenfalls nicht im ersten Fenster. Öffnet sich deshalb immer ein zweites, damit ich auf die vorhandenen DS zugreifen kann?

Okay, ich schon wieder ...

ich hatte den kompletten Code beim zweiten, zickenden Formular rausgenommen und es zickte weiter genauso rum, wie vorher. Also scheint es nicht an diesem Code zu liegen.

Dann habe ich vom 1. Formular den Code stück für stück soweit wieder eingefügt, bis die Probleme anfingen. Der ist dabei übrig geblieben:
Code:
Option Compare Database
Option Explicit

Sub VerknüpfungUmschalten_Click()
On Error GoTo VerknüpfungUmschalten_Click_Err
'für AnlagenID = Zahl
    DoCmd.OpenForm "frmspezielle_Gefaehrdungen", , , _
                   "ArbeitsplatzID = " & Me!ArbeitsplatzID, , acDialog, _
                   Me!ArbeitsplatzID
    If ChildFormIsOpen() Then
        CloseChildForm
      Else
        OpenChildForm
        FilterChildForm
    End If
VerknüpfungUmschalten_Click_Exit:
    Exit Sub
VerknüpfungUmschalten_Click_Err:
    MsgBox Error$
    Resume VerknüpfungUmschalten_Click_Exit
End Sub

Private Sub OpenChildForm()
    DoCmd.OpenForm "frmspezielle_Gefaehrdungen"
    If Not Me![VerknüpfungUmschalten] Then Me![VerknüpfungUmschalten] = True
End Sub

Private Sub CloseChildForm()
    DoCmd.Close acForm, "frmspezielle_Gefaehrdungen"
    If Me![VerknüpfungUmschalten] Then Me![VerknüpfungUmschalten] = False
End Sub

Private Function ChildFormIsOpen()
    ChildFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, _
                              "frmspezielle_Gefaehrdungen") And _
                       acObjStateOpen) <> False
End Function

Private Sub FilterChildForm()
    If Me.NewRecord Then
        Forms![frmspezielle_Gefaehrdungen].DataEntry = True
      Else
        Forms![frmspezielle_Gefaehrdungen].Filter = "[ArbeitsplatzID] = " & _
                                                           Me![ArbeitsplatzID]
        Forms![frmspezielle_Gefaehrdungen].FilterOn = True
    End If
End Sub

Sub Form_Current()
On Error GoTo Form_Current_Err
    If ChildFormIsOpen() Then FilterChildForm
Form_Current_Exit:
    Exit Sub
Form_Current_Err:
    MsgBox Error$
    Resume Form_Current_Exit
End Sub
Soweit ich VBA nun verstanden habe, hängen alle diese Befehle mit dem Öffnen des verknüpften Formulars zusammen. Zusätzlich wurde von mir nur die Übergabe der ArbeitsplatzID eingefügt. Aber um das richtig prüfen zu können, musste der Part drin bleiben.

Im zweiten Formular blieb nur folgendes Übrig (auch wieder nur die ID übernahme)
Code:
Option Compare Database
Option Explicit

Private Sub Form_Open(Cancel As Integer)
    DoCmd.RunCommand acCmdRecordsGoToNew
    Debug.Print "|" & Me.OpenArgs & "|" 'Übernahme der ArbeitsplatzID
    If Nz(Me.OpenArgs, "") <> "" Then
        Me!ArbeitsplatzID.DefaultValue = Me.OpenArgs  'wenn ID Zahl
    End If
End Sub
Kann mir jetzt wer weiterhelfen? Ich kann auch die DB wo hochladen...
_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
JörgG
Access-Team


Verfasst am:
17. Aug 2007, 09:06
Rufname:
Wohnort: b. Dresden

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Hallo,

naja, das Teil dreht sich im Kreis, der DoCmd.OpenForm ... acDialog Modus unterbricht die Prozedurausführung in dieser Zeile, kommt aber nach dem Schliessen des Forms wieder dahinzurück (!) und setzt fort. Wo jetzt genau der Sprung erfolgt musst Du schon selber rausfinden. Setze an den Codeanfang ein:
Code:
Stop

und dann tippel den Code mit [F8] schrittweise ab.

Mir ist der ganze Workaround ohnehin nicht geheuer, hätte auch erwartet das wenigsten eine Beschreibung kommt was er denn überhaupt machen soll Wink

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Liska
User mit Standardwissen


Verfasst am:
17. Aug 2007, 09:53
Rufname:
Wohnort: Chemnitz


Re: AW: Wieso muß ich das Formular zweimal schließen? - Re: AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

JörgG - 17. Aug 2007, 09:06 hat folgendes geschrieben:
naja, das Teil dreht sich im Kreis, der DoCmd.OpenForm ... acDialog Modus unterbricht die Prozedurausführung in dieser Zeile, kommt aber nach dem Schliessen des Forms wieder dahinzurück (!) und setzt fort.
Meinst Du diesen Code?
Code:
'für AnlagenID = Zahl
    DoCmd.OpenForm "Formname", , , "AnlagenID = " & Me!AnlagenID, , _
                   acDialog, Me!AnlagenID
Den habe ich von Dir bekommen und genau da eingefügt, wo ich laut Deiner Meinung sollte. Und diese Funktion klappt ja auch. ;)

JörgG - 17. Aug 2007, 09:06 hat folgendes geschrieben:
Wo jetzt genau der Sprung erfolgt musst Du schon selber rausfinden. Setze an den Codeanfang ein:
Code:
Stop
und dann tippel den Code mit [F8] schrittweise ab.
Habe ich gemacht. Meinst Du den Sprung zwischen den Formularen? Der kommt gleich bei oben genanntem Code. Wenn ich das einzeln durchklicke, dann wird bei
Code:
Private Sub Beenden_frmGefaehrdungen_Click()
On Error GoTo Err_Beenden_frmGefaehrdungen_Click
    DoCmd.Close
gleich die ganze Datenbank geschlossen. *wunder*

JörgG - 17. Aug 2007, 09:06 hat folgendes geschrieben:
Mir ist der ganze Workaround ohnehin nicht geheuer, hätte auch erwartet das wenigsten eine Beschreibung kommt was er denn überhaupt machen soll Wink
Ich soll den Code beschreiben? Ganz einfach:
Im Hauptformular gibts einen Button, mit dem ich das verknüpfte Formular öffnen kann. Dabei soll an das neue Formular eine ID übergeben werden, damit ich die DS zuordnen kann.
Eigentlich sollten auch schon vorhandene DS zu einer ID in dem verknüpften Formular angezeigt werden, macht es aber nicht (zumindest nicht in dem ersten sondern nur im zweiten).

Noch fragen? ;)

_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
JörgG
Access-Team


Verfasst am:
17. Aug 2007, 10:06
Rufname:
Wohnort: b. Dresden

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Hallo,

der Befehl selber ist schon ok, aber wenn Du mal schaust was danach passiert - hier wird wahrscheinlich die OpenChildForm gerufen und das Form erneut geöffnet, was sollen diese Funktionen überhaupt bewirken? Da das Form im Dialogmodus geöffnet wird, muss das Andere offen sein und kann auch nicht geschlossen werden! Also, weg mit den ganzen Funktionen.

Ist denn das Feld ArbeitsplatzID überhaupt vorhanden (auch Name kontrollieren)
Code:
Private Sub VerknüpfungUmschalten_Click()
    On Error Resume Next
    DoCmd.RunCommand acCmdSaveRecord  'neues ID speichern (!)
    DoCmd.OpenForm "frmspezielle_Gefaehrdungen", , , _
                   "ArbeitsplatzID = " & Me!ArbeitsplatzID, , acDialog, _
                   Me!ArbeitsplatzID
    On Error Goto 0
End Sub
zum DB-Schliessen:
Code:
'ersetze
    DoCmd.Close
'durch
    DoCmd.Close acForm, Me.Name

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.


Zuletzt bearbeitet von JörgG am 17. Aug 2007, 10:17, insgesamt einmal bearbeitet
Liska
User mit Standardwissen


Verfasst am:
17. Aug 2007, 10:16
Rufname:
Wohnort: Chemnitz

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Danke, das klappt erstmal soweit mit dem einmal schließen.

Nun habe ich nur noch die Frage, wie kann ich mir im zweiten Formular für eine bereits bestehende ID vorhandene DS anzeigen lassen? Es kommt immer nur ein neuer DS und ich kann auch nicht über die Navigation darauf zugreifen.

Muss man das extra aus der Tabelle mit reinladen lassen?

Edit: Und gerade noch ein Problem entdeckt:
Code:
    'Kontrolle ob Arbeitsplatz eingegeben
    If Nz(Me!ArbeitsplatzID, "") = "" Then
        MsgBox "Bitte Daten für den Arbeitsplatz / die Tätigkeit eingeben!"
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob Produktionsbereich angegeben
    If Nz(Me!Produktionsbereich, "") = "" Then
        MsgBox "Bitte den Produktionsbereich eingeben."
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob BE-Nummer angegeben
    If Nz(Me!BE_Nummer, "") = "" Then
        MsgBox "Bitte die BE-Nummer eingeben."
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob Arbeitsplatz angegeben
    If Nz(Me!Arbeitsplatz, "") = "" Then
        MsgBox "Bitte den Arbeitsplatz eingeben."
        Cancel = True
        Exit Sub
    End If
    'Kontrolle ob Tätigkeit angegeben
    If Nz(Me!Taetigkeit, "") = "" Then
        MsgBox "Bitte die Tätigkeit eingeben."
        Cancel = True
        Exit Sub
    End If
Diesen Code hatte ich sowohl unter
Code:
Private Sub Neuer_DS_Click()
als auch
Code:
Private Sub VerknüpfungUmschalten_Click()
und er moniert mir, dass die Variable nicht definiert ist und markiert
Code:
    Cancel = True
Wo habe ich was vergessen?
_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)


Zuletzt bearbeitet von Liska am 17. Aug 2007, 10:24, insgesamt einmal bearbeitet
JörgG
Access-Team


Verfasst am:
17. Aug 2007, 10:18
Rufname:
Wohnort: b. Dresden

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Hallo,

dann schau mal ins Ereignis Formular "beim Öffnen" Wink, was da steht . . .

und wenn Du das fertig hast - Menüleiste - Debuggen - kompilieren ..., falls in VerknüpfungUmschalten_Click() die vielen Cancel's noch drin stehen, wird's Fehlermeldungen hageln Embarassed, aber damit kommst Du zu sauberem Code.

Edit: Jetzt haben sich die Edit's überschnitten, diese Prozedur kennt kein Cancel (!), diese Werteprüfung muss komplett ins Ereignis "vor Aktualisierung", hier kann gecancelt werden.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Liska
User mit Standardwissen


Verfasst am:
17. Aug 2007, 10:28
Rufname:
Wohnort: Chemnitz

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Okay, ich habe die ganzen Cancel = True rausgenommen und es funktioniert wieder. Da hätte ich auch selber drauf kommen können Embarassed

Nur dass die vorhandenen DS aus tblspezielleGefaehrdungen für vorhandene ID's nicht angezeigt werden, wurmt mich noch Confused

_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
JörgG
Access-Team


Verfasst am:
17. Aug 2007, 10:31
Rufname:
Wohnort: b. Dresden

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Hallo,

hast Du das rausgenommen?
Code:
    DoCmd.RunCommand acCmdRecordsGoToNew

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Liska
User mit Standardwissen


Verfasst am:
17. Aug 2007, 10:37
Rufname:
Wohnort: Chemnitz

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Ja, aber es macht keinen Unterschied. Außerdem dachte ich, das ist nur der Code, um gleich zu einem neuen DS zu springen und zu den ganzen anderen DS kann ich noch navigieren. Zumindest funktioniert das beim Hauptformular so. Question
_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
JörgG
Access-Team


Verfasst am:
17. Aug 2007, 10:45
Rufname:
Wohnort: b. Dresden

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Hallo,

ist denn das ID-Feld in beiden Formularen vorhanden und hast Du die Namen geprüft - im Steuerelementinhalt und in Name?

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Liska
User mit Standardwissen


Verfasst am:
17. Aug 2007, 11:22
Rufname:
Wohnort: Chemnitz

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Ja, das ist alles in Ordnung. Die Felder habe ich automatisch einfügen lassen und alles kontrolliert... die Steuerelementinhalte stimmen, die Namen sind richtig und die ID wird auch vom ersten ins zweite Formular übergeben.
_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)
JörgG
Access-Team


Verfasst am:
17. Aug 2007, 17:00
Rufname:
Wohnort: b. Dresden

AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Hallo,

ist die Formulareigenschaft "Filtern zulassen: Ja" gesetzt, sonst fällt mir da auch nichts mehr zu ein. Evtl speck die DB mal ab, zippen und anhängen, damit man mal schauen kann.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Liska
User mit Standardwissen


Verfasst am:
20. Aug 2007, 10:22
Rufname:
Wohnort: Chemnitz


AW: Wieso muß ich das Formular zweimal schließen? - AW: Wieso muß ich das Formular zweimal schließen?

Nach oben
       Version: Office 2003

Der Filter ist auf ja gesetzt. Ich habe die Db mal angehangen und von allen firmenspeziefische Dingen befreit. Es geht um frmspezielle_Gefaehrdungen, welches durch das frmAnlagen geöffnet wird. Zwei Beispielarbeitsplätze mit Gefahren habe ich angelegt.
_________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)



Gefaehrdungsbeurteilung.zip
 Beschreibung:
Datenbank mit Daten

Download
 Dateiname:  Gefaehrdungsbeurteilung.zip
 Dateigröße:  41.54 KB
 Heruntergeladen:  13 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: Problem beim Bericht oeffnen, wenn Parameter von Formular 11 Gast1 993 21. Jul 2005, 15:28
Nindigo Problem beim Bericht oeffnen, wenn Parameter von Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in Formular einbinden? 1 Percobodio 2045 29. Apr 2005, 11:29
lothi Abfrage in Formular einbinden?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrageergebnis als neues Formular anzeigen 2 mila 3034 12. Apr 2005, 12:38
mila Abfrageergebnis als neues Formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen im Formular aufrufen, automatisch bestätigen 3 Calvin22 1606 12. Apr 2005, 12:12
Willi Wipp Abfragen im Formular aufrufen, automatisch bestätigen
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Formular Daten in einer Tabelle speichern? 1 Gast 1017 24. März 2005, 16:24
Willi Wipp Formular Daten in einer Tabelle speichern?
Keine neuen Beiträge Access Tabellen & Abfragen: mehrer abfragen ein formular 1 romu 719 10. Jan 2005, 15:54
lothi mehrer abfragen ein formular
Keine neuen Beiträge Access Tabellen & Abfragen: kreuzabfrage ausführen nach vorgeschaltetem formular mit kom 4 Gast 887 21. Dez 2004, 15:17
Gast kreuzabfrage ausführen nach vorgeschaltetem formular mit kom
Keine neuen Beiträge Access Tabellen & Abfragen: Formeln vom Formular, werden in der Abfrage nicht angezeigt 4 maddes 895 23. Nov 2004, 12:38
Skogafoss Formeln vom Formular, werden in der Abfrage nicht angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Zeile der Dateneingabe (*) in einem Formular verschieben 2 Albertus 790 08. Okt 2004, 09:17
Albertus Zeile der Dateneingabe (*) in einem Formular verschieben
Keine neuen Beiträge Access Tabellen & Abfragen: Suchfunktion mit mehreren Kriterien aus Formular 5 Danny G. 2218 09. Sep 2004, 11:08
Danny G. Suchfunktion mit mehreren Kriterien aus Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle, Formular, Abfrage...und nun ? 3 Gags 790 29. Aug 2004, 22:05
lothi Tabelle, Formular, Abfrage...und nun ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragefeld nachträglich in Formular 3 Sebbl 1705 05. Aug 2004, 15:14
mabe38 Abfragefeld nachträglich in Formular
 

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