Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Jan.T am Dezember 08, 2020, 10:20:52

Titel: Autowertfeld mit VBA an eine Tabelle anfügen
Beitrag von: Jan.T am Dezember 08, 2020, 10:20:52
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
Titel: Re: Autowertfeld mit VBA an eine Tabelle anfügen
Beitrag von: MzKlMu am Dezember 08, 2020, 10:38:42
Hallo,
wozu willst Du das mit VBA machen, warum nicht einfach im Tabellenentwurf ?
Titel: Re: Autowertfeld mit VBA an eine Tabelle anfügen
Beitrag von: Jan.T am Dezember 08, 2020, 10:41:41
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
Titel: Re: Autowertfeld mit VBA an eine Tabelle anfügen
Beitrag von: ebs17 am Dezember 08, 2020, 10:55:32
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
Titel: Re: Autowertfeld mit VBA an eine Tabelle anfügen
Beitrag von: Jan.T am Dezember 08, 2020, 11:01:40
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!