Daten per Klick in eine eine Accesstabelle

17/11/2007 - 10:50 von Luettermann | Report spam
Hallo schon wieder ich aber ich komme echt nicht weiter, bin auch eher
ein neuling, daher sicher viele fragen


hier nun meine Frage.

Ich habe einen Button in einem Formular, da möchte ich dass beim
betàtigen folgendes passiert

aus dem gerade geöffneten Datensatz soll einiges in eine 2. Tabelle
einegetragen werden.

und zwar Name soll in Feld2 der 2. tabelle; die aktuelle Uhrzeit mit
Datum soll in Feld 3. der neuen Tabelle.

wie mach man das :)

danke
 

Lesen sie die antworten

#1 Jens Schilling
17/11/2007 - 12:17 | Warnen spam
Hallo,

wrote:
hier nun meine Frage.
Ich habe einen Button in einem Formular, da möchte ich dass beim
betàtigen folgendes passiert

aus dem gerade geöffneten Datensatz soll einiges in eine 2. Tabelle
einegetragen werden.

und zwar Name soll in Feld2 der 2. tabelle; die aktuelle Uhrzeit mit
Datum soll in Feld 3. der neuen Tabelle.



Zunàchst ein wichtiger Hinweis:
Ändere Deinen Feldnamen "Name" logisch um, z.B. in Nachname, oder was auch
immer angebracht sein mag; "Name" ist ein reserviertes Wort in Access (
siehe FAQ 1.5 Benamsungen www.donkarl.com?FAQ1.5 )

Nun zu Deinem Problem :

Erstelle Dir einmal eine Auswahlabfrage, und füge die Felder dort ein, die
Du an die andere Tabelle anfügen möchtest; anschliessend wàhlst Du im
Menü --> Abfrage --> Anfügeabfrage und wàhlst im folgenden Dialog die
Tabelle, an die Du anfügen möchtest. Im letzten Schritt wàhlst Du für jedes
Deiner Felder unter "Anfügen" das Feld, an dem angefügt werden soll.

Um Datum und Uhrzeit einzufügen, kannst Du Dir in der Abfrage z.B. eine
weitere Spalte dafür einfügen; dafür vergibst Du einen beliebigen Namen, und
fügst ein Now() dahinter ein, etwas so :

DatumUndZeit: Now()

Auch für diese Spalte wàhlst Du dann das korrespondierende Feld in Deiner
zweiten Tabelle.

Nun gilt es noch den Bezug zum aktuellen Datensatz zu erstellen. Du musst
sicherstellen, dass das Feld, das den Datensatz eindeutig identifizeirt (
zumeist ja irgendeine ID ) in der Abfrage enthalten ist. In diese Spalte
klickst Du unter "Kriterien" mit der rechten Maustaste, und wàhlst dort
"Aufbauen". In dem sich öffnenden Dialog wàhlst Du Dein Formular, und das
Feld ( mit der Id ! ), und klickst zuletzt auf "Einfügen", bevor Du den
Dialog schliesst.

Wenn Du nun in der Abfrage unter Ansicht "SQL-Ansicht" wàhlst, solltest Du
ein SQL-Statement finden, dass etwas wie folgt aussieht:

INSERT INTO DeinZweiterTabellenName ( Feld1, Feld2, Feld3)
SELECT Feld1, feld2, Now() AS DatumUndZeit
FROM DeineErsteTabelle
WHERE DeineErsteTabelle.DeineID=Forms!DeinFormularname!DeinFeldname;

Wie gesagt, àhnlich - Aceess wird Dir einige Klammern einfügen, Now() wohl
in Jetzt() àndern, und ein paar Kleinigkeiten mehr.

Damit wàre die Vorarbeit getan, Du musst diese Abfrage nun noch speichern.

Im Formular erstelle Dir mit Hilfe des Assistenten einen Button, der diese
Abfrage ausführt.
Das wàre es im Prinzip; Du wirst im Code dann eine Zeile finden, die etwa so
aussieht :

DoCmd.OpenQuery...

Die Nutzung des Makrko-Interpreters (DoCmd) kann mitunter zu Problemen
führen, weshalb im Allgemeinen angeraten wird, stattdessen die
Execute-Methode zu verwenden; dass könnte so aussehen:

CurrentDb.Execute "DeineAbfrage", dbFailOnError

Aber schau erst mal, ob Du grundsàtzlich mit meinen Erlàuterungen klar
kommst ;-)

Gruss
Jens

Ähnliche fragen