online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon Booyeoo vom 10.06.2019, 20:31 Options

Datensätze durch Inkrementieren in einer Tabelle ändern

Hallo Zusammen,

Ich habe ein kleines oder auch großes Problem.
Ich habe zwei Tabelle, zwischen denen eine 1-n beziehung besteht.
Ich möchte diese jedoch in eine 1-1 Beziehung konvertieren. D.h. die Lizenzen die so heißen wie GE Auto-Abteilung, oder GE Papier-Abt.
sollen in GE Auto-Abteilung_1, GE Auto-Abteilung_2 ... GE Auto-Abteilung_n, und GE Papier-Abt._1 ... GE Papier-Abt._n umbenannt werden.

Ich wollte dazu ein Makro schreiben oder ein SQL-Statement bei dem man inkrementieren kann
Beim Makro scheiter ich daran einen richtigen Zugriff auf die Tabelle zu bekommen.
Beim SQL Statement an dem Inkrement.

Tabellen: User und Lizenz

User: Name - Lizenz
Hans - GE Auto
Peter - GE Auto
Willi - GE Papier
...

Lizenz: Liz_Name - Anzahl
GE Auto - 2
GE Papier - 1
...

Soll werden zu -->

User: Name - Lizenz
Hans - GE Auto_1
Peter - GE Auto_2
Willi - GE Papier_1
...

Lizenz: Liz_Name
GE Auto_1
GE Auto_2
GE Papier_1
...

Meine User Tabelle ist nun nach Lizenz vorsortiert.
Ich würde jetzt gerne einfach vorne Anfangen in der Tabelle und dann einfach immer zum nächsten Record gehen und dann die Lizenz um _1 .. _n ergänzen. Wenn sich der Name der Lizenz ändert dann den Zähler wieder auf 1 setzen.

Meine Frage ist nun:
Wie kann per Makro ich auf einen Datensatz in einer Tabelle zugreifen?


Vielen Dank für jede Hilfe


Antwort schreiben

Antwort 1 von Booyeoo vom 10.06.2019, 21:10 Options

Bisher:

Option Compare Database
Option Explicit

Function Lizenzen_Aendern()
    Dim db As Database
    Dim rst As Recordset
    Dim i As Integer
    Dim Lizname As String
            
    Set db = CurrentDb
    Set rst = db.OpenRecordset("User")
    i = 0
    Lizname = Me![Licence_BU]
    MsgBox (Lizname & "Hallo")
        
End Function


' Hier wird das Me irgendwie nicht akzeptiert

Antwort 2 von lleopard vom 21.06.2019, 16:44 Options

Hallo Booyeoo

Das versteht ja kein Mensch, was du da willst...!!!

Set db = CurrentDb
Set rst = db.OpenRecordset("User")
i = 0

Lizname = Me![Licence_BU]
MsgBox (Lizname & "Hallo")

Was isn das für eine Funktion? Das Schlüsselwort Me funktioniert nur in Formularen. So wie es aussieht müßte da entsprechend des Tabellenverweises nicht Me sondern rst stehen?!

Und am Ende solltest du auch die Verweise wieder beenden:

rst.close
set rst = Nothing
set db = Nothing


"Meine User Tabelle ist nun nach Lizenz vorsortiert.
Ich würde jetzt gerne einfach vorne Anfangen in der Tabelle und dann einfach immer zum nächsten Record gehen und dann die Lizenz um _1 .. _n ergänzen. Wenn sich der Name der Lizenz ändert dann den Zähler wieder auf 1 setzen."

DAS klingt nach einer Schleife... aber wo ist die in deiner Funktion????

Einfach nochmal nachdenken und deine Frage mal so posten, daß man sie auch versteht...

Ähnliche Themen

Daten einlesen
thomme1  20.01.2008 - 24 Hits -

Excel: Auswertung nach PLZ
mattigol  26.02.2008 - 69 Hits - 1 Antwort

DomAnzahl
stinger21  19.03.2008 - 119 Hits - 4 Antworten

Kriterien in Tabellen speichern
trainer987  21.04.2008 - 23 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026