Office: (Office 2013) mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen

Helfe beim Thema mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Erfahrungsträger, ich bemühe mich schon wieder viel zu lange, in einer mit VBA neu erstellten Tabelle ein Tabellenfeld als AutoWert mit... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Muehlman, 1. August 2016.

  1. mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen


    Hallo Erfahrungsträger,
    ich bemühe mich schon wieder viel zu lange, in einer mit VBA neu erstellten Tabelle ein Tabellenfeld als AutoWert mit Replikations-ID anzulegen. Und zwar ohne irgendwelche Tricks, etwa mit einer Funktion als DefaultValue.
    Ich möchte einfach nach der Erstellung der Tabelle mit VBA hinterher dasselbe im Tabellen-Entwurfsmodus sehen, wie wenn ich das von Beginn an manuell im Entwurfsmodus gemacht hätte, also bspw.

    TestGUID AutoWert

    Feldgröße Replikations-ID
    Indiziert Ja (ohne Duplikate)

    Aber ich bekomme es nicht hin. Im besten Falle sieht es so aus:

    TestGUID Zahl

    Feldgröße Replikations-ID
    Eingabe erforderlich Ja
    Indiziert Ja (ohne Duplikate)

    und das unabhängig davon, ob ich es mit SQL versuche

    ALTER TABLE Test ALTER COLUMN TestGUID GUID;

    (ALTER TABLE Test ALTER COLUMN TestGUID UNIQUEIDENTIFIER; bringt leider immer einen Fehler so dass dies in Access offensichtlich nicht funktioniert.)

    oder direkt mit DAO

    DBCU.TableDefs("Test").Fields("TestGUID").Attributes=dbAutoIncrField

    was leider nicht erlaubt ist, egal, welchen Wert ich zuweisen will.

    Auch die Definition zunächst als Autowert-Feld vom Typ LONG INTEGER und die danach folgende Umwandlung in eine Replikations-ID funktioniert nicht.

    Ich mag auch keine Funktion als DefaultValue eintragen, da dies nicht unmittelbar dokumentierbar, d.h. im Entwurfsmodus sichtbar, ist.
    Hier und auch im Internet habe ich nach langen Suchen nichts gefunden.

    Bitte lasst mich an Euren positiven Erfahrungen teilhaben.

    :)
     
    Muehlman, 1. August 2016
    #1
  2. Hi,
    zeige doch bitte auch gleich den VBA-Code - bitte in Code-Tags verpackt! - dazu, der das Ergebnis liefert.
     
    MaggieMay, 3. August 2016
    #2
  3. mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen

    Hallo,
    ...ob meine Antwort positiv ist, darfst selber entscheiden.

    Also, eine Replikations-ID wird in AC 2016 nicht mehr angeboten (da sollten aber schon die Alarmglocken läuten)

    2013 und kleiner weiß ich nicht mehr, benutze diese Möglichkeit einfach nicht, da mir zu mühsam.
    Denke aber, es wird auch in AC13 nicht mehr angeboten.
    Da es schon andere Möglichkeiten dafür gibt.

    Habe mal eine Replikations-DB für einen Freund erstellt
    und das wieder zurücksetzen müssen... war eine mühsame Sache.
    Aber, hat funktioniert, es waren alle Daten wieder passend und vollständig.
    Ich mach das jedenfalls nie mehr wieder.

    Eventuell, habe ich es auch falsch verstanden und es geht um ganz etwas anderes *biggrin.gif*
     
    Kyron9000, 3. August 2016
    #4
  4. Hi,
    (nur der Vollständigkeit halber)
    Das heißt evtl. auch, dass der Datentyp (bzw. die "Feldgröße") "Replikations-ID" nicht mehr einsetzbar ist.

    Vermutlich der Grund dafür, dass es dir nicht gelungen ist, ein solches Datenfeld anzulegen.
    Es scheint sich also wirklich nicht mehr zu lohnen, sich darüber Gedanken zu machen.

    Die Vergabe einer eindeutigen ID spezieller Bauart könnte man ja auch im Eingabeformular sicherstellen.
     
    MaggieMay, 3. August 2016
    #5
  5. \@Alfred,

    die Feldgröße Replikations-ID ist nach wie vor für einen Autowert auch unter Access 2016 vorhanden. *rolleyes.gif*
     
  6. \@Nouba

    aha danke, das habe ich nicht gewusst und anscheinend nicht nur ich nicht, sondern Maggie auch nicht!
    ...nur der Vollständigkeit halber! *wink.gif*

    Vor nicht langer Zeit wollte ich eine Replikations-DB mit AC16 starten... geht nicht mehr!
    War aber eine .mdb!
    Ist da ein Unterschied - Replikations-DB und Replikations-ID
    Ich weiß es nicht, wäre für mich gut zu wissen, denn ich würde es benötigen!
    Für jemand anderen, nicht für mich.
     
    Kyron9000, 3. August 2016
    #7
  7. mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen

    \@Alfred:
    Ich hatte den Beitrag nachträglich editiert, weil ich bemerkt hatte, dass der Kommentar an die falsche Stelle gerückt war.
    Das war, wie man sehen kann, zum Zeitpunkt deines Zitats eigentlich schon gespeichert.

    Dass es diese "Feldgröße" trotz fehlender Unterstützung der Replikation noch gibt, wundert mich.
    Hat dann aber wohl nur den Grund, dass derartige Tabellen weiterverwendet werden können - oder wie seht ihr das?
     
    MaggieMay, 3. August 2016
    #8
  8. \@Maggie

    ...ich kann das nicht beurteilen, da es bei mir nicht mehr funktioniert und ich es
    weder nachvollziehen kann, noch es unbedingt nachvollziehen möchte.

    Es wird mir diese alte Replikations-DB auch nicht mehr wie gewohnt mit diesem runden, gelben Zeichen angezeigt.

    Außer das ich einen Freund helfen wollte, was nicht unbedingt sein muss, verbindet mich mit einer Replikations-ID/DB nichts mehr.

    PS: Code:
    Also, ich kann diese DB nicht mehr öffnen!
    Eben noch mal getestet... das ich hier keinen Unsinn verbreite...
     
    Kyron9000, 3. August 2016
    #9
  9. Auweia. Da habe ich ja etwas losgetreten...
    Der Hinweis von Eberhard scheint mir der kompetenteste zu sein und weiter zu helfen. Ich werde mich gleich morgen früh an die Umsetzung machen. Es klingt gut und gibt mir wieder Hoffnung.
    Andere werfen Replikations-ID und Datenbank-Replikation in die selbe Kiste, ... wenn ich das richtig verstanden habe ... is aber janz wat anderes ... Muss ich den Unterschied noch erklären?
     
    Muehlman, 3. August 2016
    #10
  10. Ich hatte es schon schreiben wollen, dann aber wieder verworfen...
    Ich denke, es macht schon einen Unterschied, ob es sich tatsächlich um eine replizierte DB (bzw. ein Replikat) handelt, oder ob lediglich der Datentyp Autowert mit der Feldgröße Replikations-ID in einer Tabelle verwendet wurde.

    Soll heißen: Du stehst mit dieser Interpretation nicht allein. *Smilie
     
    MaggieMay, 3. August 2016
    #11
  11. Für jene, die ihr Denlken mit Fakten anreichern wollen: Eine Replikations-ID ist nichts anderes als eine Umsetzung einer GUID.

    Die Verwendung einer GUID ist zwar beim Synchronisieren/Replizieren hilfreich, weil praktisch keine gleiche GUID zweimal erzeugt werden kann und es so keine ID-Überschneidung bei Datenzusammenlegungen geben kann - aber es gibt weitere Anwendungen.
     
  12. mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen

    Hallo Eberhard,
    ich brauche etwas länger, da ich bisher nicht auf ADO umgestiegen bin und auch nicht umsteigen wollte, sondern bei DAO verblieben war. Und da ist eine 1:1-Umsetzung so nicht möglich. Ich bin also am Versuchen, das ohne ADO und in DAO zu erledigen... ...werde dann aber vermutlich bei meinen alten Problemen bleiben und nicht zum Erfolg kommen. Aber ich tue mich aus den verschiedensten Gründen schwer mit einer ADO-Umstellung.
    Vielleicht hast Du noch einen SQL-Tipp?

    Übrigens Gruß an die Zitzenfichte, ... falss sie noch steht...
     
    Muehlman, 3. August 2016
    #13
  13. Ein Umstieg auf ADO wird nun nicht nötig sein, aber Methoden, die es nur da gibt und die dann und wann nützlich sind (Disconnected Recordsets, Methode GetString u.a.) kann man doch nutzen.

    Hier ein Link, wo Methoden von DDL, DAO und ADO(X) nebeneinandergestellt werden: Strukturänderungen an der Datenbank

    Dass das Vorhaben in Jet-SQL durchführbar ist, glaube ich eher nicht.

    Über die Suchworte "sql ddl dao guid" findest Du einige Stellen, die Du intensiver recherchieren könntest, u.a. Field type reference - names and values for DDL, DAO, and ADOX und da eine DAO-Konstante für GUID (=> dbGUID).

    Zitzenfichte: Oha, ein Reinsberg-Insider.
    Ja, das Jahrhunderthochwasser August 2002 hat sie überstanden, und so viel ich weiß, will sie noch ein paar Jährchen auf die 200 darauflegen.
     
  14. Hallo Allerseits,
    ich bin nun aus dem Urlaub zurück. Leider hat sich nichts geändert.
    Mit DAO habe ich nichts gefunden und es scheint wohl auch wirklich nicht zu funktionieren.
    Mit ADO scheint es sicher zu funktionieren. Allerdings wäre mein Aufwand unvertretbar hoch, nur diese Funktion in ADO zu realisieren.
    Ich müsste weit in die bestehenden Routinen eingreifen. Da die entsprechende Tabelle gerade erst sukzessive durch DAO im Entstehen ist, kann ich nicht mittendrin mit ADO drauf zugreifen.
    Die einzige Möglichkeit, zum Ergebnis zu kommen, sehe ich darin, die bereits in DAO erstellte Tabelle mit ADO anschließend nochmals zu öffnen und die Autokorrektur-Eigenschaft nachträglich einzustellen, obwohl mir auch dafür der Aufwand recht hoch erscheint. Abgesehen davon fehlt mir die Erfahrung, mit ADO eine bestehende Tabelle für Eigenschaftsänderungen zu öffnen. Ich schaffe es nicht, die Tabelle zu öffnen und für das betreffende Feld die Autokorrektur-Eigenschaft einzustellen. Alle Beispiele, die ich im Internet gefunden habe, behandeln lediglich das Erstellen einer neuen Tabelle mit den gewünschten Eigenschaften und nicht das Ändern der gewünschten Eigenschaft in einer bereits bestehenden Tabelle.
    Nur dazu müsste ich, wie oben angemerkt, zu tief in die Struktur der Routinen eingreifen. Ich müsste dazu zunächst feststellen, ob eine zu erstellende Tabelle ein GUID-Feld als Autokorrekturwert enthält und diese Tabelle dann mit ADO erstellen, während alle anderen weiterhin mit DAO zu erstellen wären, um den Gesamtablauf nicht vollkommen auf ADO umstellen zu müssen.
    Wenn mir also nicht jemand an einem Beispiel zeigen kann, wie ich mit ADO in einer bestehenden Tabelle einem GUID-Feld beibringen kann, dass es Autowert sein soll und dies, ohne eine Funktion als Autowert zu verwenden, werde ich wohl die Funktion als "gern gehabt" vergessen müssen.
     
    Muehlman, 24. August 2016
    #15
Thema:

mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen

Die Seite wird geladen...
  1. mit VBA in neuer Tabelle Tabellenfeld als AutoWert-Typ Replikations-ID erstellen - Similar Threads - VBA Tabelle Tabellenfeld

  2. VBA - Datensätze ans Ende einer anderen Tabelle kopieren

    in Microsoft Excel Hilfe
    VBA - Datensätze ans Ende einer anderen Tabelle kopieren: Hallo zusammen, ich habe gerade eine "Abrechnungs"-Datei für einen Kindergartenbasar erstellt. Es wäre klasse, wenn man per Schaltfläche die Datensätze aus der Tabelle "Kaeufer" ans Ende der...
  3. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  4. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  5. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  6. Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen

    in Microsoft Excel Hilfe
    Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen: Hallo Zusammen, mein erster Beitrag hier, also schon mal Sorry im Voraus, wenn unvollständig beschrieben *:)* Ich habe das Forum schon nach einem brauchbaren Lösungsansatz durchsucht, bin aber...
  7. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  8. VBA Code anpassen mit variablem Tabellen Ende

    in Microsoft Excel Hilfe
    VBA Code anpassen mit variablem Tabellen Ende: Hallo, im folgenden Code möchte ich gerne statt eines fest vorgegebenen Tabellen Ende ein variables einsetzen. Sub Verkettung() Dim i As Long For i = 2 To 15000 'Hier soll kein festes Ende...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden