Neuigkeiten:

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

Mobiles Hauptmenü

Neueste Beiträge

#1
Access-Hilfe / Re: Datenbank exportieren
Letzter Beitrag von Gockel67 - August 12, 2026, 21:50:48
Danke für eure Antworten. Hab mich jetzt für Memento entschieden. Da geht es am einfachsten.

Liebe Grüße
Jörg
#2
Tabelle/Abfrage / Re: Standartwert für Tabellenf...
Letzter Beitrag von repaan - August 08, 2026, 10:38:09
Hallo zusammen, bin erst jetzt dazugekommen um euch zu schreiben.
Vielen Dank an alle. Ich werde eure Ratschläge berücksichtigen und mit Bleistift und Papier beginnen.

Danke an alle
schönes Wochenende
#3
Access Programmierung / Re: blockiert ein Dictionary e...
Letzter Beitrag von Doming - August 05, 2026, 06:00:23
Hallo und danke für die vielen Wortmeldungen 

Sowas wie meinen Vorpost meinte ich mit
Zitatgäbe es die vielen Diskussionen, wie man an die ID des gerade eingefügten DS kommt, vermutlich nicht.
;)

Gruß
 Doming
#4
Access Programmierung / Re: blockiert ein Dictionary e...
Letzter Beitrag von Bitsqueezer - August 04, 2026, 23:28:44
Hallo,

wenn alle Tabellen auf SQL Server liegen, könntest Du zum Beispiel auch eine Stored Procedure schreiben, die die INSERT...SELECT komplett auf dem Server erledigen, u.a. ginge hier auch die Übergabe von Parametern.

@@IDENTITY ist eine Systemvariable von SQL Server, die die letzte PK-AutoID in der aktuellen Sitzung zurückgibt. Das funktioniert auch mit VBA, wenn man sie per SELECT ausliest, allerdings nicht mit DAO und auch nicht mit Pass-Through-Query, weil das eine neue Verbindung/Sitzung erzeugen würde. Wenn Du ein ADO-Recordset verwendest zum Einfügen, kannst Du aber ohne weiteres (vor dem Schließen der Verbindung) die @@IDENTITY-Variable mit einem SELECT auslesen.

@@IDENTITY funktioniert übrigens auch ohne SQL Server in Access mit ADO Recordsets (mit DAO habe ich es nicht probiert). (Besser in SQL Server "SCOPE_IDENTITY()" verwenden.)

Besser ist allerdings, eine SP zu verwenden. Das Problem bei INSERT..SELECT ist, daß Dir die letzte ID nicht hilft, denn hier mußt Du ja alle IDs wissen, die neu hinzugekommen sind, und diese als FK im passenden Datensatz einbauen.

Dazu gibt es in T-SQL (nicht in Access SQL) die OUTPUT TO Klausel, die man in den INSERT..SELECT einfügen kann. Man erstellt vorher z.B. eine Temp-Tabelle mit passenden Feldern und OUTPUT TO schreibt die Daten, die mit INSERT eingefügt wurden, in die Temp-Tabelle. Das geht aber nur mit den Feldern, die Bestandteil von INSERT sind (und der ID). Am Ende kannst Du die ID und andere Felder aus der Temp-Tabelle ermitteln und darauf basierend Fremdschlüssel in andere Tabellen schreiben per UPDATE oder passende neue Datensätze generieren.

Es gibt viele Varianten, Daten in Tabellen zu importieren, SQL Server hat auch noch mehr Varianten, z.B. könntest Du eine lokale Tabelle als XML als Parameter einer SP übergeben( VBA kann das einfach umwandeln). Oder Du könntest den ganz dicken Hammer auspacken und Integration Services verwenden, wo Du genau konfigurieren kannst, welche Datei wie gelesen und importiert werden soll, das ginge auch automatisiert zu bestimmten Tageszeiten... usw.

Da man aus dem Konstrukt hier nicht so richtig schlau wird, kann man das auch nur so allgemein beantworten.

Gruß

Christian
#5
Tabelle/Abfrage / Re: Standartwert für Tabellenf...
Letzter Beitrag von Beaker s.a. - August 04, 2026, 16:37:23
Hallo,

Ich kann Klaus nur weiterhin zustimmen.

Das Beispiel schreit förmlich nach
1. weiteren Tabellen und
2. passenden Beziehungen.

Aufzählungsfelder gehen gar nicht, da bekommst du u.U. leere
Felder oder die Anzahl reicht nicht mehr. Dazu ist schon mal
eine Tabelle Disziplinen nötig, und dazu wieder eine n:m-Tabelle,
um den TN ihre Disziplin(en) zu zuordnen (1 bis viele).

Nun gibt es auch noch Mannschaften. Gleiches Prinzip,
Tabelle Mannschaften, n:m TNInMannschaft.

gruss ekkehard

P.S.: Du solltest dir wirklich die Zeit nehmen und dich mit
den Links beschäftigen, die Ulrich gepostet hat.
Vielleicht noch dies: Die Entwicklung einer Db beginnt mit
"Bleistift und Papier". Da schreibst du zuerst mal auf, was
die Db überhaupt leisten soll. Daraus leitest du die benötigten
Tabellen und ihre Eigenschaften (Felder) ab. Beispiel, - die
Eigenschaften eines TN sind im Prinzip nur die persönlichen
Daten. Eine Disziplin ist KEINE einzelne Eigenschaft eines
Teilnehmers, sondern eine Eigenschaft seiner Teilnahme an
einer Ms. Falls es Mehrkampf-Ms gibt muss das auch im DM abgebildet
werden.
#6
Access Programmierung / Re: blockiert ein Dictionary e...
Letzter Beitrag von Knobbi38 - August 04, 2026, 15:24:35
Das hat ja jetzt nicht direkt etwas mit einem SQL-Server zu tun, sollte dort aber auch laufen. Alternativ gibt es auch noch @@Indentity und deren verwandte Funktionen.

#7
Access Programmierung / Re: blockiert ein Dictionary e...
Letzter Beitrag von Doming - August 04, 2026, 13:48:26
Hm gut...

...aber da ist ja immer noch die Geschichte mit dem SQL-Server (ich warte noch auf Genehmigung), wie bekomme ich mit SQL-Mitteln die ID heraus?

Gruß
 Doming
#8
Tabelle/Abfrage / Re: Standartwert für Tabellenf...
Letzter Beitrag von MzKlMu - August 04, 2026, 10:50:58
Hallo,
nein, das ist immer noch unverständlich. Die beiden Tabellen benötigen zwingend einen Zusammenhang. In welchen Feld der Teilnehmertabelle willst Du die Informationen aus der Meisterschaftstabelle speichern ?
Die Tabelle Meisterschaft hat auch einen etwas eigenartigen Namen für das was in den beiden Feldern steht.
Und mit einem Standardwert hat das auch nichts zu tun.

PS:
ZitatDie DB soll durch mehrere Personen bearbeitet werden,
Da unterschätzt Du den Aufwand der dazu notwendig ist. Die Datenbank muss in diesem Fall auf Backend (nur die Tabellen) und Frontend (der Rest) aufgeteilt werden. Jeder User benötigt dann auch Access auf seinem PC. Mindestens als Runtimeversion (die es kostenlos gibt).
#9
Tabelle/Abfrage / Re: Standartwert für Tabellenf...
Letzter Beitrag von repaan - August 04, 2026, 10:34:37
Hallo zusammen,
die beiden Datenfelder "Ort" und "Bezirk" benötige ich für Erstellung von Urkunden. Da auf jeder Urkunde der gleiche Ort und Bezirk vorhanden ist. Ich habe es auch schon mit einem Standartwert versucht. So bin ich eigentlich auf diese Idee gekommen, mit dem Startformular den Ort und den Bezirk für alle Datensätze, die noch hinzukommen festzulegen, um dann die Datenfelder aus der tbl_Meisterschaft einer Abfrage hinzuzufügen. Die DB soll durch mehrere Personen bearbeitet werden, somit kann jeder Bezirk in der gleichen DB seine Teilnehmer erfassen und auswerten.
Ich hoffe ich habe mich verständlich ausgedrückt.
Vielen Dank für eure Antworten und die Muster-DB

Gruß Repaan
#10
Access Programmierung / Re: blockiert ein Dictionary e...
Letzter Beitrag von Knobbi38 - August 04, 2026, 10:32:34
Wieso sollte das nicht funktionieren?

Probiere das mal mit diesem Zwischenschritt:
rs.Update
rs.Bookmark = rs.LastModified ' Aktualisiert den Zeiger auf den neuen Datensatz
ID = rs!Artikel_ID

Knobbi38