Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formulare filtern & verknüpfen - Brauche dringend Hilfe:(

Begonnen von Sarah, August 13, 2013, 17:27:43

⏪ vorheriges - nächstes ⏩

DF6GL

Guten Morgen,


anbei die geänderte  DB...  (bitte verändere keine Benamsungen, auch nicht die der Tabellen....)

Es kann sein , dass die Zuordnung der Antworten zu den Fragen jetzt durcheinander ist. Aber das spielt jetzt keine Rolle.

Nun, der Status bedeutet halt einen "Zustand" eine Datensatzes.  Einen Datensatz (Antwort) zu bearbeiten ist aber eine "Aufforderung" an den User.
"Done" kann demzufolge als Status aufgefasst werden, "Todo" aber als "Auftragsvergabe"...   Als Gegenwert zu "Todo" wäre z. B. "No Action" zu sehen.


Status kann sein:   On work, done, .....

 

[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Vielen Dank, langsam schließt sich der Kreis und ich verstehe die Struktur :)

Eines ist mir noch unklar:

- Wieso hat die Tabelle Status keine Beziehung mehr zur Tabelle Antworten?

Bin ich damit wieder zu voreilig oder wäre jetzt der nächste Schritt der Aufbau des Formulars?  :)

LG
Sarah

DF6GL

Das ist nur ein Flüchtigkeitsfehler....

anbei neue DB mit einem Formularvorschlag.


Die Filter-Aufgaben und die Ablaufsteuerung werden in Folge in das/die Formulare eingebaut.....


Du kannst selbstverständlich ein Formular generieren, das Dir am Besten zusagt. Das Prinzip mit den Auswahl-Kombis bleibt aber gleich.

[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Danke für deine schnelle Antwort Franz.

So wie das Formular momentan aufgebaut ist, hat der Übersetzer die Möglichkeit die Frage, Sprache und den Übersetzer auf Basis jeder Antwort zu ändern. Diese Felder würde ich aber gerne als abhängige Listenfelder machen, sodass quasi dann nach diesen Feldern gefiltert und nur die gefilterten Antworten in einem Textfeld angezeigt werden.

Ich hatte mir das so wie in dem angehängten Screenshot vorgestellt von der Funktion her. Das müsste mit unserer Tabellenstruktur auch funktionieren oder?
1) Übersetzer wählt Sprache aus
2) Übersetzer wählt to Do aus
3) Übersetzer wählt Translator 1 aus
Das sind fest definierte Kriterien, die vom Übersetzer nicht verändert werden dürfen.

Nun werden ihm in dem AW Textfeld nur noch die Antworten angezeigt, die diese gefilterten Kriterien erfüllen.
Er klickt sich mit dem Next-Button durch und schreibt seine Übersetzungen je Antwort in das Textfeld daneben und verändert anschließend nur den Status entsprechend.

Lieben Dank
Sarah

[Anhang gelöscht durch Administrator]

DF6GL

#19
Hallo,



ZitatDiese Felder würde ich aber gerne als abhängige Listenfelder machen, sodass quasi dann nach diesen Feldern gefiltert und nur die gefilterten Antworten in einem Textfeld angezeigt werden.


OK, aber Schritt für Schritt...   ;)


Die "Abhängigkeit" kannst Du selbst mal versuchen einzubauen . Listenfelder gehen auch, sind aber m. E. nicht sehr praktisch...


Felder, die nicht geändert werden dürfen, werden "gesperrt" (und/oder unsichtbar gesetzt)
Spalten (Felder) in denen gefiltert werden soll, erfordern weitere "Suchfelder", z. B. ungebundene Kombifelder, die das Form-Recordset filtern oder neu aufbauen (Datenherkunft) .



Am Formular kannst Du weiter "designen"  ...



PS: Bei den "abhängigen Kombis" (Listenfeldern) muss die Reihenfolge der Filterung (Hierarchie) zunächst definiert werden...

Soll vermutlich so sein:
1) Sprache auswählen
2) Aufgabe  auswählen (todo)
3) Übersetzer auswählen




[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Danke Franz :) Ich werde heute daran arbeiten und dir dann hoffentlich von meinen Erfolgen berichten können :)

Sarah

Hallo Franz,
du bist mein Held!  :-* Konnte anhand deiner Vorarbeit meine Anforderungen an die Datenbank schon fast komplett anpassen. An einigen Sachen muss ich gerade noch knabbern und würde mich über deine weitere Hilfe sehr freuen:

1) In den Suchfeldern oben brauche ich in jedem Filter die Auswahlmöglichtkeit ,,Alles auswählen". Du meintest schon mal dass es über eine Union Abfrage funktioniert. Habe versucht mir das abzuschauen und so aufgebaut:

SELECT -1 as Fragen tblFragen.FRID, "Alle" as tblFragen.FR_Text FROM tblFragen Fragen UNION SELECT tblFragen.FRID, tblFragen.FR_Text FROM tblFragen;
Leider funktioniert es nicht, Ich kriege folgende Fehlermeldung, wenn ich den Filter öffne: Die Select Anweisung schließt ein reserviertes Wort oder einen Argumentennamen ein, das/der falsch, mit falscher Zeichensetzung oder überhaupt nicht eingegeben wurde.

2) Wie kriege ich es hin, dass im linken Listenfeld, das ich zur Antworten Vorschau eingefügt habe,  nur die Kommentare angezeigt  werden, die ich in der Suchmaske oben filtere? Derzeitig hüpft er nach der Filterung zwar zum ersten korrekten Kommentar im Listenfeld, aber es werden trotz der Filterung noch alle vorhandenen Kommentare der Datenbank im Listenfeld angezeigt. Wie kann ich die Anzeige im Listenfeld auf das Suchergebnis der 4 Kombinationsboxen oben eingrenzen? Das müsste ja ein riesen Abhängigkeitsbefehl sein oder  :-[

3) Jetzt wird's wahrscheinlich bisschen tricky, aber wenn das noch machbar ist wäre es einfach nur traumhaft: Ich habe in das Formular eine kleine Statistik Ecke gezeichnet. So in der Art könnte ich es mir vorstellen. Oben filtert man nach Frage und Sprache (oder nur nach Sprache) und unten wird nach den verschiedenen Statusmöglichkeiten ausgegeben, wie viele offene, erledigte,... Antworten es in der Datenbank zu dieser Filterung gibt und rechts daneben wie viele Wörter das sind.
Ist sowas machbar? Hast du Lust mir dabei zu helfen, das zu erstellen?

Lieben Dank und einen schönen Sonntagabend,
Sarah


[Anhang gelöscht durch Administrator]

DF6GL

#22
Hallo,

1)  SELECT -1 as  tblFragen.FRID, "Alle" as tblFragen.FR_Text FROM tblFragen Fragen UNION SELECT tblFragen.FRID, tblFragen.FR_Text FROM tblFragen;

die "-1" muss aber in der "Kriterienzusammenbau-Prozedur" (FilterMe) berücksichtigt werden.  Im Moment erreichst Du denselben Zweck, wenn der Inhalt eines Suchfeldes gelöscht wird. Desgleichen muss das "Question"-Suchfeld dort auch mitspielen.

(Ich wollte statt der "-1"   "NULL" verwenden, weil dieses dann schon in der FilterMe-Prozedur den "Alle"-Effekt eingeschlossen hätte, aber da spielt Access nicht mit und macht Blödsinn mit dem Primärschlüsselwert. Das ist m. E. unter "It' not a bug, it' a Feature" abzulegen, weil vielleicht die Forderung nach übereinstimmenden Datentypen der Felder  verletzt wird... :o )


2) indem Du der Eigenschaft "Datensatzherkunft" ("Rowsource") des Listenfeldes den genau gleichen zusammengebauten SQL-String in Prozedur "FilterMe" zuweist, oder gleich schreibst:

Me!Vorschaufeld.Rowsource = Me.Recordsource


3) Mit Hilfe der Domänenaggregatfunktionen (Dlookup, DCount, DSum, etc.,  siehe VBA-Hilfe) können Werte aus den einzelnen und gefilterten Spalten ("Domänen") berechnet und diese entspr. Textfeldern zugewiesen werden.

z. B. für "open" (STID =1)    (Wirf übrigens das Feld "STID1" aus der Tabelle, das wird nicht mehr gebraucht.) im (neuen, anstelle von "Rechteck69..) Steuerelementinhalt von Textfeld  "txtOpenAnz":


=Dcount("*";"tblAntworten";"AW_FRID = " & [cmbFRID] & " and AW_SPID = "  & [cmbSPID])

Nachdem aber das "ALLE" für die Filterung mit hinein soll, klappt das so nur für solche Filterungen, bei denen kein "Alle" verwendet wird.


Ansonsten müßte man bei dieser Steuerelementzuweisung mit der Wenn-Funktion arbeiten und den Zustand "Alle" entspr. behandeln.



Alternativ und in diesem Fall besser wäre es, im Form_Current-Ereignis die Dcount-Funktion per VBA entspr. den Suchkriterien in einer IF- oder Selct case-Anweisung zu verwenden und den berechneten Wert dem ( bzw. den) Steuerelementen zuzuweisen.  
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

DF6GL

Hallo,

anbei DB mit Lösungsvorschlag.


Mit einem Trick kann man die "UNION-NULL-ID-Spalte-Problematik"  umgehen (Neue Tabelle mit einem Datensatz  Null; "Alle"  und die in der Union-Abfrage verwenden.)

Zudem werden die Statistik-Daten im Form-Current-Ereignis den Steuerelementen zugewiesen.  Das habe ich jetzt nur für das "Open"-Textfeld gemacht, der Code für die anderen Textfelder ist identisch bis auf das anzupassenden Kriterium (St_Bez).


Der Code enthält bis jetzt keinerlei Errorhandler. Nachdem aber Public-Variablen jetzt verwendet werden, sollte in JEDER Prozedur eine Errorbehandlung eingebaut werden, ansonsten verlieren diese Variablen ihren Wert.




[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Sensationell! Vielen Dank  :)

- Kann man den Code für die Statistikfelder so anpassen, dass neben der Anzahl an Antworten auch die Anzahl der Wörter errechnet wird? Oder wäre das eine kompliziertere Angelegenheit?

- Welche Rolle haben diese Errorhandler? Was würde passieren, wenn man sie nicht drin hat?  :-[

- Besteht eigentlich die Möglichkeit über einen "Import new Data" Button im Formular, den Inhalt einer Excel Tabelle, die immer den selben Aufbau hat wie unsere Antworten Tabelle, in unsere Antworten Tabelle einzulesen. Sprich, wenn ich jede Woche neue Antworten erhalte und diese in dem vordefinierten Format aufbereite, dann mit einem Klick in die Datenbank aufzunehmen. Dieser Button müsste dann evtl. sogar passwortgeschützt sein, damit niemand anderes Daten in die Datenbank hochladen kann..Anbei ein Beispiel, wie die Excel dann jede Woche aussehen würde.

Viele liebe Grüße
Sarah

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,


--  da gilt es zunächst zu definieren, was ein Wort (zudem in den verschiedenen Sprachen) überhaupt ist und wie ein Wort als solches erkannt werden soll.

-- Wie gesagt, bei unbehandelten Errors (kein Code zur Überprüfung und Behandlung von Fehlersituaionen vorhanden) verlieren u. a. die Public-Variablen ihren Wert. Das bedeutet in Folge, dass der Code insgesamt nicht mehr vernünftig läuft und/oder auch die DB, mindestens aber das Form in unserem Fall, neu gestartet/geladen werden muss. Es gibt schon Methoden, auf Public-Variablen zu verzichten, wegen "Quick&Dirty" hab ich aber solche Methoden nicht verwendet.  Einen "Errorhandler" (Code zur Behandlung von Laufzeitfehlern) hab ich mal beispielhaft in die Funktion FilterME eingebaut.


-- sicher man kann die xls-Sheet in die Antwort-Tabelle importieren.  Dazu ist die Methode TransferSpeadsheet (siehe VBA-Hilfe) verwendbar. (Selber mal probieren ;-) )
 Schützen könnte man den Button, indem man vor dem Import ein (direkt in der DB, bzw. im Code ? ) hinterlegtes Passwort abfragt.



-------------------------------------------------
--Wozu soll das Listenfeld dienen? Das muss, wenn es nur zur "Übersicht" dient, gesperrt sein, damit nicht der Antworttext des akt. Datensatzes überschrieben werden kann.

--Eine Kalenderwoche als Text und für sich allein gestellt ergibt als Info keinen Sinn. Wenn Kalenderwoche, dann nur als reine Zahl und unbedingt in Verbindung mit dem entspr. Jahr.   Besser ist allemal einfach ein (gültiges) Datum heranzuziehen, weil aus diesem jederzeit die richtige Kalenderwoche berechenbar ist.  Was ist dieses Datum überhaupt?  Das  Datum des Uploades der Antworten auf irgendeinen Webspace oder das Importdatum der Antworten in die DB?  Abgesehen davon ist die Benamsung für eine Kalenderwoche irreführend.
Bei "ConID"  würde ich jetzt auch an der Benamsung herummeckern wollen ;-)  

[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Hallo Franz,

danke fürs schnelle Feedback. Ich werde es mir heute Abend genauer anschauen und vor allem das mit dem TransferSpreadsheet ausprobieren :)

- Zum Listenfeld: Ich hatte es nicht gesperrt, weil man durchs Sperren die einzelnen Kommentare nicht mehr anklicken und im Textfeld nebendran nicht mehr anzeigen lassen kann.
Finde es ganz hilfreich, wenn die Übersetzer in dieser Übersicht, mal schnell zu einem vorherigen Kommentar wechseln können, wenn dort noch nachträglich etwas angepasst werden soll. Dadurch sind sie bisschen flexibler schnell zwischen ihren zu übersetzenden Kommentaren zu wechseln.

- Mit dem Kalenderwochen Feld wollte ich nur die Kommentare jeder "Ladung" markieren, die ich importiere, um zu sehen, ob die Übersetzer fristgerecht ihre Arbeit machen. Aber du hast Recht, ein gültiges Datum würde mehr Sinn machen, das passe ich wieder an.
ConID ist nur eine externe Info für mich, die ich mitführen wollte und in Access sonst nicht zur Anwendung kommt :) Mit dieser ID kann ich die übersetzten Antworten dann den Kontaktdaten der Befragten in meiner Excelliste zuspielen.

LG
Sarah

DF6GL

Hallo,


ok, aber das Listenfeld funktioniert aber so nicht....  Wenn Du momentan im Listenfeld eine andere Antwort auswählst, wird die originale (und richtige) Antwort gnadenlos durch die ausgewählte ÜBERSCHRIEBEN und damit der Datensatz falsch!

Wenn Du das Listenfeld zur Selektion/Filterung oder auch Positionierung auf den jeweiligen Datensatz nutzen willst, dann muss das in Ähnlicher Form wie bei den Suchfeldern passieren.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah


DF6GL

Ok, weil Du es bist..


anbei das Listenfeld mit Positionierung auf den ausgewählten Datensatz..   8)

[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access