Announcement

Collapse
No announcement yet.

access vba daten von feld_A nach feld_B kopieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • access vba daten von feld_A nach feld_B kopieren

    Hallo,
    ich möchte mittels vba-makro die datensätze von feld_A nach feld_B kopieren - zunächst mal kein problem.

    ABER:

    in feld_B sollen die Datensätze um eine Zeile nach unten versetzt (1. Eintrag soll 0 sein) eingefügt werden. Mir fehlt da der nötige Denkanstoß.
    Hier mal der Code fürs einfache Kopieren:
    __________________________________________________ ____________
    Code:
    Sub complete()
    
    
    ' Feld Anfügen
    
    
    Dim DBS As DAO.Database
    Dim FeldDef As TableDef
    Dim Feld As Field
    
    On Error GoTo fehler
    
    'Datenbank öffnen
    Set DBS = CurrentDb
    
    'neues Feld einfügen (name = feld_B, Format = double)
    Set FeldDef = DBS.TableDefs!xxxxx
    Set Feld = FeldDef.CreateField("feld_B")
    Feld.Type = dbDouble
    FeldDef.Fields.Append Feld
    
    
    ' Inhalte kopieren
    
    
    Dim rs As DAO.Recordset
    
    'Inhalt von "feld_A" nach "feld_B" kopieren -> um eine Zeile nach unten versetzt
    Set rs = DBS.OpenRecordset("xxxxx", dbOpenDynaset)
    
    With rs
    .MoveFirst
    
    Do Until rs.EOF
    rs.Edit
    rs.Fields("feld_B").Value = rs.Fields("feld_A").Value
    rs.Update
    .MoveNext
    Loop
    .Close
    End With
    Exit Sub
    
    fehler:
    MsgBox Err.Number & " " & Err.Description
    
    End Sub
    __________________________________________________ ____________

    Wie gesagt, ich krieg das nicht hin - die Datensätze in feld_B erst ab der 2. Zeile einzufügen, wobei gleichzeitig für Zeile 1 der Wert 0 gesetzt werden soll.

    Wäre toll, wenn mir da jmd. mit Rat helfen könnte.
    Vielen Dank vorab!

    Klaus.

  • #2
    Hallo Klaus

    damit sollte es eigentlich klappen, habe es aber nicht getestet

    ' Inhalte kopieren


    Dim rs As DAO.Recordset
    Dim WertA as Double

    'Inhalt von "feld_A" nach "feld_B" kopieren -> um eine Zeile nach unten versetzt
    Set rs = DBS.OpenRecordset("xxxxx", dbOpenDynaset)

    With rs
    .MoveFirst
    WertA = 0

    Do Until rs.EOF
    rs.Edit
    rs.Fields("feld_B").Value = WertA
    rs.Update
    WertA =rs.Fields("feld_A").Value
    .MoveNext
    Loop
    .Close
    End With
    Exit Sub

    fehler:
    MsgBox Err.Number & " " & Err.Description
    Gruß Gini

    Win XP, Visual Studio 2008 Prof., SQL Server 2005 Express

    Comment

    Working...
    X