Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datensätze durch Inkrementieren in einer Tabelle ändern





Frage

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: [b]User[/b] und [b]Lizenz[/b] User: Name - Lizenz Hans - GE Auto Peter - GE Auto Willi - GE Papier ... Lizenz: Liz_Name - Anzahl GE Auto - 2 GE Papier - 1 ... [b]Soll werden zu -->[/b] 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. [b]Meine Frage ist nun: Wie kann per Makro ich auf einen Datensatz in einer Tabelle zugreifen?[/b] Vielen Dank für jede Hilfe

Antwort 1 von Booyeoo

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

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...

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: