Michael Calus P.: Access/VB: Elementadressen dynamisch

Hallo liebe Leute,

Habe ein recht grosses Access Formular mit ueber 100 Textfeldern. Sie sind durchnummeriert (z.B. Me!Text100) und ich wurde sie nun gerne in einer Schleife ansprechen um Sie in die DB zu schreiben. Was bisher dabei rauskommt ist, das der Feldname in der DB landet aber nicht dessen Inhalt. Fuer PHP hab ich sowas gefunden: ${$var100}

Hat jemand einen Ansatz wie es in VB gehen koennte?

Soweit ich es ueberblicke geht es am Ende um dynamische Variablen oder Wie interpretiere ich einen String?

Danke fuer Eure Muehe

Mit freundlichen Gruessen, aber ohne Umlaute
Michael
z. Zt. aus Dublin

  1. Hallo Michael,

    Habe ein recht grosses Access Formular mit ueber 100 Textfeldern. Sie sind durchnummeriert (z.B. Me!Text100) und ich wurde sie nun gerne in einer Schleife ansprechen um Sie in die DB zu schreiben. [...]

    Hat jemand einen Ansatz wie es in VB gehen koennte?

    Verwende die Controls-Auflistung, wie z.B. in folgendem Codefragment

    strControlName = "Text100"
    strWert        = Me.Controls(strControlName).Value

    Soweit ich es ueberblicke geht es am Ende um dynamische Variablen oder

    Nein.

    Wie interpretiere ich einen String?

    Schon eher.

    Wie wäre es mit: "Wie nutze ich einen String?"

    Freundliche Grüsse,

    Vinzenz, der die Fehlerbehandlung weggelassen hat.

    1. Danke Vinzenz,

      Das klappt soweit.

      Habe ein recht grosses Access Formular mit ueber 100 Textfeldern. Sie sind durchnummeriert (z.B. Me!Text100) und ich wurde sie nun gerne in einer Schleife ansprechen um Sie in die DB zu schreiben. [...]

      strControlName = "Text100"
      strWert        = Me.Controls(strControlName).Value

      Soweit ich es ueberblicke geht es am Ende um dynamische Variablen oder

      Wenn Du noch Geduld hast, wuerde ich ich gerne noch etwas fragen...

      auch wenn es wie ich schon gelesen habe schlechter Stil ist (man macht das wohl besser mit Arrays...) wuesste ich gerne ob und wie aehnliches mit einer "normalen" Variable geht.

      Also in obiger Schleife habe ich (um Errors zu vermeiden) eine Abfrage, die eine Variable ueberprueft, die fuer jedes moegliche i der Schleife definiert ist. Also etwa so [ist recht abstrakt ohne Bsp.]

      var1=true
      var2=true
      var3=false

      while x>i

      if var(i)       <--- Wie muesste das hier aussehen? (und hier sind wir glaub ich bei dynamischen Variablen??)

      do.what.ever

      endif

      wend

      1. Hallo Michael,

        Das klappt soweit.

        Das freut mich!

        Wenn Du noch Geduld hast, wuerde ich ich gerne noch etwas fragen...
        auch wenn es wie ich schon gelesen habe schlechter Stil ist (man macht das wohl besser mit Arrays...)

        Ja, ist es. Ja macht man. Und damit

        while x>i
        if var(i)       <--- Wie muesste das hier aussehen?

        beantwortest Du Deine Frage selbst :-)

        Freundliche Grüsse,

        Vinzenz

        1. Hallo Vinzenz,

          while x>i
          if var(i)       <--- Wie muesste das hier aussehen?

          beantwortest Du Deine Frage selbst :-)

          Ich hab auch zuerst gedacht dass das so funktioniert, aber das if vergleicht dann "var1" mit dem zu Vergleichenden anstatt den Inhalt von var1 dafuer herzunehmen. Meine mutmassliche Loesung sollte nurmehr verdeutlichen was ich weiter oben versuchte zu erklaeren.

          Aber ich moechte dich nicht zu arg bemuehen, da ichs mit dem Array schon hinkriegen werde und dies nur der Befriedigung meiner argen Neugier dient. (Hatte mich einige Zeit in dieses Problem verbissen...)

          Jetzt werd ich mich mal ueber VB und Arrays kundig machen.

          Vielen Dank fuer Deine netten Antworten und Hilfen.

          friedlich gruesst aus Dublin
          Michael