Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Problem mit Parameterübergabe

Begonnen von Mike2017, Oktober 19, 2017, 11:42:48

⏪ vorheriges - nächstes ⏩

Mike2017

Hallo liebe Access Gemeinde
Ich beschäftige mich erst seit ein paar Wochen mit Access, bisher habe ich nur webbasierte Sachen mit MySQL und PHP gemacht. Access ist doch für mich am Anfang sehr umfangreich und verwirrend. Ich mal davon aus, das ich einfach etwas in den Einstellungen übersehe. Es wäre nett wenn ihr mir dabei helfen könntet.

Ich habe 2 Formulare. In dem ersten zeige ich die Datensätze als Liste an, mit verschiedenen, über Schaltflächen auszuwählenden Sortierungen.  Das ID Feld habe ich mit einem Ereignissaufruf versehen, das mir den ausgewählten Datensatz in einem 2. Formular zur Bearbeitung öffnet.   

Private Sub ctrlID_Click()
     DoCmd.OpenForm "frmEingabe", , , "[ID]=" & Me.ID
End Sub


Das Eingabeformular besitzt 2 Schaltflächen zum Abbrechen und schließen, und zum Speichern und schließen.
Das funktioniert auch alles so weit ( oder sagen wir es hat funktioniert). :-(
Private Sub ctrl_Abbrechen_Click()
    DoCmd.Close acForm, "frmEingabe"
End Sub
Private Sub ctrl_SpeichernUndSchließen_Click()
    bolsichern = True
    DoCmd.RunCommand acCmdSaveRecord
    DoCmd.Close acForm, Me.Name
End Sub

 
Im laufe der weiteren Bearbeitung an den Formularen, wo ich eigentlich nur das Aussehen anpassen wollte, stellte ich fest das, wenn ich auf die ID klicke, das Eingabeformular mit einem neuen Datensatz geladen wurde.  Ich konnte dann machen was ich wollte, er zeigt mir meinen ausgewählten Datensatz nicht mehr zum bearbeiten an und ich habe nicht die leiseste Ahnung warum.  Es hat doch tagelang funktioniert.

Was seltsam ist:   Wenn ich das Eingabeformular nicht schließe,  auf das Listenformular wechsle und dort einen Datensatz auswähle, dann springt er wieder auf das Eingabe Formular und zeigt mir den richtigen Datensatz zur Bearbeitung an.
 
Ich habe das Eingabeformular mittlerweile zig fach neu erstellt. Es ist immer das Gleiche Spiel.  Am Anfang funktioniert es, aber irgendwann, im Laufe der weiteren Anpassungen geht es nicht mehr und ich kann nicht herausfinden warum.  Ich habe dann die letzten Änderungen rückgängig gemacht, es funktioniert trotzdem nicht mehr.

Mike

DF6GL

Hallo,

Zitat..wenn ich auf die ID klicke, das Eingabeformular mit einem neuen Datensatz geladen wurde.

Überprüfe die Einstellung bei "Formeigenschaften/Daten/Daten eingeben" insofern, dass dort "Nein" steht .


btw:  Die beiden Buttons im Eingabeform haben keine unterschiedliche Wirkung.  Beides Mal wird der DS gespeichert und das Form geschlossen.

Grundsätzlich wird ein DS gespeichert, wenn das Form geschlossen  oder auf einen anderen DS gewechselt wird.

"Abbrechen" hat somit hier nicht die erwartete Wirkung und Runcommand.SaveRecord wäre doppelt gemoppelt.

Mike2017

Hi Franz
Vielen Dank für die Antwort, das ging aber sehr fix. 
Es lag tatsächlich an den "Formeigenschaften/Daten/Daten eingeben" , die standen auf ja. Nachdem ich sie auf Nein umgestellt habe funktionierte es problemlos.  Aber wie kommt das denn. Als ich danach in dem Formular wieder was geändert habe hat es sich schon wieder auf ja gestellt. Muss das so sein?

Das mit dem Abbrechen und speichern verstehe ich auch nicht.  Also bei mir geht das.  Wenn ich abbreche übernimmt er die Änderungen nicht auch wenn ich schon einiges eingetippt habe.  Naja, aller Anfang ist schwer, ich werde wohl noch einiges lernen müssen aber erstmal funktioniert die Sache jetzt wie gewollt.

Vielen Dank
Gruß, Mike

DF6GL

Hallo,

ZitatAls ich danach in dem Formular wieder was geändert habe hat es sich schon wieder auf ja gestellt.

Und WAS genau wurde geändert?

Von allein wird diese Eigenschaft nicht verändert. Handelt es sich vielleicht um ein Geteiltes Form? Welche Access-Version benutzt Du?


auch dies:
ZitatWenn ich abbreche übernimmt er die Änderungen nicht auch wenn ich schon einiges eingetippt habe.

wäre mysteriös (zumindest mir im Moment nicht erklärlich).

Mike2017

Ich habe verschiedene Sachen geändert.  Einmal habe ich die Größe der Textfelder geändert, beim nächsten Mal die Position eines Elemente oder auch in der VBA Datei etwas eingefügt.  Plötzlich funktionierte es dann nicht mehr.
Als ich das letzte Mal drauf geachtet habe , habe ich die Position einiger Schaltflächen geändert, da war es wieder passiert.

Es ist kein geteiltes Formular.  (Musste erstmal nachschauen was das überhaupt ist :-)

Ich habe 2 verschiedene Rechner auf denen ich das bearbeitet habe, einmal mit Win7 und Access 2007, der andere mit Win10 und Access 2016.

Es funktioniert jetzt erstmal zufriedenstellend so das ich die Sache schon mal einsetzen kann.  Werde es dann nach und nach erweitern.  Ich muss mich aber auch erstmal einlesen in Access und VBA.  Kannst du mir da ein paar gute Bücher empfehlen, die nicht zu leicht und nicht zu schwer zu verstehen sind?

Gruß, Mike



DF6GL

Hallo,
Zitat
..oder auch in der VBA Datei etwas eingefügt

Das wäre interessant... Möglicherweise wird durch Code die Eigenschaft-Einstellung verändert.



Durch das Ändern von Textfeldern wird die "Daten eingeben"-Eigenschaft nicht beeinflusst.

Bücher kann (will)  ich nicht empfehlen.  Ansonsten gibt es jede Menge Tutorials und YT-Videos zum Thema. 
Einfach mal gockeln.

Mike2017

Ich werde das im Auge halten und berichten wenn ich etwas herausgefunden habe.
An You Tube Videos habe ich mir die letzten Wochen schon alles rein gezogen was ich gefunden habe. Das hat mir für den Anfang schon sehr geholfen.  Die für mich jetzt interessanten weiterführenden Videos scheint es aber nur noch in Englisch zu geben, da tu ich mich etwas schwer mit....


Mike2017

Danke für deinen Hinweis.  Dieses Tutorial habe ich auch schon überflogen.  Das ist aber nur was für Datenbank Einsteiger.
Ich habe schon einige Datenbank Projekte realisiert, wie das grundsätzlich funktioniert ist mir schon geläufig, nur halt nicht mit Access.  Ich brauche Infos darüber wie ich auf die Elemente zugreifen kann und Praxisbeispiele wie ich bestimmte Sachen umsetze.
Die ganzen kostenlosen Tutotials die ich bisher gefunden habe waren da nicht besonders hilfreich. 
ich habe mir jetzt ein paar Bücher bestellt, zum einen Access und zum anderen VBA.
Mike