Hallo,
ich möchte ein Autowertfeld mit VBA an meine Tabelle anfügen, dafür hab ich bei Google den Code von dbwiki gefunden.
Dieser ist für mich leider absolut unverständlich, da ich nicht weiß, welche Werte ich in meine eigenen Werte ändern muss.
Hier ist der Code:
Public Sub ErstelleAutowertFeld(TabellenName As String, FeldName As String)
'Quelle: www.dbwiki.net oder www.dbwiki.de
Dim feld As DAO.Field
Set feld = CurrentDb.TableDefs(TabellenName).CreateField(FeldName, dbLong)
feld.Attributes = dbAutoIncrField
CurrentDb.TableDefs(TabellenName).Fields.Append feld
End Sub
Leider ist auf dbwiki gar nicht erklärt, welche Teile dieses Codes ich in meine Feld und Tabellennamen ändern muss.
Habe schon versucht die Werte TabellenName und FeldName in meine eigenen zu ändern, leider ohne Erfolg
Hallo,
wozu willst Du das mit VBA machen, warum nicht einfach im Tabellenentwurf ?
Zitatwozu willst Du das mit VBA machen, warum nicht einfach im Tabellenentwurf ?
Weil das ganze gestartet werden soll, wenn ich einen Button drücke (zusammen mit dem Import der Tabelle)
Es handelt sich um eine Tabelle die von einem SQL Server importiert wird und nicht live als Verknüpfung verwendet werden kann
ZitatHabe schon versucht die Werte TabellenName und FeldName in meine eigenen zu ändern
Immerhin hast Du schon herausgefunden, wo genau man Hand anlegen müsste - sprechende Namen verleiten zum Verstehen.
Hier sind aber TabellenName und FeldName Variablen, aus gutem Grund: Die Prozedur ist allgemeingültig und vielfach nutzbar = guter Stil in der Programmierung.
In der Praxis würde man die Prozedur einfach an der nötigen Stelle im eigenen Ablauf aufrufen und die konkreten Argumente übergeben:
' ... Dein toller Code
ErstelleAutowertFeld "tblIrgendwo", "IDNeu"
' ... weiterer toller Code
ZitatIn der Praxis würde man die Prozedur einfach an der nötigen Stelle im eigenen Ablauf aufrufen und die konkreten Argumente übergeben:
Danke für die Antwort! Genauso hab ich mir das gedacht, funktioniert allerdings nicht. Was mach ich falsch?
Siehe Bild.
Edit: Ich habs, war zu blöd, musste deine Antwort mit meinem Versuch kombinieren, also die Klammern und in Anführungszeichen. Macht so im nachhinein gesehen auch sehr viel Sinn. Danke Eberhard!