Benutzer mit den meisten Antworten
Access 2003 Variablenname in Tabelle speichern

Frage
-
Ich möchte für eine Suchen/ersetzen Funktion in meiner Datenbank eine „Variable“ in einer Tabelle speichern und auch wieder auslesen können.
Die „Variable“ kann die unterschiedlichste form haben
Global
Date()
Forms!frmSoundso!Feldname
….
Die Tabelle hat dann den aufbau
ID=AutoWert
SucheNach=String
ErsetzeDurch=String
Inhalt als Beispiel
1
[Date()]
Date()
2
[AktuellerSachbearbeiter]
SBAID
3
[Briefansprache]
Forms!frmSoundso!Feldname
Suchen und ersetzen bekomme ich ja hin aber eben nicht wenn ich in meiner tabelle die „Variable“ ansich speichere
Ich habe eine function in der ich
TextErsetzungen = SuchenErsetzen(TextErsetzungen, rs.Fields(1), rs.Fields(2))
Ich weiss nur nicht wie ich es hinbekommen kann das ich das feld ErsetzeDurch welches ja die variabel an sich ist dann auslesen kann – weil in der Tabelle ist es ja logischerweise einfach nur text
Ich hoffe da ist überhaupt zu verstehen was ich möchte
Antworten
-
Ach so,
da war ich auf'm falschen Zug. Benutze Eval(), also in etwa
MeineVariable = Eval(DLookup("[Briefansprache]", "[DeineTabelle]")
Microsoft MVP Office Access
https://mvp.support.microsoft.com/profile/Stefan.Hoffmann- Als Antwort markiert MCDPone Mittwoch, 30. März 2011 10:11
-
Hallo MCDPone,
MCDPone schrieb folgendes:
abner sobald ich eine Variable oder Globale Variable "abfrage"
bekomme ich den Fehler 2482 kann den eingegebenen namen ...(also meine Variable)
nicht finden wenn ich diese aber eine zeile vorher mit einer msgbox abfrage ist
sie daEine Variable welche Du unter VBA angelegt hast kannst Du nicht mit
Eval auswerten.Frage die Variable in einer Funktion ab und werte die Funktion (Namen
der Funktion in der Tabelle speichern) mit Eval aus.Gruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de- Als Antwort markiert MCDPone Mittwoch, 30. März 2011 13:55
Alle Antworten
-
hi,
du musst im Grunde wissen, um welchen Typ es sich handelt. Dann kannst du nach dem auslesen den Wert entsprechend korrigieren.
Ein einfacher Ansatz: Die Funktion zum Speichern nimmt einen Variant als Parameter für den Wert. Du speicherst den VarType() des Wertes als Typinformation. Beim Auslesen kannst du ihn entsprechend zurückkonvertieren.
Microsoft MVP Office Access
https://mvp.support.microsoft.com/profile/Stefan.Hoffmann -
Verstehe ich leider noch nicht ganz - besser gesagt überhaupt nicht
ich lese zb. den String
Forms!frmSoundso!Feldname
aus meiner tabelle aus nun möchte ich diesen wert der in dem feld steht einer Variablen zuweisen also in etwa
MeineVariable = Forms!frmSoundso!Feldname
aber wenn ich das mache wird es natürlich so sein das
MeineVariable jetzt den inhalt "Forms!frmSoundso!Feldname" hat und nicht den wert des Feldes
-
Ach so,
da war ich auf'm falschen Zug. Benutze Eval(), also in etwa
MeineVariable = Eval(DLookup("[Briefansprache]", "[DeineTabelle]")
Microsoft MVP Office Access
https://mvp.support.microsoft.com/profile/Stefan.Hoffmann- Als Antwort markiert MCDPone Mittwoch, 30. März 2011 10:11
-
geht (fast) alles
ich kann so Date() auswerten auch mit Format(Date(), "mmdd") auch Forms!frmAB!Briefansprache
abner sobald ich eine Variable oder Globale Variable "abfrage" bekomme ich den
Fehler 2482 kann den eingegebenen namen ...(also meine Variable) nicht finden
wenn ich diese aber eine zeile vorher mit einer msgbox abfrage ist sie da
-
Hallo,Am 30.03.2011 14:36, schrieb MCDPone:> geht (fast) alles>> ich kann so Date() auswerten auch mit Format(Date(), "mmdd") auch> Forms!frmAB!Briefansprache>> abner sobald ich eine Variable oder Globale Variable "abfrage" bekomme> ich den>> Fehler 2482 kann den eingegebenen namen ...(also meine Variable) nicht> finden>> wenn ich diese aber eine zeile vorher mit einer msgbox abfrage ist sie daerstell Dir dazu in einem Standardmodul eine Public Function, die Dirjeweils den Wert Deiner (globalen) Variablen zurückgibt. Den Namen derFunktion speicherst Du dann statt des Variablennamens in der Tabelle.Public Function getMyVariable() As LonggetMyVariable = MyVariableEnd FunctionDer Code zeigt eine Funktion für de Variable MyVariable. StattMyVariable speicherst Du getMyVariable in Deiner Tabelle.HTH--ThomasHomepage: www.Team-Moeller.de
-
Hallo MCDPone,
MCDPone schrieb folgendes:
abner sobald ich eine Variable oder Globale Variable "abfrage"
bekomme ich den Fehler 2482 kann den eingegebenen namen ...(also meine Variable)
nicht finden wenn ich diese aber eine zeile vorher mit einer msgbox abfrage ist
sie daEine Variable welche Du unter VBA angelegt hast kannst Du nicht mit
Eval auswerten.Frage die Variable in einer Funktion ab und werte die Funktion (Namen
der Funktion in der Tabelle speichern) mit Eval aus.Gruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de- Als Antwort markiert MCDPone Mittwoch, 30. März 2011 13:55
-
Hallo MCDPone,
MCDPone schrieb folgendes:
funktioniert nur wenn eine Variable an sich kommt leider nicht
Wie schon geschrieben: "Eine Variable welche Du unter VBA angelegt hast kannst Du nicht mit
Eval auswerten."Gruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de -
Hallo,
MCDPone wrote:
abner sobald ich eine Variable oder Globale Variable "abfrage" bekomme ich den
Fehler 2482 kann den eingegebenen namen ...(also meine Variable) nicht findenhttp://www.donkarl.com?FAQ3.15 Variablen in Abfragen verwenden.
Gruss - Peter
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com -
Hallo MCDPone
MCDPone wrote:
TextErsetzungen = SuchenErsetzen(TextErsetzungen, rs.Fields(1),
rs.Fields(2))
Ich weiss nur nicht wie ich es hinbekommen kann das ich das feld
ErsetzeDurch welches ja die variabel an sich ist dann auslesen kann –
weil in der Tabelle ist es ja logischerweise einfach nur textEvtl. kommst Du mit der Eval() Funktion weiter. Damit solltest Du Ausdrücke, die Du im rs.Fields(2) drin hast, auswerten können.
Also z.B.:
TextErsetzungen = SuchenErsetzen(TextERsetzungen, rs(1), Eval(rs(2))
BTW: Fields() kannst Du weglassen, es reicht den Index des Feldes anzugeben. Fields ist die Default Collection des Recordset Objects.
Gruss
Henry -
Hallo Henry,
Henry Habermacher schrieb folgendes:
...Evtl. kommst Du mit der Eval() Funktion weiter. Damit solltest Du Ausdrücke, die Du im rs.Fields(2) drin hast, auswerten können.
... aber IMO keine Variablen.
Gruß
Gunter
________________________________________________________
Access FAQ: http://www.donkarl.comhttp://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de