PDA

Vollständige Version anzeigen : Variablen in ungeöffnete Tabelle speichern


Joggi
08.08.2001, 17:22
Hallole,

wie kann man variablen, die z.B. zuvor erstellt wordern sind z.B. Text, in eine Tabelle speichern die nicht geöffnet ist.
welche Befehlzeile brauche ich da !
Irgendwas mit Recordset etc.

bei der geöffneten wäre es kein Problem

Me!info = Text

nur bringt mir das leider nix!
grübel

Die Tabelle heisst Mail_list !
Sie soll quasi eine Art Historie sein, und nach jeder Aktion einen Eintrag mit Uhrzeit, Tag etc... und eben dem text machen!

kann mit jemand helfen?

Grüße Joggi

Birgit Dannenberg
08.08.2001, 17:36
Via Recordset ist der umständlichere Weg. Am besten direkt über ein SQL-Statement, z.B.:

Syntax einer Anfügeabfrage:
INSERT INTO Ziel [(Feld1[, Feld2[, ...]])]
VALUES (Wert1[, Wert2[, ...])

Set DB = CurrentDB
DB.Execute "Insert Into mail_list Set (Datum,info) Values (Now()," & text & ");"

Ob das mit dem Datum so geht, mußt Du ausprobieren.

hth Birgit

Joggi
08.08.2001, 18:34
HI birgit

leider klappt es immer noch nicht!

inzwischen kommt aber Laufzeitfehler Nr. 3134

und Syntax Error in INSERT INTO

Grübel


Dim db as database habe ich auch beigefügt!

hmm

Grüßle Joggi

Birgit Dannenberg
08.08.2001, 18:38
Das wird dann wohl an dem Datum (Now) liegen, das habe ich einfach so hingeschrieben.

Versuch mal, die Date-Funktion und dann per Verkettung wie beim Textfeld:


"Insert Into mail_list Set (Datum, info) Values (" & Date & ", " & text & ");"


Birgit

Joggi
08.08.2001, 18:53
hi....


grrrrrr.. schnief!


geht leider auch net!

Grübel

Joggi

rawa
08.08.2001, 21:10
Hallo stets helfende Birgit! :)

Ich versuche es auch, vielleicht verstehe ich einfach SQL nicht. Geht es auch in VB? Oder schreib mal es ausführlich hin.

ich möchte "nur" einen Wert aus einer Tabelle auf "True" oder "False" setzen. Dabei gibt es nur 2 Spalten (1 Schlüssel, 1 Wert) und 1 Datensatz. An sich ganz einfach. Aber wie geht das?

Wie sonst vielleicht? Es sind 2 Tabellen. Beide fast gleich.

rawa
08.08.2001, 21:16
ALLES EASY! Läuft! Trotzdem Dank an Birgit! ;)

Morli
08.08.2001, 21:20
Hallo Joggi,

also mit RecordSet geht's so:

Dim Rst As DAO.Recordset (DAO wenn A2000!!)
Dim DB As DAO.Database

Set DB = CurrentDB()
Set Rst = CurrentDB.OpenRecordset("Mail_list")

Rst.Edit
Rst!Info = Text
Rst.Update

Rst.Close

Set Rst=Nothing
Set DB=Nothing

Die Frage ist nur, ob Du den Wert von "Text" in einen bestimmeten Datensatz der Tabelle schreiben möchtest, oder in den ersten (was der obige Code macht)?

Gruß

Rainer ;)

Joggi
09.08.2001, 16:09
hi Rainer

leider kommt immer noch Fehler meldung

Dim Rst As DAO.Recordset '(DAO wenn A2000!!)
Dim DB As DAO.Database

Set DB = CurrentDb()
Set Rst = CurrentDb.OpenRecordset ("Mail_list")

Rst.Edit
Rst!Text = Text
Rst.Update

Rst.Close

Set Rst = Nothing
Set DB = Nothing

Fehlermeldung : Laufzeitfehler3021

No current record

keine Ahnung was das soll

Joggi

Stema
09.08.2001, 16:25
Hallo Joggi,

d.h. es befindet sich kein Datensatz in Deiner Tabelle.

Dim Rst As DAO.Recordset '(DAO wenn A2000!!)
Dim DB As DAO.Database

Set DB = CurrentDb()
Set Rst = CurrentDb.OpenRecordset ("Mail_list")

if not Rst.EOF then 'Wenn DS gefunden
Rst.Edit
Rst!Text = Text
Rst.Update
else: 'Wenn kein DS gefunden
Rst.AddNew
Rst!Text = Text
Rst.Update
end if
Rst.Close

Set Rst = Nothing
Set DB = Nothing

Joggi
09.08.2001, 17:11
Spitze


Du bist echt klasse Stema!


Viele Grüße Joggi

Vielleicht hast Du auch eine Lösung auf mein anderes Problem im Forum!

Eigenschaften von textfeld!

Danke

Grüße