Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Klaus S. aus B am März 04, 2015, 10:57:00

Titel: Dynamische Bezeichnungsfelder
Beitrag von: Klaus S. aus B am März 04, 2015, 10:57:00
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
Titel: Re: Dynamische Bezeichnungsfelder
Beitrag von: Wurliwurm am März 04, 2015, 11:03:03
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.
Titel: Re: Dynamische Bezeichnungsfelder
Beitrag von: Klaus S. aus B am März 04, 2015, 11:39:54
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
Titel: Re: Dynamische Bezeichnungsfelder
Beitrag von: Wurliwurm am März 04, 2015, 13:12:22
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
Titel: Re: Dynamische Bezeichnungsfelder
Beitrag von: Wurliwurm am März 04, 2015, 13:19:49
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.
Titel: Re: Dynamische Bezeichnungsfelder
Beitrag von: Klaus S. aus B am März 04, 2015, 13:36:27
Hallo Wurliwurm,

Das reicht mir schon. Vielen Dank.
Damit kriege ich das hin.

Gruß Klaus