0

Mehrfachauswahl: Auswahl per loop zuordnen

Hallo

ich wollte aus einem Multiple choice Feld den Wert (die Auswahl) auslesen und dann per Loop diese Auswahl den anderen Datensätzen in der gleichen Tabelle zuordnen, die den gleichen Namen (hier:Nom) haben. Funktionniert aber nicht, obwohl durchaus Mehrfachauswahl2 = Mehrfachauswahl funktionniert (ohne Loop).

Hier mein Code (Contenu ist das Auswahlfeld)

var x := Contenu;
for ii in select RESIDENCES where 'Nom Residence' = Nom do
ii.(Contenu := x)
end

Welchen Denkfehler habe ich gemacht?

lg

Arsène

7 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Arsène, das Feld für den Namen heißt offenbar 'Nom Residence'. Aber woher kommt der Vergleichswert 'Nom'? Ist das eine Variable oder auch ein Feld der Tabelle? Versuch's mal so:

     

    let myMFA := Contenu;
    let myNom := 'Nom Residence';
    for ii in select RESIDENCES where 'Nom Residence' = myNom do
        ii.(Contenu := myMFA)
    end

    • RMS Immobilière
    • Arsene_Nickels
    • vor 4 Jahren
    • Gemeldet - anzeigen

    danke für die Antwort. "Nom" ist ein Textfeld als Eingabefeld, und Nom wird mit dem Feldnamen Nom Residence verglichen. In deinem Beispiel würde ich ja das Feld mit sich selbst vergleichen?

    Aber das "let" habe ich eingespart, vllt ist das das Zünglein an der Waage. Ich probiers mal.

    Danke

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Dann würde ich es anders machen:

    ---

    let me:=this;
    for ii in select RESIDENCES where 'Nom Residence' = me.Nom do
        ii.(Contenu := me.Contenu)
    end

    ---

    Leo

    • RMS Immobilière
    • Arsene_Nickels
    • vor 4 Jahren
    • Gemeldet - anzeigen

    ok, jetzt erst begriffen (von der Leitung hüpf)

    ich verglecihe damit die anderen Datensätze mit dem jetzigen, das Textfeld wäre somit überflüssig. mal schaun

    • RMS Immobilière
    • Arsene_Nickels
    • vor 4 Jahren
    • Gemeldet - anzeigen

    danke an beide.

    Leonid's Lösung hat auf anhieb funtioniert, deshalb habe ich deine erst gar nicht mehr ausprobiert, Copytexter.

    Kompliement, schnell und kompetent, beide :-)

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Na ja, du schriebst "[...] die den gleichen Namen (hier:Nom) haben."

     

    Aber wenn der Vergleichswert aus einem Feld namens 'Nom' kommt, dann eben:

     

    let myMFA := Contenu;
    let myNom := Nom;
    for ii in select RESIDENCES where 'Nom Residence' = myNom do
       ii.(Contenu := myMFA)
    end

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ah, zu spät. Wieder mal. Ja, mit "this" geht's natürlich auch.