Hallo,
Ich suche in einer Tabelle nach einem bestimmten Datensatz, der dann kopiert wird(die bestehenden Zeilen müssen erhalten bleiben) in einer spalte geändert wird und dann wieder in der gleichen Tabelle angefügt wird.
mit der Anfüge Abfrage komme ich dem schon ganz nahe, leider weiß ich nicht, wie ich dort einen spaltenwert ändern kann. Denn so kommt ein Fehler in access, da ich ja versuche bereits bestehende Datensätze in gleicher Form anzufügen.
dankeschön !
Hallo,
bist Du sicher, dass es notwendig ist ganze Datensätze zu kopieren, wenn nur ein Wert geändert wird ?
Du erzeugst ja jede Menge redundanter Daten.
Was ist das für ein Wert der geändert wird ?
Das ist zur Anlage eines neuen Users, der sich dann nur im Namen unterscheidet.
Hallo,
und wozu dann noch die anderen Felder die nicht geändert werden, wenn sich nur der Name unterscheidet ?
Hier fehlt wahrscheinlich noch mindestens eine Tabelle.
Ich glaube, Du machst hier eher eine Exceltabelle als eine Datenbanktabelle.
Wenn Du das Vorhaben mal komplett erläuterst kann man Dir sicher einen anderen/besseren Vorschlag machen.
Ich verwalte nur die Tabellen, die von einer Anwendung verwendet werden. Auf die Struktur habe ich keinen Einfluss. Bisher habe ich die bestehenden Datensätze per Abfrage ausgewählt und dann händisch kopiert und den Usernamen geändert.
Dabei geht es um Rechtevergaben und Lizenzen für die User, welche die selben bekommen wie bereits bestehende.
Hallo,
das ist keine Datenbank, sondern eine Exceltabelle. Hier ist für die Rechte und die Lizenzen eine (oder 2) extra Tabellen anzulegen. Darstellung erfolgt in einem Hauptformular. In eine Unterformular werden dann einfach die User die dazu gehören ausgewählt. Auch neue User werden dort einfach eingetragen.
Abfragen egal welcher Art entfallen ersatzlos.
Du kannst das ruhig mal an die Datenbankverantwortlichen weitergeben.
Aber da Du das ja nicht ändern kannst, solltest Du hier mal den SQL Code der Anfügeabfrage zeigen. Nenne das Feld dazu das geändert wird.
Wie hast Du Dir die Erfassung des neuen Namens gedacht ?
Hallo,
folgendes Screnario könnte ich mir vorstellen:
- du wählst den "Muster-User" bspw. per Kombifeld in einem Formular aus
- trägst in einem ungebundenen Textfeld den neuen Usernamen ein und
- startest den Kopiervorgang über einen Button
- der wiederum führt eine Anfügeabfrage via VBA aus
Der Code dazu könnte folgendermaßen aussehen:
Private Sub btn_Kopieren_Click()
On Error GoTo Fehler
Dim strSQL As String
strSQL = "Insert Into tblUser (user, feld1, feld2, ...) " & _
"Select '" & Me.txtUserNeu & "', feld1, feld2, ... " & _
"From tblUser Where user = '" & Me.cboUser & "'"
CurrentDB.Execute strSQL, dbFailOnError
Ende:
Exit Sub
Fehler:
MesgBox Err.Description, , Err.Number
End Sub