Neuigkeiten:

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

Mobiles Hauptmenü

datensatz nach dem speichern Alphabetisch einsorteiren

Begonnen von ms67, März 28, 2014, 08:31:12

⏪ vorheriges - nächstes ⏩

ms67

Hallo und guten Tag,
ich habe ein dringendendes Problem für welches ich keine Lösung finde. Ich habe ein geteiltes Formular, in welches ich eine neuen Datensat eingebe. Nach dem speichern bleibt der Focus auf diesem Feld wie es sein soll. leider ist der datensatz unten angehängt und noch nicht einsortiert (nach Nachname) Das macht die Übersicht der erfassten Daten sehr schwer. Gibt es die Möglichkeit beim speichern den Focus auf dem Feld zu belassen und den Datensatz an richtiger Stelle zu positionieren?

mein Code beim Speichern:

Private Sub cmdsave_Click()
If Me.Dirty Then Me.Dirty = False
Me.Refresh
If IsNull(Me.Nachname) Or IsNull(Vorname) Or IsNull(kf_sk) Or IsNull(kf_bk) Or IsNull(kf_Verein) Or IsNull(Anmeldetag) Then
        MsgBox "Bitte alle Felder Ausfüllen!"
      Else
        DoCmd.RunCommand acCmdSaveRecord      'Datensatz abspeichern
       
    End If
End Sub


Nachtrag,
ich habe als datenquelle für das Formular eine Tabelle angegeben.

bahasu

#1
Hi,

Zitat von: ms67 am März 28, 2014, 08:31:12
Gibt es die Möglichkeit beim speichern den Focus auf dem Feld zu belassen und den Datensatz an richtiger Stelle zu positionieren?


Die Antwort lautet: Ja  ;)

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

Harald
Servus

bahasu

Hallo,

Frage an den Admin:
Wieso ist der im obigen Beitrag der eingetragene Link nur in der Ansicht vom Bearbeitungsmodus vollständig unterstrichen (und damit bis zum Kapitel aufrufbar),
aber in der normalen Sicht (also nicht im Bearbeitungsmodus) nicht bis zum Kapitel unterstrichen (und damit nicht direkt aufrufbar)?

Was kann ich besser machen?

Harald
Servus

MzKlMu

Hallo,
Zitatich habe als datenquelle für das Formular eine Tabelle angegeben.
Anmerkung:
Nur eine Abfrage sortiert zuverlässig, eine Tabelle wird nach dem Primärschlüssel sortiert angezeigt.
Erstelle also eine Abfrage und verwende diese als Datenquelle für das Formular. Es ist aus Performancegründen ohnehin zweckmäßig immer gespeicherte Abfragen zu verwenden und keine Tabellen direkt.
Gruß Klaus

ebs17

ZitatEs ist aus Performancegründen ohnehin zweckmäßig immer gespeicherte Abfragen zu verwenden und keine Tabellen direkt.
Wo gibt es für diese Aussage eine stichhaltige Begründung?
Mit freundlichem Glück Auf!

Eberhard

ms67

Zitat von: MzKlMu am März 28, 2014, 09:23:18
Hallo,
Zitatich habe als datenquelle für das Formular eine Tabelle angegeben.
Anmerkung:
Nur eine Abfrage sortiert zuverlässig, eine Tabelle wird nach dem Primärschlüssel sortiert angezeigt.
Erstelle also eine Abfrage und verwende diese als Datenquelle für das Formular. Es ist aus Performancegründen ohnehin zweckmäßig immer gespeicherte Abfragen zu verwenden und keine Tabellen direkt.

Ok soweit habe ich das gemacht bzw. in einem neuen Projekt getestet. allerdings wird beim speichern der datensatz trotzdem unten angefügt. Ich möchte aber den Focus auf dem Datensatz erhalten und diesen gleichzeitig sortiert  angezeigt bekommen.

danke für eure Mühe

DF6GL

Hallo,

@bahasu: setze vor das Fragezeichen einen Schrägstrich (wie in Deinem Post geändert)

@ ms67: der Code moppelt doppelt...  Me.Dirty=false sorgt schon für das Speichern, so dass die nachfolgende Feldwert-Prüfung zu "spät" ist.  Solche Prüfungen wären besser beim Form_BeforeUpdate-Ereignis aufgehoben.

Ein Einsortierung wird stabil nur dadurch erledigt, als dass (wie schon erwähnt) eine entspr. sortierende Abfrage benutzt  oder das Formular (-Recordset) nach der/den bestimmten Spalte/n sortiert (und dann ein Me.Requery eingesetzt) wird

Wie eine Repositionierung auf den eingefügten DS erledigt wird, ist auch schon gezeigt.
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

ms67

@DF6GL

vielen Dank für die Antwort. Ich (Laie) bekomme das so nicht hin. Werde es wohl erstmal so lassen. Die Quelle hab ich schon auf eine Abfrage gelegt (die 3 Punkte bei Datensatzquelle ) angeklickt und dann die Felder ausgewählt. Bei Nachnamen habe ich dort aufsteigend sortiert ausgewählt, es passiert aber nicht wirklich was beim speichern. Leider ist Access zu kompliziert für normal sterbliche, so dass ich es mal so lasse wie es ist. Ich kann das Formular neu aufrufen, dann ist alles sortiert.

Danke an alle für die Mühe

bahasu

Servus