Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Access - Datensätze kopieren

Empfohlene Antworten

Veröffentlicht

Ich brauch schon wieder ´nen Schubs.

Ich suche nach ´ner Möglichkeit, Datensätze möglichst simpel zu kopieren(mit VBA). Die Sätze sind bereits mit Daten gefüllt und die ID muß geändert werden(kein Autowert verwendet).

Die Felder explizit zu benennen entfällt aufgrund der Masse (ca. 2500 und es werden immer mehr).

Hi,

2500 Datenfelder??? :eek: :eek: :eek:

Oder meintest du Datensätze?? :confused:

Wohin willst du die denn kopieren?? In eine neue oder eine vorhandene Tabelle?? Und in wie weit muß die ID verändert werden, einfach z.B. 20000 dazu, oder ganz anderst???

Moin Wolle, schönes Wochenende gehabt?

ca. 2500 Datenfelder!!! (in Entwicklung, deshalb nur ca. 10 Datensätze)

entwickle eine Kalkulationsdatenbank für Einfamilienhäuser. Musste die Daten pro Projekt auf mehrere Thementabellen aufteilen -> zu viele Felder pro Tabellenobjekt :(

Um nicht bei jedem neuen Projekt komplett neue Daten eingeben zu müssen, sollen die Daten (Datensatz) eines bestehenden Projektes in einen neuen Datenatz eingefügt werden. Anschließend muß die Projekt_ID auf den Neuesten Datensatz in allen Thementabellen (der aufgeteilte Sch***) angeglichen werden. Die originale Projektnummer ist ein AutoWert, alle anderen sind entsprechend frei wählbare Zahlen (indiziert etc.).

Die Verknüpfung aller Tabellen war nicht möglich, da der Speicher für ein Verknüpfungsobjekt nicht ausreichte (entspr. Fehlermeldung).

Ist alles nicht so einfach - war aber auch mein Abschlußprojekt :)

Sind die Infos jetzt ausreichend?

CU

Hi,

hat ein bischen gedauert, aber ich hatte heute Mittag kaum Zeit und hab auch erstmal probieren müssen.


Private Sub Befehl0_Click()

Dim db As Database

Dim rst As Recordset


Set db = CurrentDb

Set rst = db.OpenRecordset("Select * from users")

rst.MoveFirst

While Not rst.EOF And Not rst.BOF

rst.Edit

For i = 0 To rst.Fields.Count - 1

    MsgBox (rst.Fields.Item(i).Name)

    If i = 1 Then

        rst.Fields.Item(i) = "hghgjhgjhgj"

    End If

Next

rst.Update

rst.MoveNext

Wend


End Sub

Über 2 Recordset's könntest du das lösen. In dem Beispiel oben zählst du mit der For-Next Schleife durch die Felder (in einem Datensatz). Die MsgBox gibt die Namen der Felder aus. In der If-Abfrage weise ich dem 2. Feld (Fängt ja bei 0 an) einen neuen Wert zu.

Wenn du jetzt 2 Recordset's laufen lässt (einer in der alten Tabelle und einer in der neuen) und dem 2. Recordset mit rst2.Fields.Item(i) = rst1.Fields.Item(i) die Werte zuweist müßte es klappen. Statt rst.Edit mußt du dann halt rst.AddNew nehmen.

ACHTUNG: Wenn du das Beispiel oben nimmst kommst du wegen der MsgBox bei sovielen Feldern fast nicht mehr raus. Ich mußte auch mit Task Beenden raus, weil ich viele Datensätze in der Tabelle hatte.

Danke, Wolle!

Deine Lösung passt wie die Faust auf´s Auge :)

Ich mach mich heute ab in die Sommerferien - viel Spaß alle miteinander!

CU

Na dann wünsche ich dir einen schönen Urlaub... :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.