none
Warum funktioniert das nicht in Access 2010

    Frage

  • Hallo Leute,

    ich habe eine Accessdatenbankanwendung 2000 übernommen, um Sie zu korrigieren und aufzupeppen. Sie ist von mir auf einen Desktop gebracht worden. Desktop XP/Access 2007. Frontend befindet sich im Hauptpfad unter C:, Backend unter D:\XXXX\.... Laufwerke C: und D: sind Desktoplaufwerke. Änderungen und Optimierungen habe ich unter XP/Access 2007 durchgeführt, zum Teil in VBA zum Teil in SQL. Alles ist bestens alles läuft und stimmt.

    Nun versuche ich, diese Anwendung auf mein Notebook zu bringen. Notebook Windows7/Access 2010. Ich habe den neuesten Stand aufs Notebook kopiert. Frontend in den Hauptpfad, Laufwerk D: und Backend in D:\XXXX. So weit so gut. Es sieht so aus, als wenn es im Prinzip auch funktioniert. Bis auf den Fall, dass die Notebookanwendung die Where-Klausel nicht so interpretiert, wie ich es gerne hätte. Die Where-Klause müsste positive beantwortet werden, tut es aber nicht. Der Begriff  [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr] scheint nicht den Wert des Controls zu liefern oder zu beinhalten. Das SQL-Statement rufe ich in der VBA mit qryXXXXXX auf.

    Woran liegt es. Hilfe, ich weiss nicht weiter.

    Das SQL-Statement lautet wie folgt:

    INSERT INTO tblLadelisteTmp ( Produktion, Produktionsort, Produktionszeitraum, Fahrzeug, Datum, Sonsitges, Ladelistennr )
    SELECT tblLadeliste.Produktion, tblLadeliste.Produktionsort, tblLadeliste.Produktionszeitraum, tblLadeliste.Fahrzeug, tblLadeliste.Datum, tblLadeliste.Sonsitges, tblLadeliste.Ladelistennr
    FROM tblLadeliste
    WHERE (((tblLadeliste.Ladelistennr) Like [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr]));

    Gruß noab

     

    Donnerstag, 17. März 2011 12:16

Antworten

  • Hallo,
    [...] Nun versuche ich, diese Anwendung auf mein Notebook zu bringen. Notebook Windows7/Access 2010. [...] Die Where-Klause müsste positive beantwortet werden, tut es aber nicht. Der Begriff  [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr] scheint nicht den Wert des Controls zu liefern oder zu beinhalten.

    Hast du denn schon mal geschaut, was der Bezug zurueckgibt? Am besten im Direktfenster (Ctrl-G) eingeben:

    ? [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr]

    [...]
    WHERE (((tblLadeliste.Ladelistennr) Like [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr]));

    Das [Form] dazwischen sieht etwas seltsam aus. Wenn die Collection Formulare heisst, sollte es statt [Form] [Formular] heissen. Aber da es wohl um ein UFo geht, kannst du es auch weglassen. Ausserdem solltest du alles englisch schreiben. In der dt. Version wird es an der Oberflaeche sofort durch die dt. Begriffe ersetzt:

    WHERE tblLadeliste.Ladelistennr Like [Forms]![frmLadelisten]![Suchergebnis]![Ladelistennr]

    Gruss - Peter

    Sonntag, 20. März 2011 01:23
    Moderator
  • Hallo Noab

    noab wrote:

    INSERT INTO tblLadelisteTmp ( Produktion, Produktionsort,
    Produktionszeitraum, Fahrzeug, Datum, Sonsitges, Ladelistennr )
    SELECT tblLadeliste.Produktion, tblLadeliste.Produktionsort,
    tblLadeliste.Produktionszeitraum, tblLadeliste.Fahrzeug,
    tblLadeliste.Datum, tblLadeliste.Sonsitges, tblLadeliste.Ladelistennr
    FROM tblLadeliste
    WHERE (((tblLadeliste.Ladelistennr) Like
    [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr]));

    Grundsätzlich kann Jet kein Deutsch, sondern nur English. Daher solltest Du Dich bemühen, nur die Englischen Begriffe zu verwenden, also "Forms", statt "Formulare". Damit kommst Du in allen Sprachen weiter, mit Formulare bist Du auf eine deutschsprachige Installation angewiesen, damit dann Access das für Jet vorgängig übersetzt (was nicht immer klappt).

    Gruss
    Henry

    Donnerstag, 7. April 2011 11:35

Alle Antworten

  • Hallo,
    [...] Nun versuche ich, diese Anwendung auf mein Notebook zu bringen. Notebook Windows7/Access 2010. [...] Die Where-Klause müsste positive beantwortet werden, tut es aber nicht. Der Begriff  [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr] scheint nicht den Wert des Controls zu liefern oder zu beinhalten.

    Hast du denn schon mal geschaut, was der Bezug zurueckgibt? Am besten im Direktfenster (Ctrl-G) eingeben:

    ? [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr]

    [...]
    WHERE (((tblLadeliste.Ladelistennr) Like [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr]));

    Das [Form] dazwischen sieht etwas seltsam aus. Wenn die Collection Formulare heisst, sollte es statt [Form] [Formular] heissen. Aber da es wohl um ein UFo geht, kannst du es auch weglassen. Ausserdem solltest du alles englisch schreiben. In der dt. Version wird es an der Oberflaeche sofort durch die dt. Begriffe ersetzt:

    WHERE tblLadeliste.Ladelistennr Like [Forms]![frmLadelisten]![Suchergebnis]![Ladelistennr]

    Gruss - Peter

    Sonntag, 20. März 2011 01:23
    Moderator
  • Hallo Noab

    noab wrote:

    INSERT INTO tblLadelisteTmp ( Produktion, Produktionsort,
    Produktionszeitraum, Fahrzeug, Datum, Sonsitges, Ladelistennr )
    SELECT tblLadeliste.Produktion, tblLadeliste.Produktionsort,
    tblLadeliste.Produktionszeitraum, tblLadeliste.Fahrzeug,
    tblLadeliste.Datum, tblLadeliste.Sonsitges, tblLadeliste.Ladelistennr
    FROM tblLadeliste
    WHERE (((tblLadeliste.Ladelistennr) Like
    [Formulare]![frmLadelisten]![Suchergebnis].[Form]![Ladelistennr]));

    Grundsätzlich kann Jet kein Deutsch, sondern nur English. Daher solltest Du Dich bemühen, nur die Englischen Begriffe zu verwenden, also "Forms", statt "Formulare". Damit kommst Du in allen Sprachen weiter, mit Formulare bist Du auf eine deutschsprachige Installation angewiesen, damit dann Access das für Jet vorgängig übersetzt (was nicht immer klappt).

    Gruss
    Henry

    Donnerstag, 7. April 2011 11:35