Autor Thema: Eingabeumsetzung  (Gelesen 6404 mal)

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Eingabeumsetzung
« am: 24.09.03 - 15:25:50 »
Hallo zusammen,

habe folgende 2 Aufgabenstellungen:
1.
2 Felder: "Gebiet_1" (Kombinationsfeld) und "Gebiet" (Textfeld).
In der "Eingabeumsetzung" von "Gebiet_1"
steht folgende Formel:
@If (Gebiet = "1"; "in Gebiet";
       Gebiet = "2"; "Auslieferung";
       Gebiet = "3"; "Einlieferung"; "")
Das ganze funktioniert auch wunderbar.

Ich möchte aber auch den umgekehrten Fall erreichen.
Also habe ich ebenfalls in die "Eingabeumsetzung" von "Gebiet"
folgende Formel geschrieben:
@If (Gebiet_1 = "in Gebiet"; "1";
       Gebiet_1 = "Auslieferung"; "2";
       Gebiet_1 = "Einlieferung"; "3"; "")
Auch diese Formel funktioniert Einwandfrei.
Das ganze hat nur einen Haken: Jede Formel funktioniert nur für sich alleine.
Ich kann also nur eine von beiden "Eingabeumsetzungen" anwenden.
Ich benötige aber beide gleichzeitig. Das heißt: Egal, welches Feld ich zuerst ausfülle -  das andere soll automatisch ergänzt werden.
2.
2. Felder: "Neukunde_LOGIC" (Textfeld) und "Neukunde" (Kontrollkästchen).
[Wenn in "Neukunde_LOGIC" die Zahl 1 steht, soll das Feld "Neukunde" markiert (x) werden.
Bei der Zahl 0 soll das Feld leer bleiben].
Das ganze [....] auch wieder umgekehrt.

Hat jemand eine Lösung?
Danke schon mal im vorraus.
 ???
Siggi
« Letzte Änderung: 24.09.03 - 15:28:47 von macom111 »

Driri

  • Gast
Re:Eingabeumsetzung
« Antwort #1 am: 24.09.03 - 17:21:16 »
Hi,

zu 1)

Du kannst einfach die @If-Formel ergänzen, z.B. für Feld "Gebiet" :

@If(Gebiet=""; @If(Gebiet_1 = "in Gebiet"; "1"; Gebiet_1 = "Auslieferung"; "2"; Gebiet_1 = "Einlieferung"; "3"; ""); Gebiet)

D.h. wenn das Feld leer ist greift die Eingabeumsetzung, ansonsten bleibt der Inhalt von Gebiet erhalten.
« Letzte Änderung: 24.09.03 - 17:22:54 von Driri »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Eingabeumsetzung
« Antwort #2 am: 24.09.03 - 17:38:22 »
Ich denke mal, hier könnte sich die Katze in den Schwanz beissen ...

Wenn man zum Bleistift auf Gebiet = "" prüft, heißt das aber auch im Umkehrschluß: Steht schon was drin im Feld und wird das andere geändert, dann haben Änderungen in Gebiet_1 keine Auswirkung mehr auf Gebiet.

Das Ganze ist ein Logikproblem, weniger eins des Codings. Wenn ich heute abend noch Zeit finde, dann ...

So long,
Bernhard

Driri

  • Gast
Re:Eingabeumsetzung
« Antwort #3 am: 24.09.03 - 17:47:00 »
@Bernhard :

Stimmt, das hatte ich übersehen. Is eben immer gut, wenn da noch andere drüberschauen  ;)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Eingabeumsetzung
« Antwort #4 am: 24.09.03 - 17:50:31 »
Wenn wir hier im Forum private Ordner hätten, dann hätte ich bestimmt auch einen gut gefüllten mit dem Titel "Wo Bernhard zu kurz gedacht hatte" ;-)

Ich muß heute abend mal schauen, wie ich so ein ähnliches Problem bei mir mal gelöst habe, das führte m.E. aber zu einem ganz anderen Verfahren - grübel grübel ...
Erstmal muß ich noch 'ne Doku fertig überarbeiten, die ein unmotivierter "Stift" verzapft hat. Kann also noch dauern ;-(

Bernhard

Offline dottore

  • Frischling
  • *
  • Beiträge: 8
  • Geschlecht: Männlich
  • Notes-Neuling
Re:Eingabeumsetzung
« Antwort #5 am: 25.09.03 - 12:51:10 »
Ich verstehe den Sinn der Eingabeumsetzung nicht ganz:
Sobald beide Felder leer sind, kann ich nix mehr eingeben, da er mir nach jeder Eingabe den Wert wieder löscht.

Um das zu umgehen könntest Du die Formel ändern:
@If (Gebiet = "1"; "in Gebiet";
      Gebiet = "2"; "Auslieferung";
      Gebiet = "3"; "Einlieferung"; Gebiet_1 )

Damit wäre das Problem aber nicht behoben. Nehmen wir an, in Gebiet steht "1" und in Deiner Liste "in Gebiet". Das ist genauso festgefahren, Du kannst später keine Änderungen mehr durchführen, da die Eingabeumsetzung jedes Feldes das verbietet.

Ein drittes Feld hilft:


Gebiet_1:
@If (hiddenGebiet = "1"; "in Gebiet";
      hiddenGebiet = "2"; "Auslieferung";
      hiddenGebiet = "3"; "Einlieferung";
      @If ( Gebiet_1 = "in Gebiet"; @SetField( "hiddenGebiet"; "1" );
              Gebiet_1 = "Auslieferung"; @SetField( "hiddenGebiet"; "2" );
              @SetField( "hiddenGebiet"; "3" )
      )
)
Gebiet:
@If (hiddenGebiet = "1"; "1";
      hiddenGebiet = "2"; "2";
      hiddenGebiet = "3"; "3";
      @If( Gebiet = "1"; @SetField( "hiddenGebiet"; "1" );
              Gebiet = "2"; @SetField( "hiddenGebiet"; "2" );
              @SetField( "hiddenGebiet"; "3" )
      )
)
hiddenGebiet:
     nix


Ich habe das allerding leider noch nicht getestet, aber so oder ähnlich sollte es hinhauen.

Ich denke, Dein zweites Problem sollte damit auch erschlagen sein (?)
Romanus eunt domus! (Mensch, genannt Römer, gehen das Haus!)

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Eingabeumsetzung
« Antwort #6 am: 25.09.03 - 22:42:55 »
@dottore
Das ganze ist ein bisschen kompliziert, aber ich will versuchen, Dir den Sinn der Eingabeumsetzung kurz zu erklären.
Schau dir doch bitte folgendes Thema von mir an:
Migration von Access97 nach Notes
« am: 11.09.03 - 18:09:41 ».

Nun, mittlerweile weiß ich, wie man eine Tabelle aus einer Access DB in ein .nsf DB migriert (werde ich unter "Migration von Access97 nach Notes" noch erläutern). Leider werden manche Felder aus Access nicht richtig übernommen. Z.B. wird der Inhalt eines Kombinationsfeldes (in Gebiet, Auslieferung, Einlieferung) im Access in einer eigenen Tabelle abgelegt und nicht wie in Notes im Feld selbst (Zumindest ist das in der mir vorliegenden Access DB so).Stattdessen werden dort nur ID-Nummern angezeigt, da in Access jedem Begriff eine ID zugeordnet ist (ID1 = in Gebiet, ID2 = Auslief...u.s.w). In diesem Fall wird bei der Migration anstatt eines Kombinationsfeldes ein Texfeld erzeugt, indem die ID angezeigt wird. Um der ID den dazugehörigen Begriff zuzuordnen, habe ich das 2.te Feld "Gebiet_1"angelegt. Da es sich bei dieser DB um ca 2500 Datensätze handelt kann ich mit meiner Formel
@If (Gebiet = "1"; "in Gebiet";
      Gebiet = "2"; "Auslieferung";
      Gebiet = "3"; "Einlieferung"; "")
der ID den richtigen Begriff zuordnen. Wenn ich aber zuerst den Begriff eingebe, wird nicht die richtige ID zugeordnet. Dazu müßte ich die Formel löschen und die andere Formel im Feld "Gebiet" eintragen. Deshalb benötige ich eine Lösung, bei der es egal ist, welches Feld ich zuerst ausfülle. Dem anderen soll automatisch die, der richtige ID bzw. Begriff zugeordnet werden.
Ich hoffe, meine Erklärung war einigermaßen verständlich.

Leider funktioniert auch Deine Formel nicht richtig.

Ich sehe schon: Das ist `ne harte Nuß, aber ich hoffe doch noch auf eine Lösung.
 ???
Siggi

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Eingabeumsetzung
« Antwort #7 am: 25.09.03 - 23:14:42 »
Hi Siggi,

ist die Access-Migration eine einmalige Geschichte oder kommt die öfters vor?

Wenn einmalig, dann hätte ich eine schnelle Lösung: Würde ich simpel über Excel triggern. Also Copy&Paste von Access in Excel, dort in die Spalten eine Wenn-Formel, entsprechend runterkopieren, Formeln als Werte ersetzen, etc., und dann hast Du saubere Werte im Notes.

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline dottore

  • Frischling
  • *
  • Beiträge: 8
  • Geschlecht: Männlich
  • Notes-Neuling
Re:Eingabeumsetzung
« Antwort #8 am: 26.09.03 - 11:57:27 »
Hi,

versuch mal folgendes:

Umsetzung Gebiet
@If( Gebiet != ""; Gebiet;
      Gebiet_1 = "In Gebiet"; "1";
      Gebiet_1 = "Auslieferung"; "2";
      Gebiet_1 = "Einlieferung"; "3"; ""
)
-----------------------------------------
Umsetzung Gebiet_1
@If( Gebiet_1 != ""; Gebiet_1;
      Gebiet = "1"; "In Gebiet";
      Gebiet = "2"; "Auslieferung";
      Gebiet = "3"; "Einlieferung"; ""
)

bei mir hats gefunzt

Gruss,
dottore
Romanus eunt domus! (Mensch, genannt Römer, gehen das Haus!)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Eingabeumsetzung
« Antwort #9 am: 26.09.03 - 12:04:29 »
Zitat
Wenn man zum Bleistift auf Gebiet = "" prüft, heißt das aber auch im Umkehrschluß: Steht schon was drin im Feld und wird das andere geändert, dann haben Änderungen in Gebiet_1 keine Auswirkung mehr auf Gebiet.

Siehe oben ...

Bernhard

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Eingabeumsetzung
« Antwort #10 am: 26.09.03 - 12:05:35 »
Hallo TMC,

wenn ich das ganze hier hinbekomme, werden es 5-6 AccessDB sein, die ich Migrieren möchte. Wobei sich in der jetzigen AccessDB eine Tabelle mit ca. 50 Spalten befindet. Ich denke aber, daß ich mir Deine Lösung in jedemfall ansehen sollte. Also: immer rüber damit, bin für jede Hilfe dankbar.
 :D
Siggi

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Eingabeumsetzung
« Antwort #11 am: 26.09.03 - 12:37:29 »
Hallo dottore,

hab´s gerade getestet und es ist wie Bernhard sagt: Steht schon was drin, kann ich hinterher keine Änderung mehr vornehmen. Ich müßte also das Dokument neu erstellen.
Habe aber Deinen gestrigen Vorschlag getestet (mit 3.tem Feld "hidden") was auch nicht so ganz funktioniert. Ich habe die beiden Formeln folgendermaßen geändert:
Gebiet_1:
@If (Gebiet = "1"; "in Gebiet";
      Gebiet = "2"; "Auslieferung";
      Gebiet = "3"; "Einlieferung";
@If ( Gebiet_1 = "in Gebiet"; @SetField( "Gebiet"; "1" );
       Gebiet_1 = "Auslieferung"; @SetField( "Gebiet"; "2" );
       Gebiet_1 = "Einlieferung"; "";  @SetField( "Gebiet"; "3" )))

Gebiet:
@If (Gebiet = "1"; "1";
      Gebiet = "2"; "2";
       Gebiet = "3"; "3";
@If( Gebiet = "1"; @SetField( "Gebiet"; "1" );
      Gebiet = "2"; @SetField( "Gebiet"; "2" );
      Gebiet   = "3"; ""; @SetField( "Gebiet"; "3" )))

Das funktioniert fast so wie ich es brauche. Nur: Wenn ich im Feld "Gebiet_1" den Begriff eines bereits gespeicherten Dokumentes ändern möchte, wird diese Änderung nicht mehr angenommen. Andersrum funktioniert es. Also: Nachträgliches ändern der ID im Feld "Gebiet" ändert auch den Begriff im Feld "Gebiet_1". Wo liegt bloß der kleine Fehler?
 ???
Siggi
« Letzte Änderung: 26.09.03 - 14:45:21 von macom111 »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Eingabeumsetzung
« Antwort #12 am: 27.09.03 - 20:18:07 »
Du hast mir ja schon eine PM geschrieben dass ich nochmal wegen Excel helfen soll.....

OK, was ist denn die Ausgangssituation, wenn Du Access nach Excel kopierst?

Ich rate mal: Du hast z.B. u.a. folgende Zeilen/Spalten:


D.h. einmal steht was in Spalte A, und dann mal wieder in Spalte B und das muss vereinheitlicht werden?

TMC
« Letzte Änderung: 27.09.03 - 20:18:30 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Eingabeumsetzung
« Antwort #13 am: 27.09.03 - 23:31:02 »
Du hast es genau richtig erkannt!

Siggi

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Eingabeumsetzung
« Antwort #14 am: 29.09.03 - 21:13:49 »
OK,

ich bleibe beim Beispiel wie vorher.

In Zelle C2 kopierst Du
Zitat
=WENN(A2="";(WENN(B2=1;"in Gebiet";WENN(B2=2;"Auslieferung";WENN(B2=3;"Einlieferung"))));A2)
Und in Zelle D2
Zitat
=WENN(B2="";(WENN(A2="in Gebiet";1;WENN(A2="Auslieferung";2;WENN(A2="Einlieferung";3))));B2)

Dann Werte nur noch runterkopieren.

Habe das als Excel auch mal attached.

Nun nur noch alles markieren, STRG+C, dann Menü / Bearbeiten / Inhalte Einfügen / Text.

That's it.

Sind beide Ausgangszellen leer, so schreibt Excel "Falsch" in die Ergebniszellen. Aber auch das kann man noch beeinflussen.


TMC

** EDIT **
In Notes Importieren würd ich dann allerdings nur 1 Spalte, die 2. Spalte kannst Du ja dann simpel in einem Feld berechnen.
« Letzte Änderung: 29.09.03 - 21:20:02 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re:Eingabeumsetzung
« Antwort #15 am: 29.09.03 - 21:35:10 »
Vielen Dank TMC,

das sieht sehr gut aus. Ich werde mich Morgen gleich
drübermachen.
 :D
Gruß Siggi

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz