Januar 19, 2021, 06:49:15

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Autowertfeld mit VBA an eine Tabelle anfügen

Begonnen von Jan.T, Dezember 08, 2020, 10:20:52

⏪ vorheriges - nächstes ⏩

Jan.T

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

MzKlMu

Hallo,
wozu willst Du das mit VBA machen, warum nicht einfach im Tabellenentwurf ?
Gruß
Klaus

Jan.T

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

ebs17

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
Mit freundlichem Glück Auf!

Eberhard

Jan.T

Dezember 08, 2020, 11:01:40 #4 Letzte Bearbeitung: Dezember 08, 2020, 11:16:50 von Jan.T
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!