Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: MaxP am Juni 13, 2016, 10:53:23

Titel: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: MaxP am Juni 13, 2016, 10:53:23
Hallo zusammen,

nachdem ich von A03 auf A10 umgestiegen bin
und eine A03-Datenbank in A10 konvertiert habe,
bekam ich an folgender Stelle eine Fehlermeldung:

In einer Abfrage befindet sich ein Kriterium,
welches u.a. den Ausdruck form! enthält.

Nachdem ich dieses Kriterium mit dem Aufbau-Assistenten
erneuert habe, schrieb A10 stattdessen Formular!
und der Fehler war behoben.

Ich fürchte, ich werde zig Abfragen und SQL-Anweisungen
diesbezüglich händisch reparieren müssen.

Normalerweise übersetzt Access doch englische Befehle
automatisch ins Deutsche, oder?

Gibt es dafür vielleicht soetwas wie eine Suchfunktion
oder eine bestimmte Einstellmöglichkeit beim Konvertieren,
um diesen Fehler zu verhindern?

Danke vorab.

Gruß
Max
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: DF6GL am Juni 13, 2016, 12:41:11
Crossposting ist unerwünscht.
Antwort siehe hier:

http://forum.freeaccess.de/YaBB.pl?num=1465809007/0#1
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: PhilS am Juni 13, 2016, 14:55:07
Zitat von: MaxP am Juni 13, 2016, 10:53:23In einer Abfrage befindet sich ein Kriterium,
welches u.a. den Ausdruck form! enthält.

Nachdem ich dieses Kriterium mit dem Aufbau-Assistenten
erneuert habe, schrieb A10 stattdessen Formular!
und der Fehler war behoben.

Ich fürchte, ich werde zig Abfragen und SQL-Anweisungen
diesbezüglich händisch reparieren müssen.

Bevor du anfängst alle deine Abfragen/SQLs zu ändern solltest du unbedingt das Problem genauer analysieren.
Access sollte in allen Sprachversionen kein Problem mit Englischen Ausdrücken haben. Deutsche Ausdrücke werden allerdings in machen Fällen nicht richtig in's Englische konvertiert. Es besteht also ein gewisses Risiko, dass du mit unbedachtem Suchen/Ersetzen die Sache langfristig eher schlimmer machst.

Es heißt übrigens Forms!... bzw. Formulare!...
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: MaggieMay am Juni 13, 2016, 15:02:28
Hi,
ZitatEs heißt übrigens Forms!... bzw. Formulare!...
das kommt ganz darauf an, an welcher Stelle das steht.
So etwas wäre bspw. auch möglich:
ZitatForms!formname!ufoname.Form!ctlname
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: DF6GL am Juni 13, 2016, 15:03:19
Hallo,

ZitatEs heißt übrigens Forms!... bzw. Formulare!...

Das kann ich so nicht stehen lassen....

.Form!Textfeld ist der Bezug auf ein Textfeld in einem Unterformular in einem Hauptform.


Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: MaxP am Juni 13, 2016, 16:01:30
Hallo zusammen,

vielen Dank erst einmal für Eure bisherigen Beiträge.

Um die Diskussion zu vereinfachen:
Der Ausdruck heißt komplett
[Formulare]![SV-Verwaltung]![Bauherrn-BV-Abf].[Form]![BH-Nr]
und wird von A03 sauber ausgeführt und von A10 ignoriert.

Danke DF6GL für den Link, ich habe mal Find & Replace geladen. Mal schaun, ob ich damit klar komme. Leider ist das deutsche Tool Suchen & Ersetzen wohl nicht mehr erhältlich.

Kann ich denn alle "form!" oder "forms!" stumpf gegen den deutschen Begriff austauschen?
In allen Objektarten, also auch im VBA-Code?

Gruß
Max
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: DF6GL am Juni 13, 2016, 16:12:03
Hallo,

am Besten öffnest Du im Abfrageentwurf die SQL-Ansicht und änderst DORT  im SQL-String "Formulare" in "Forms" und "Formular" in "Form".

Access übersetzt das Ganze dann  in der Abfrageentwurfsansicht die Ausdrücke wieder ins Deutsche, aber das ist dann normal. Die englischen Ausdrücke in der SQL-Ansicht bleiben aber bestehen.


Ich bin mir jetzt aber nicht sicher, ob in A2010/13 die Verwendung von Verweisen auf Unterformular-Textfelder überhaupt noch unterstützt wird.  (das ist eh sehr tricky und unzuverlässig, bzw. kann je nach Markierung im Unterform unerwartete Ergebnisse liefern.)

Zudem ist meine Vermutung bestätigt, dass Sonder- und Leerzeichen in Namen verwendet werden.  Das sollte dringend abgestellt werden.
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: MaxP am Juni 13, 2016, 18:13:32
Hallo,
habe nun unter a03 in der SQL-Ansicht die englischen Begriffe eingestellt.
Access ändert das in der Abfrageentwurfsansicht zwar nicht in die deutschen Begriffe,
aber es funkt trotzdem sowohl in A03 als auch in A10.
Und das ist gut so!

Somit werde ich tatsächlich nur im Bedarfsfall den SQL-Code ändern.
Okay, und wenn ich mal ganz viel Zeit habe, sind die Feldnamen auch dran.

Nochmals danke für eure Beiträge.

Gruß
Max

Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: PhilS am Juni 13, 2016, 19:17:18
Zitat von: DF6GL am Juni 13, 2016, 15:03:19
.Form!Textfeld ist der Bezug auf ein Textfeld in einem Unterformular in einem Hauptform.
Danke für die Anmerkung (auch an @MaggieMay); an den Fall hatte ich nicht gedacht.

Möglicherweise erklärt genau dieser Fall die Problemursache bei @MaxP.

Während in Access 2013 Deutsch sowohl die komplett englische als auch die komplett deutsche Schreibweise einwandfrei funktioniert, kann Access absolut reproduzierbar einen Ausdruck nicht auflösen in dem "Formulare" mit "Form" gemischt wird. - In dem Beispiel von @MaxP ist genau diese Konstellation zu sehen.







AusdruckErgebnis
Forms![EinFormular]![ufoCtl].Form![Text0]funktioniert
Formulare![EinFormular]![ufoCtl].Formular![Text0]funktioniert
Formulare![EinFormular]![ufoCtl].Form![Text0]funktioniert nicht - reproduzierbar
Forms![EinFormular]![ufoCtl].Formular![Text0]funktioniert allerdings wieder
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: MaggieMay am Juni 13, 2016, 23:30:03
Hallo,
Zitat von: MaxP am Juni 13, 2016, 16:01:30
Kann ich denn alle "form!" oder "forms!" stumpf gegen den deutschen Begriff austauschen?
In allen Objektarten, also auch im VBA-Code?
die Antwort ist ein klares NEIN. Sowohl im VBA- als auch SQL-Code sollte grundsätzlich die englische Version verwendet werden.
Am besten trennt man sich auch spätestens nach dem Erstellen einer Abfrage von deren Entwurfsansicht, weil der SQL-Code durch den Wechsel der Ansicht u.U. immer wieder neu generiert wird - was nicht unbedingt im Sinne des Erfinders (der Abfrage) ist.
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: Beaker s.a. am Juni 14, 2016, 15:00:18
Moin,
Zitatwas nicht unbedingt im Sinne des Erfinders (der Abfrage) ist.
In Sinne des Erfinders (Microsoft) vielleicht schon, aber nicht im Sinne
der Anwender (wir)  ;)
gruss ekkehard
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: MaggieMay am Juni 14, 2016, 23:54:39
Ja, ich sehe es ein, das war nicht ganz eindeutig formuliert, aber gemeint war genau dasselbe. :-)

Als "Erfinder" der Abfrage war der Autor gemeint, d.h. der Entwickler, nicht etwa der Microsoft-Programmierer, der die Umwandlung vom Entwurf zum SQL-Code und umgekehrt gebastelt hat.
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: Beaker s.a. am Juni 15, 2016, 00:30:19
Hallo Maggie,
Diesmal habe mal gleich richtig gelesen, und dich wohl verstanden  :)
Musste das aber mal rauslassen, weil das echt nerviges Verhalten ist.
Auch das man in der SQL-Ansicht den String nicht dauerhaft formatieren
kann gehört dazu.
gruss ekkehard
Titel: Re: Access 2010 Umstieg - Abfragekriterium form! bzw. formular!
Beitrag von: MaggieMay am Juni 15, 2016, 00:37:29
Hallo Ekkehard,
ZitatAuch das man in der SQL-Ansicht den String nicht dauerhaft formatieren
kann gehört dazu.
Ja, das war in älteren Versionen sogar noch ein wenig besser.
Heutzutage einfach nur noch echt ärgerlich!