midivirus
Goto Top

ACCESS vs. MySQL - Abfrage von Status - Autowert - Auto increment

Sehr geehrte Gemeinde,

da ich gerade mit mehrere Plattformen arbeite, PostGres - MySQL und gelegentlich auch Access, suche ich eine Möglichkeit,
wie ich folgenden MySQL Befehl auch in Access nutzen kann, mit gleichem Ergebnis:

SHOW TABLE STATUS FROM fragebogen LIKE 'tabellenname'

Dort werden mir die unterschiedlichsten Angaben gemacht,
halt auch der "Auto_increment" Wert.

Googlefunde gingen in die Richtung "SELECT @@IDENTITY"


Beispiele:
http://www.ms-office-forum.net/forum/showthread.php?t=188772

http://www.office-loesung.de/ftopic426983_0_0_asc.php (VBA)

http://www.tutorials.de/net-archiv/177015-autowert-auslesen.html

http://www.pcreview.co.uk/forums/select-ident_current-mytable-function- ... (mögliche Lösung?)

http://www.ms-office-forum.net/forum/showthread.php?t=180097


Immer wieder gibt es die Option mit "Max" zu arbeiten, aber ist halt nicht genau identisch.


Hat da wer die Bezeichnung der Funktion, die ich suche?


Grüßle,
Midivirus

Content-ID: 162661

Url: https://administrator.de/contentid/162661

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

Biber
Biber 15.03.2011 um 11:54:57 Uhr
Goto Top
Moin Midivirus,

ich bin nicht sicher, ob ich die Frage richtig verstehe.
Wenn du NICHT in einem Multi-User-Environment arbeitest, dann ist doch bei dem diesem genannten simpel gestrickten Weinkeller-Verwaltungstool dieses hochtrabend "Autowert" genannte Dünnbrettbohrer-Ersatz-PK-Feld nur ein alberne INTEGER, der stupide hochgezählt wird.

Also ist doch logischerweise der aktuell höchste vergebene Wert ein
 Select Max(IDField) As MaxID FROM tblName;
wie ich mal von der pcreview-Seite zitiere.

Wo ist denn dein Problem/deine Bedenken dabei?

Grüße
Biber
Midivirus
Midivirus 15.03.2011 um 14:04:12 Uhr
Goto Top
Moin Biber,

die Bedenken liegen nur daran, dass darin Daten von Fragebögen eingeschustern werden sollen.

Die Vorgabe, zur ggf. besseren weiteren Verarbeitung, war Access im Spiel / Kopf.
Das ganze läuft aber gerade recht praktisch mit MySQL.
Die Weboberfläche ist simplerweise mit PHP gestaltet.

Wenn ich immer weiter darüber nachdenke, wird der Zeitpunkt, dass zwei INSERT zur gleichen Zeit laufen, verschwindend gering.

Deswegen kann die Funktion MAX gut dazu genutzt werden, wenn ich mich dazu entschließen sollte, es doch in ACCESS hämmern zu lassen.

Grüßle
Midi
Biber
Biber 15.03.2011 um 22:07:38 Uhr
Goto Top
Moin MidiVirus,

ich sach mal so...

Die Wahrscheinlichkeit, dass " zwei INSERT zur gleichen Zeit laufen [sit] verschwindend gering"... hmmja,
Wir haben ja alle in den letzten Tagen eine eindrucksvolle Visualisierung eines "verschwindend kleinen Restrisikos" bekommen.

Aber es kann eigentlich auch bei konkurrierenden Zugriffen bzw. INSERTs nichts Schlimmes passieren bei Multi-User-Access.
-> ES SEI DENN die "ID" des gerade zu INSERTenden Satzes wird beim Neuanlegen auch dazu verwendet, in andere Child-Tabellen ("=Unterformulare") ebenfalls Sätze zu schreiben.

Wenn es deine -ich sach ma' Appz oder GUI- zuerst den Haupt/Masterdatensatz speichert,refresht/neu liest und erst dann in evtl. vorhandenen Childtabellen rumalbert - solange geht das so billig wie oben abgebügelt -mit MAX().

[OT]
Dennoch - eine weitere Streuung von solchen Dünnbrettlösungen Desktop-Datenbanken wie Access in einem Unternehmensumfeld...
Auf mich wirkt es eher nostalgisch. Nach meiner Wahrnehmung wird Access als Unternehmenstool überall rausgekegelt.
Und selbst Privat/Home-Rumturner können doch legal und gratis eine abgespeckte, aber echte DB wie Oracle/DB2/MySQL/SQLServer installieren.
[/OT]

Grüße
Biber