Suche | Statistiken | Benutzerliste | Access-FAQ | Datenschutz Foren
donkarl Forum
donkarl Forum ->  Themen -> Access -> Diskussion ansehen

Du bist als Gast eingelogt. ( Anmelden | Registrieren )
  • Einladung zum 9. virtuellen Access-Stammtisch Hann...
  • KlausWerther17.05.22 01:02
  • Der Suchschlüssel wurde in keinem Datensatz gefund...
  • SuccessControl12.05.22 21:41
       └ RE: Der Suchschlüssel wurde in keinem Datensatz ... PeterDoering14.05.22 09:22
  • Access Stammtisch München am 12.05.2022 (Do)
  • StefanWirrer10.05.22 16:20
  • Neuling-Anfrage: Tabellen datensatzweise abarbeite...
  • Justitiar09.05.22 13:35
       └ RE: Neuling-Anfrage: Tabellen datensatzweise aba... PeterDoering09.05.22 17:05
          └ RE: Neuling-Anfrage: Tabellen datensatzweise a... Justitiar10.05.22 08:43
             └ RE: Neuling-Anfrage: Tabellen datensatzwe... PeterDoering10.05.22 16:14
  • Filter von Hauptbericht in Unterbericht übernehmen
  • drnicolas19.04.22 14:55
       └ RE: Filter von Hauptbericht in Unterbericht über... PeterDoering19.04.22 15:48
          └ RE: Filter von Hauptbericht in Unterbericht üb... drnicolas08.05.22 21:31
             └ RE: Filter von Hauptbericht in Unterbericht ... PeterDoering09.05.22 16:55
  • Queries durchsuchen
  • swedrain06.05.22 21:40
       └ RE: Queries durchsuchen PeterDoering08.05.22 12:21
  • Problem mit Runtime seit Update letzter Woche
  • lig103.05.22 11:37
  • Geteiltes Formular lässt sich immer verschieben, a...
  • Frank5427.04.22 16:24
  • Nicht genügend Systemressourcen
  • RocknRolf26.04.22 15:43
       └ RE: Nicht genügend Systemressourcen Andrea26.04.22 15:56
          └ RE: Nicht genügend Systemressourcen Karl Donaubauer26.04.22 16:31
             └ RE: Nicht genügend Systemressourcen RocknRolf26.04.22 16:59
             └ RE: Nicht genügend Systemressourcen RocknRolf26.04.22 19:06
                └ RE: Nicht genügend Systemressourcen Karl Donaubauer26.04.22 20:49
          └ RE: Nicht genügend Systemressourcen RocknRolf26.04.22 16:37
  • Tabellenbeziehungen mit verknüpften Tabellen
  • Steve14.04.22 21:04
       └ RE: Tabellenbeziehungen mit verknüpften Tabellen Karl Donaubauer20.04.22 08:42
          └ RE: Tabellenbeziehungen mit verknüpften Tabellen Steve21.04.22 08:35
  • nach Suchstring zu einem Datensatz wechseln
  • drnicolas19.04.22 15:12
       └ RE: nach Suchstring zu einem Datensatz wechseln drnicolas19.04.22 15:40
       └ RE: nach Suchstring zu einem Datensatz wechseln PeterDoering19.04.22 15:50
  • Konstante in Report
  • Dreho5211.04.22 12:22
       └ RE: Konstante in Report PeterDoering13.04.22 13:01
  • Leasing-Bug noch aktuell
  • Andrea18.03.22 13:28
       └ RE: Leasing-Bug noch aktuell Karl Donaubauer18.03.22 16:56
          └ RE: Leasing-Bug noch aktuell Andrea21.03.22 08:22
             └ RE: Leasing-Bug noch aktuell Andrea22.03.22 19:17
                └ RE: Leasing-Bug noch aktuell Andrea25.03.22 11:18
                   └ RE: Leasing-Bug noch aktuell? Oder ander... Andrea31.03.22 15:56
                      └ RE: Leasing-Bug noch aktuell? Oder and... PeterDoering07.04.22 21:32
                         └ RE: Leasing-Bug noch aktuell? Oder a... Andrea08.04.22 14:42
                            └ RE: Leasing-Bug noch aktuell? Oder... PeterDoering09.04.22 14:06
                               └ RE: Leasing-Bug noch aktuell? Od... Andrea11.04.22 15:35
  • Daten aus mehreren Datensätze in einen Datensatz s...
  • bullenhai196808.04.22 22:37
       └ RE: Daten aus mehreren Datensätze in einen Daten... Nick Oetjen11.04.22 10:06
  • Tabelle ändern
  • Dreho5207.04.22 15:20
       └ RE: Tabelle ändern PeterDoering10.04.22 11:19
    PeterDoering
    Gesendet: 10.05.22 16:14
    Betreff: RE: Neuling-Anfrage: Tabellen datensatzweise abarbeiten



    Extreme Veteran

    Beiträge: 563
    5002525
    Hallo,

    Justitiar - 10.05.22 08:43
    Mir geht es meist allerdings darum, die bei einem Tabellendurchlauf abgefragten Werte nicht direkt in eine Tabelle zu schreiben, sondern sie zunächst einer programminternen Variable zuzuweisen und einem mehr oder minder komplexen Weiterverarbitungsprozess zu unterziehen, bevor sie dann am Ende der Anwendung in dieser oder einer anderen Tabelle landen.

    Noch sind wir bei SQL.

    [...] Felder

    FamName String
    Vorname String
    GebDat Date

    und unbelegten Feldern

    PKN-TEMP String und
    PKN String

    Es soll nun beim datensatzweisen Durchlauf eine PKN aus dem Geburtstadtum im Format JJJJMMTT + Anfangsbuchstabe des Familiennamens + einem in einen dreistelligen String mit führenden Nullen aus einer laufenden Nummer gebildet werden, wobei bei der Ermittluing der laufenden Nummer nur die Fälle mit gleichen Geburtsdatum und gleichem Anfangsbuchstaben des Familiennnamens gezählt werden (dazu dient das Feld PKN-TEMP). Die so gebildete PKN wird dann in das Feld PKN eingetragen und am Ende wird das Feld PKN-TEMP (das ja nicht mehr benötigt wird) gelöscht.

    Ich denke, dass das mit dem von Dir genannten Typ Recordset vielleicht doch eher geht, als mit einer SQL-Abfrage.

    Grundsätzlich gilt, dass man Aktualisierungsabfragen statt Recordsets verwenden sollte, wenn es möglich ist. Deinem Beispiel ist wegen der laufenden Nummer nicht möglich, denn die müsste in einer Unterabfrage ermittelt werden, eine Eigenheit von Jet(ACE)-SQL, die die Kombination von Aktions- und Unterabfragen nicht zulässt.

    Per Recordset wäre folgender Ansatz möglich:

    Dim Db As DAO.Database
    Dim Rst As DAO.Recordset
    Dim strSQL As String

    Set Db = CurrentDb
    strSQL = "SELECT ID, PKN, FamName, GebDat FROM DeineTabelle;"
    Set Rst = Db.OpenRecordset(strSQL, dbOpenDynaset)
    Do While Not Rst.EOF
    Rst.Edit
    Rst.Fields("PKN").Value = _
    Format(Rst.Fields("[GebDat]").Value, "yyyymmdd") & _
    Left(Rst.Fields("FamName").Value, 1) & _
    Format(DCount("*", "DeineTabelle", _
    "ID < " & Rst.Fields("ID").Value & _
    " AND LEFT(FamName,1)='" & Left(Rst.Fields("FamName").Value, 1) & "'" & _
    " AND GebDat=" & Format(Rst.Fields("GebDat").Value, "\#YYYY\-MM\-DD\#")) + 1, "000")
    Rst.Update
    Rst.MoveNext
    Loop
    Rst.Close
    Set Rst = Nothing
    Set Db = Nothing

    Das Beispiel setzt voraus, dass es einen numerischen Primärschlüssel namens ID gibt, typischerweise als Autowert deklariert.

    Die Einrückungen werden von der Forums-SW leider weggetrimmt, deshalb ist der Code nicht so einfach lesbar, aber, wenn du DeineTabelle durch den echten Tabellennamen ersetzt, sollte das Beispiel funktionieren.

    -----
    Gruss - Peter
    Top of the page Bottom of the page


    Seite: < 3 4 5 6 7 8 ... 9 10 11 12 13 14 15 ... >
    Suche in diesem Forum
    Druckfreundliche Version
    (Alle Cookies von dieser Seite löschen.)