Neuigkeiten:

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

Mobiles Hauptmenü

Vom aktuellen DS wieder zurück zum zuletzt angewählten Datensatz springen.......

Begonnen von derilzemer, April 13, 2016, 18:35:27

⏪ vorheriges - nächstes ⏩

derilzemer

Hallo,
ich habe eine funktionierende Suche für meine Sammlung welche über ein eigens erstelltes Formular läuft. Ich kann dann von dort aus in den gesuchten Datensatz im Erfassungsformular springen. Jetzt ist mir aber aufgefallen, dass wenn ich Spiele aus der Sammlung vergleiche, dass ich dann doch immer sehr oft zum zuvor aufgerufenen Datensatz noch einmal zurück muss. Gerade bei Dupletten kommt dies sehr häufig vor. Dann muss ich wieder ins Suchformular zurück, den Datensatz anwählen was ein wenig umständlich ist bzw. sein kann. Gibt es eine Möglichkeit, dass wenn man sich im Erfassungsformular befindet, von dort aus den zuvor ausgewählten Datensatz wieder aufrufen kann, z.B. via Commandbutton? Wenn ja, wie ist dies lösbar? VBA technisch bin ich leider ein ziemlicher Ausfall. Für Tips wäre ich dankbar.

mfG
Andreas Müller
Grüße und Dank im voraus
Andreas

DF6GL

Hallo,,

das sollte weiterhelfen:

http://www.donkarl.com/?FAQ4.5

der vorhergehende DS muss halt gemerkt werden.....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

Hallo Andreas,

dazu brauchst du eine Variable, in der du dir die aktuelle Spiele-ID merken kannst.
Vermutlich genügt hier eine im Klassenmodul des Erfassungsformulars prozedur-übergreifend deklarierte Variable.
Letzteres wird mit einer Dim-Anweisung vor der ersten Prozedur im Klassenmodul des Formulars definiert.
Dim lastID as Long


Ich könnte mir folgenden Ablauf vorstellen:
- beim (bzw. vor dem) Öffnen des Suchformulars über den Button aus dem Erfassungsformular heraus wird die aktuelle ID der Variablen zugewiesen
lastID = Me!SpielID

Das Erfassungsformular bleibt dabei ja geöffnet, also geht nichts verloren.
- anschließend wird nach Auswahl im Suchformular ein anderes Spiel angezeigt
- über einen neuen Button im Erfassungsformular kannst du dann das zuvor gesuchte Spiel anzeigen
Me.Recordset.FindFirst "SpielID=" & lastID

Wenn du den Rücksprung auf das zuvor angezeigte Spiel unabhängig vom Suchformular umsetzen möchtest, wird es schwierig (wenn nicht gar unmöglich), weil es kein Ereignis beim Verlassen eines Datensatzes gibt, wenn es sich um eine reine Anzeigefunktion handelt (obwohl das Formular mit "Erfassung" betitelt ist).
Freundliche Grüße
MaggieMay

DF6GL

Hallo,


ZitatWenn du den Rücksprung auf das zuvor angezeigte Spiel unabhängig vom Suchformular umsetzen möchtest, wird es schwierig (wenn nicht gar unmöglich), weil es kein Ereignis beim Verlassen eines Datensatzes gibt, wenn es sich um eine reine Anzeigefunktion handelt (obwohl das Formular mit "Erfassung" betitelt ist).

Was hindert daran, zwei globale Variable ("AktDS" , "PreDS" )  zu nutzen und beim Form-Ereignis "Beim Anzeigen" "AktDS" in "PreDS" umzuspeichern und danach "AktDS" auf  den aktuellen ID-Wert  zu setzen ...?

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

derilzemer

Hi Maggie,
Zitat von: MaggieMay am April 13, 2016, 22:41:58
.....Vermutlich genügt hier eine im Klassenmodul des Erfassungsformulars prozedur-übergreifend deklarierte Variable.
Letzteres wird mit einer Dim-Anweisung vor der ersten Prozedur im Klassenmodul des Formulars definiert.
Dim lastID as Long
Okay dann lass mich mal sagen, ich muss also erst einmal ein Klassenmodul erstellen. 
(siehe Bild)
Option Compare Database
Dim lastID As Long

Beim Button zum starten der Suche würde ich jetzt beim Ereignis klicken eine Ergänzung hinzufügen.

Private Sub cmdSpielsuchen_Click()
On Error GoTo Err_cmdSpielsuchen_Click
    lastID = Me!SpielID
    DoCmd.OpenForm "frmQuartettSuche"
Exit_cmdSpielsuchen_Click:
    Exit Sub
Err_cmdSpielsuchen_Click:
    MsgBox Err.Description
    Resume Exit_cmdSpielsuchen_Click
End Sub

Aber da sagt er schon, Variable nicht definiert und verweist auf lastID. Ich gehe davon aus, das Klassenmodul ist falsch platziert bzw. nicht komplett , oder?

Zitat
Wenn du den Rücksprung auf das zuvor angezeigte Spiel unabhängig vom Suchformular umsetzen möchtest, wird es schwierig (wenn nicht gar unmöglich), weil es kein Ereignis beim Verlassen eines Datensatzes gibt, wenn es sich um eine reine Anzeigefunktion handelt (obwohl das Formular mit "Erfassung" betitelt ist).
Das habe ich so nicht auf dem Schirm, da ich diese Funktion bisher wirklich nur bei der Suche und dem damit einhergehenden editieren 2er Datensätze als wünschenswert und gut erachtet habe.

Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

Hallo Andreas,

nein, kein neues Klassenmodul, ich meinte mit
Zitatim Klassenmodul des Erfassungsformulars
das zum Formular gehörende (Klassen-)Modul.
Freundliche Grüße
MaggieMay

derilzemer

Hi,
okay, da habe ich mich mal wieder irre leiten lassen. Das hat nach der Änderung jetzt gepasst. Danke dafür.

Gruß Andreas
Grüße und Dank im voraus
Andreas