Hallo zusammen,
habe nichts zu dem Thema gefunden, deshalb ein neuer Thread.
Gibt es eine Möglichkeit den "Wert" eines Bezeichnungsfelds dynamisch zu gestalten?
Hintergrund der Frage:
Ich möchte ein Formular "bauen", das ich beim Kunden ausfülle. Je nachdem wo der Kunde her ist, brauche ich ein Formular in Deutsch und eins in Englisch.
Je war meine Idee eine "Sprachumschaltung", d.h. die Bezeichnungsfelder beziehen Ihren Wert aus einer Tabelle, die zwei Werte hat, einmal Deutsch und einmal Englisch.
Geht das?
Gruß
Klaus
Es geht auf jeden Fall, indem man per Code die Eigenschaft Caption setzt. Wahrscheinlich wirst Du in jedem Formular beim Form_Load eine Routine brauchen, die für jedes Bezeichnungsfeld sprachabhängig den Text setzt. Es läuft auf eine SQL-Abfrage mit Parameter Sprache (das z.B. als globale Variable) hinaus. So habe ich bisher immer gelöst.
Hallo Wurliwurm,
vielen Dank. Die Sache mit der Caption klappt.
Aber wie Du das mit der SQL Abfrage machst, blicke ich noch nicht.
Hast Du mal ein Beispiel?
Gruß
Klaus
Hab keine Access-Datenbank zur Hand. Es wäre aber so was in der Richtung:
Dim SQL as string
Dim rs as dao.recordset
SQL = "SELECT Feldname from tblFeldnamen WHERE Feld='lbl1' and Formular = 'frm123' AND LANGU='" & strLangu & "'"
set rs = currentdb.openrecordset(SQL)
lbl1.caption = rs!Feldname
rs.close
set rs = nothing
Zitat von: Wurliwurm am März 04, 2015, 13:12:22
lbl1.caption = rs!Feldname
Kann man auch dynamischer machen:
SQL = "SELECT Feldname from tblFeldnamen WHERE Formular = '" & me.form.name & "' AND LANGU='" & strLangu & "'"
do until rs.eof
fields(rs!Feld).caption = rs!Feldname
rs.movenext
Loop
Das ist aber nur schnell hingeworfen als Anregung. Ich kenne deine Progarmmierkenntnisse nicht. Einen Grundkurs in VBA kann ich hier nicht ersetzen.
Hallo Wurliwurm,
Das reicht mir schon. Vielen Dank.
Damit kriege ich das hin.
Gruß Klaus