Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge weg
zurück: Dropdown Menü und Info Feld weiter: "Dynamische Abfragen" Tabelle vor öffnen der Abfra 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
Wolly
Gast


Verfasst am:
09. Jan 2007, 01:16
Rufname:

Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge weg - Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge weg

Nach oben
       Version: Office 2003

Hallo liebe Teilnehmer,

und nun noch eine letzte Frage:

Ich habe ein Formular zum Blättern. Es ist an eine Tabelle gebunden. Aus diesem Formular starte ich das selbe Formular um einen Eintrag zu einem bestimmten Datensatz hinzuzufügen.
Dazu merke ich mir Werte in Variablen, die ich dann nicht neu eintragen muß.

Erst danach springe ich mit:
Code:
    DoCmd.GoToRecord , , acNewRec
zum letzten Datensatz, bzw. lege einen neuen Datensatz in der Datenbank an.
Ich bin dann beim letzten Datensatz - diese sind in der Anfrage nicht sortiert - und kann nun nicht mehr blättern. Mit Me.Requery bin ich beim ersten Datensatz. Bei 1000 Zeilen kann ich nun den Ausganspunkt nicht durch Blättern finden. Sortiert wird eigentlich in SQL nach dem Datum. Aber nicht aktuell.

Wie kann man das Lösen? Mit SQL ? Mit dem Event BeforeUpdate geht es nicht, denn der neue Datensatz steht nicht mehr in der Reihenfolge, sondern wird am Ende angefügt.

Vielen Dank,

Gast
JörgG
Access-Team


Verfasst am:
09. Jan 2007, 18:16
Rufname:
Wohnort: b. Dresden


AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hallo,

den Programmablauf verstehe ich nicht, zweimal dasselbe Formular?
Ist das ein Endlosformular und über einen Buttonklick werden die Variablen gefüllt und der neue DS angelegt, zeigst Du mal den Code dazu?

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
09. Jan 2007, 21:11
Rufname:

AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hallo Jörg,

ein Beispiel anhand des Datums (nur ein neuer Wert wird im Beispiel übernommen):
Code:
Private Sub EintragNeu_Click()
'*******ABLAUF BEI NEUANLAGE EINES DATENSATZES*********
    Dim d As Date
    Dim i As Integer
   
    'Abfrage, ob neuer Datensatz angelegt werden soll
    i = MsgBox("Diese Aktion fügt einen weiteren Kalendereintrag " & _
               "zu einem bestehenden Datum hinzu!" & vbLf & _
               "Wollen Sie dies tun?", 52, "Achtung!")
    If i = 7 Then
        Exit Sub
      Else
        'Neuen DS öffnen
        Dim MANr As Integer
        MANr = DLookup("[manr]", "amitarbeiternr")
        Me.AllowAdditions = True
        d = TerminDatum                          'Hier vorheriges Datum merken
        DoCmd.GoToRecord , , acNewRec  'Neuer Eintrag
        'Springt zum letzten Datensatz und fügt danach ein
        TerminBeginn.Locked = False
        TerminBeginn.BackColor = -2147483643
        Mitarbeiter.Value = MANr
        TerminBeginn.SetFocus
        TerminBeginn.TabStop = True
        TerminBeginn = d    'Hier Datum im neu geöffneten Formular eintragen
        'Me.Requery         'wahrscheinl. wird Anfrage aktualisiert (gibt die
                            'Sortierreihenfolge nach Datum richtig zurück)
                            'und man kann blättern, aber springt zum ersten
                            'Datensatz. Sollte aber bei dem Datensatz
                            'ankommen, von wo das Formular mit Click gestartet
                            'wurde.
    End If
End Sub
{codetags gesetzt jens05}
Vielen Dank,
mit freundlichen Grüssen,
Gast
JörgG
Access-Team


Verfasst am:
10. Jan 2007, 01:03
Rufname:
Wohnort: b. Dresden

AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hallo,

also kein erneutes Öffnen, sondern nur ein Anfügen. Die Tabelle hat doch sicher ein ID, das solltest Du zwischenspeichern (lngID).
Code:
Private lngID As Long

Private Sub EintragNeu_Click()
    Dim d As Date, i As Integer, MANr As Long
   
    i = MsgBox("Diese Aktion fügt einen weiteren Kalendereintrag " & _
               "zu einem bestehenden Datum hinzu!" & vbLf & _
               "Wollen Sie dies tun?", 52, "Achtung!")
    If i <> 7 Then
        Me!Mitarbeiter.DefaultValue = Chr(34) & DLookup("[manr]", _
                                                        "amitarbeiternr") & _
                                      Chr(34)
        Me!TerminDatum.DefaultValue = Chr(34) & Me!TerminDatum & Chr(34)
        lngID = Me!id                                               ' anpassen
        Me.AllowAdditions = True
        DoCmd.GoToRecord , , acNewRec
        Me!TerminBeginn.Locked = False
        Me!TerminBeginn.BackColor = -2147483643
        Me!TerminBeginn.SetFocus
        Me!TerminBeginn.TabStop = True
    End If
End Sub
Gibt es einen Speicherbutton? Dann zB so:
Code:
Private Sub ButtonSave()
    DoCmd.RunCommand acCmdSaveRecord
    Me.Requery
    Me.Recordset.FindFirst "ID = " & lngID
End Sub

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
10. Jan 2007, 01:06
Rufname:


AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hi,

es funktioniert. Allerdings springt die Seite dabei ziemlich. Für jede Verbesserung oder eine bessere Möglichkeit bin ich dankbar.
Also:
Code:
Private Sub EintragNeu_Click()
'*********************ABLAUF BEI NEUANLAGE EINES DATENSATZES******************
    Dim d As Date
    Dim stDocName As String
'****Springe zurück Variablen***
    Dim rs As Object
    Dim aktNr As Variant
'*******************************
    Dim i As Integer
    Dim MANr As Integer
   
'Abfrage, ob neuer Datensatz angelegt werden soll
    i = MsgBox("Diese Aktion fügt einen weiteren Kalendereintrag zu " & _
               "einem bestehenden Datum hinzu!" & vbLf & _
               "Wollen Sie dies tun?", 52, "Achtung!")
    If i = 7 Then
        Exit Sub
      Else
    'Neuen DS öffnen
        MANr = DLookup("[manr]", "amitarbeiternr")
        Me.AllowAdditions = True
        d = TerminDatum
        DoCmd.GoToRecord , , acNewRec
        TerminBeginn.TabStop = True
        TerminBeginn = d
        Set rs = Me.Recordset.Clone
        aktNr = Me![Eintragnr]
        'MsgBox aktNr
        Me.Requery
        rs.FindFirst "[Eintragnr] = " & aktNr & ""
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End If
End Sub

Viele Grüsse,
Gast
Nachtrag: Gast am 10. Jan 2007 um 00:12 hat folgendes geschrieben:
Hallo Jörg,

danke für die Hilfe. Die Formularseite springt, so wie ich es nun habe, ziemlich. Evtl werde ich es noch auf zwei Teile (Buttons) ändern.

Genauso habe ich einige Buttons, die neue Formulare öffnen und dabei bei einem bestimmten Datensatz ankommen sollen, während gleichzeitig das Blättern funktionieren soll.

Viele Grüsse,
Gast
JörgG
Access-Team


Verfasst am:
10. Jan 2007, 01:20
Rufname:
Wohnort: b. Dresden

AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hallo,

ja, das Springen kommt vom Aktualisieren, probiere mal das BS Echo zwischenzeitlich auszuschalten:
Code:
    '. . .
        Me!TerminBeginn.TabStop = True
        Me!TerminBeginn = d
        aktNr = Me![Eintragnr]
        Application.Echo False
        Me.Requery
        Me.Recordset.FindFirst "[Eintragnr] = " & aktNr
        Application.Echo True
    End If
End Sub

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
10. Jan 2007, 13:12
Rufname:

AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Gast am 10. Jan 2007 um 10:00 hat folgendes geschrieben:
Hallo Jörg,

etwas besser mit Application.Echo.

Mit freundlichen Grüssen,

Gast

Gast am 10. Jan 2007 um 11:46 hat folgendes geschrieben:
Hallo Jörg,

habe versucht Dein Programm zu testen, aber ich versteh es nicht.

Chr(34) sollte doch in Anführungszeichen stehende Werte liefern. Zum einen wozu benötige ich Anführungszeichen, denn es funktioniert nicht so schnell. Es kann auch sein dass ich einen Fehler übersehen habe, da es etwas unübersichtlich ist. Und wieso schreibe ich Chr(34) und nicht einfach " ?

Auf der anderen Seite habe ich bei meiner Version kein End if nach Bookmark, aber es läuft dennoch.

Viele Grüsse,

Gast

Hi,

SaveButton funktioniert sehr gut nachdem man das Datum editiert, denn dann steht der DS mit einem anderen Datum irgendwo in der Mitte.

VG
Gast
JörgG
Access-Team


Verfasst am:
10. Jan 2007, 15:09
Rufname:
Wohnort: b. Dresden

AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hallo,

ich hatte Deine Variablengeschichte abgekürzt, indem ich die Werte als Standardwerte (DefaultValue) für die beiden Felder eingesetzt habe Very Happy . Hast Du denn mal probiert " statt Chr(34)? Razz

Naja, im ersten Beitrag schreibst Du, AC soll anschliessend auf den alten Record zurückspringen, in Deinem geänderten Code nimmst Du dann aber den Wert des neuen DS:
Code:
        DoCmd.GoToRecord , , acNewRec
        Me!TerminBeginn.TabStop = True
        Me!TerminBeginn = d
        aktNr = Me![Eintragnr]      '<-- Wert des neuen DS
        Me.Requery
        Me.Recordset.FindFirst "[Eintragnr] = " & aktNr

Wenn es der alte DS sein soll, muss die markierte Zeile vor DoCmd.GoToRecord , , acNewRec stehen.

Da nachdem If . . . Then nur eine Anweisung folgt, kannst/hast Du die Kurzversion geschrieben, ohne End If Very Happy und in Deiner AC Version geht es auch ohne zu klonen, mit dem direkten Zugriff auf das Recordset.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
10. Jan 2007, 22:32
Rufname:

AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hallo Jörg,

die Änderungen in obigem Programm funktionierten im Verhalten schneller. Aber DefaultValue war jeweils eingetragen, z. b. "11" für Mitarbeiter und "1.2.2007" für Datum. Andere Werte stehen nicht in Anführungszeichen. Verstehe das nicht.

Ein Datum hat doch das format #01.02.2007#?

Momentan werden die Einträge angelegt, aber nicht gespeichert, sondern verschwinden bei Requery oder beim Speichern wieder. Und die Eigenschaft DefaultValue ist leer??

Viele Grüsse,
Gast
JörgG
Access-Team


Verfasst am:
11. Jan 2007, 01:21
Rufname:
Wohnort: b. Dresden

AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hallo,

dann ändere die Zeile in ein ordentliches Datum:
Code:
    Me!TerminDatum.DefaultValue = Chr(34) & CDate(Me!TerminDatum) & Chr(34)
und vor dem Requery noch ein:
Code:
    DoCmd.RunCommand acCmdSaveRecord

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
11. Jan 2007, 11:50
Rufname:


AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge - AW: Datensatz neu am Ende der Tabelle - Blätter-Reihenfolge

Nach oben
       Version: Office 2003

Hi,

ok. Danke für die vielen Tipps,

Viele Grüsse,
Gast
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
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: Tabelle mit Beziehung zu anderen Tabellen updaten - wie ? 4 miredoju 2684 15. Jun 2004, 10:24
miredoju Tabelle mit Beziehung zu anderen Tabellen updaten - wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle von Excel importieren 1 Sonnenschein 2640 15. Jun 2004, 06:57
stpimi Tabelle von Excel importieren
Keine neuen Beiträge Access Tabellen & Abfragen: Konvertierung 97 nach 2000 - Beziehungen sind weg 1 katrin 07 395 21. Mai 2004, 21:50
mabe38 Konvertierung 97 nach 2000 - Beziehungen sind weg
Keine neuen Beiträge Access Tabellen & Abfragen: kriterium - datensatz nur in einer von zwei tabellen 3 budking82 1000 11. Mai 2004, 12:59
budking82 kriterium - datensatz nur in einer von zwei tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle sichern 5 alfikoe 946 05. Mai 2004, 20:26
lothi Tabelle sichern
Keine neuen Beiträge Access Tabellen & Abfragen: letzten datensatz bei access ermitteln 2 trommelkind 902 03. Mai 2004, 16:25
trommelkind letzten datensatz bei access ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: Autowert in bestehende Tabelle 1 Gingi 729 23. Apr 2004, 11:45
mabe38 Autowert in bestehende Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Werte aus Formular per VBA in andere Tabelle anfügen 1 Gast 1861 04. Apr 2004, 21:27
el_gomero Werte aus Formular per VBA in andere Tabelle anfügen
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: einträge aus tabelle in formular anzeigen u. speichern 1 gast 1161 25. März 2004, 09:33
Willi Wipp einträge aus tabelle in formular anzeigen u. speichern
Keine neuen Beiträge Access Tabellen & Abfragen: ausgeblendete Tabelle wieder einblenden 2 Dana79 2758 24. März 2004, 11:54
Dana79 ausgeblendete Tabelle wieder einblenden
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks