Office: (Office 2010) Syntaxfehler in JOIN-Operation

Helfe beim Thema Syntaxfehler in JOIN-Operation in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; wie im Anfangspost erwähnt, heißt das Formular auch User, kann das ändern, wird schlussendlich ohnehin noch anders bezeichnet werden, da es sich... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Cute_Hamster, 6. Juli 2014.

  1. Syntaxfehler in JOIN-Operation


    wie im Anfangspost erwähnt, heißt das Formular auch User, kann das ändern, wird schlussendlich ohnehin noch anders bezeichnet werden, da es sich derzeit um ein Test Formular handelt.

    Ich hatte mir daher nicht die mühe gemacht um es anders zu benennen.

    Habe es nun in "frm_User" umbenannt und die vorkommen des Namens im code angepasst. Die Tabelle User kann ich nicht so einfach umbenennen, da sich darauf ziemlich viele formulare/Berichte/andere tabellen beziehen.

    Das Kombifeld "cmb_Arbeitsgruppe" wird gefiltert, wenn im "cmb_Abteilung" etwas ausgewählt wird. (daher die prozedur in "cmb_Abteilung_AfterUpdate()")
    unter "Form_Current" befindet sich bei mir nur
    Code:
     
    Cute_Hamster, 8. Juli 2014
    #16
  2. Das Kombifeld cmb_Abteilung befindet sich im gleichen Formular (User), für das du die Recordsource setzt? Ändere mal den Bezug darauf:
    Code:
    Hast du jetzt einen Wert in der SQL-Anweisung im Direktfenster stehen?
    maike
     
    maikek, 8. Juli 2014
    #17
  3. Erstmal das ergebnis des Direktfensters

    Code:
    Das sieht soweit ja schon mal gut aus ^^
    Die ID 2 entspricht auch der "Abt_ID" die ich gewählt habe.

    Allerdings zeigt sich im verhalten des Formulars/"cmb_Arbeitsgruppe" kein Unterschied.

    evtl. noch zum weiteren verständnis:
    im "cmb_Arbeitsgruppe" befinden sich 3 Spalten, von denen die ersten 2 Ausgeblendet sind: ArbGrp_ID ; Abt_ID_F ; Arbeitsgruppe
     
    Cute_Hamster, 8. Juli 2014
    #18
  4. Syntaxfehler in JOIN-Operation

    Code:
    Welche RecordSource willst du denn hier überhaupt ändern? Die des Formulars? Oder die des Kombifeldes? Dann muss es
    Code:
    heißen.
    Ändere auch unten bei der zweiten Anweisung den Bezug zum Kombi:
    Code:
    Für die weiteren Anweisungen: Dir ist bewusst, dass das Zuweisen des Wertes im Form_Current oder das Ändern der RowSource nicht das Ereignis Kombifeld_AfterUpdate auslöst?
    Ansonsten weiß ich jetzt nicht, wo es noch hakt - mach doch mal ein "Problembeschreibungs-Update" nach den letzten Änderungen *wink.gif* .
    maike
     
    maikek, 8. Juli 2014
    #19
  5. Keine Schlechte Idee, noch mal n bischen Klarheit in die Sache zu bringen.

    Ich möchte hier die Recordsource des Formulars Ändern. (habe getestet, was passiert wenn ich die Recordsource des cmb_Arbeitsgruppe ändere, aber dann stehen die User im cmb_Feld ^^)

    Zuweisung zum Kombi habe ich angepasst.

    Nun zu dem Was passieren soll ^^

    Im Prinzip genau das, was in der in #1 hochgeladenen DB auch passiert.

    im Kombi "cmb_Abteilung" stehen die Abteilungen, dort möchte ich eine Auswählen.
    Daraufhin soll sich das "cmb_Arbeitsgruppe" aktualisieren und nur noch die Arbeitsgruppen anzeigen, die sich in der Abteilung befinden. gleichzeitig sollen Alle User angezeigt werden, die in der Abteilung sind.
    Wähle ich aus dem "cmb_Arbeitsgruppe" einen Eintrag, sollen nur noch die User angezeigt werden, die sich in dieser Arbeitsgruppe befinden.

    Was passiert:
    - ich öffne das Formular
    - es werden korrekt nur die User angezeigt, die eine zuordnung zu Abteilungen (und demnach Arbeitsgruppen) haben.
    - Beide Kombis werden korrekt auf die werte gesetzt, die dem ersten User entsprechen
    - Ich wähle einen eintrag aus "cmb_Abteilung" aus bekomme ich eine Anzahl an leeren Datensätzen und dazwischen die korrekten Datensätze angezeigt. Das "cmb_Arbeitsgruppen" enthält weiter alle verfügbaren Arbeitsgruppen und nicht nur diejenigen, die in der gewählten Abteilung vorhanden sind.

    Zu deiner anderen Frage:
    ja mir ist bewusst, dass ich dadurch nicht das "afterUpdate" event auslöse, diese Einträge sind dafür da um die beiden Kombi felder auf den Wert des ersten Eintrags zu setzen.

    Ich hoffe das ich damit alle unklarheiten beseitigen konnte und damit eine bessere Grundlage dafür schaffe mir zu helfen xD

    Ich danke schon mal für die Hilfe bis hier und die viele Geduld.

    Für heute mache ich mal Feierabend, kann also am Abend nichts in der DB testen.

    mfg
    Hamster
     
    Cute_Hamster, 8. Juli 2014
    #20
  6. Die DB in #1 ist soweit ich das gesehen habe, nicht deine Umsetzung von CreaCombi sondern das Original? Lad doch noch mal deine Version hoch, möglichst für mich im Format .mdb (Access 2003).
    maike
     
    maikek, 8. Juli 2014
    #21
  7. Guten Morgen,

    ja das war das Original, ich hatte es ja im Prinzip nur als Verweis dort um zu zeigen, was passieren soll.

    Ich habe eine alternative Version meiner DB erstellt. Das Original enthält deutlich mehr Formulare und Tabellen, aber nach einem ersten Test scheint dies keinen Einfluss auf dieses Problem zu haben.

    Ich habe die Nutzer durch ein paar test Einträge ersetzte (aus verständlichen Gründen)

    Das Formular sollte direkt geöffnet werden. Das Fehlverhalten tritt auf, sobald man einen Eintrag aus dem linken Kombifeld wählt.

    mfg
    Hamster

    P.S. Ich habe gerade mit einem Kollegen festgestellt, dass die Menge der Leeren Einträge der Anzahl der Arbeitsgruppen+1 (vermutlich die Abteilung) entspricht. ich habe also testweise mal User in alle Arbeitsgruppen einer Abteilung gelegt. Das Ergebnis war, dass es nur einen leeren Datensatz gab (weiterhin wurden Arbeitsgruppe und Abteilung nur als "#Name?" angezeigt und auch in der "ArbGrp_ID" Zelle wird dies angezeigt. Einzig die "Abt_ID" Spalte zeigt immer die korrekte ID an)
     
    Cute_Hamster, 8. Juli 2014
    #22
  8. Syntaxfehler in JOIN-Operation

    Moin,

    ich hab da mal kurz reingeschaut und ich denke das Datenmodell passt nicht.

    Die User haben keine Relation zu der Arbeitsgruppe / Abteilung. Wie sehen denn da die möglichen Kombinationen aus? Wahrscheinlich läuft das auf eine fehlende m:n Beziehung raus. Um die zu realisieren brauchst du eine Tabelle die die User und Arbeitsgruppe / Abteilung aufnimmt.

    Im Form wählst du dann die Abteilung aus, filterst im Change-Event das Form danach und setzt dabei die Quelle des 2. Kombis auf nur Einträge mit der Abteilungs-ID. Aber das kommt erst nachdem das Datenmodell stimmt und die Beziehungen der Tabellen entsprechend passen.
     
    el_gomero, 8. Juli 2014
    #23
  9. Oh, das ist beim erstellen der Beispiel DB passiert.

    die "ArbGrp_ID" ist mit der "Abteilung_neu_F" (tabelle User) verbunden.

    Hab eben noch mal nachgesehen, in der richtigen DB ist diese Verbindung auch so vorhanden.

    es gibt hier nur eine 1:n beziehung. ein User kann nur in einer Arbeitsgruppe sein und mehrere Arbeitsgruppen sind zu einer Abteilung Zusammengefasst. das ist alles nur 1:n.

    Ist also alles in Ordnung, nur das beim kopieren für den Upload eine Verbindung hops gegangen ist.

    mfg
    Hamster

    P.S. habs mit Verbindung noch mal im Anhang
     
    Cute_Hamster, 8. Juli 2014
    #24
  10. es handelt sich also um ein einfaches, hierariches Modell. Hab das mal eingebaut. Bei künftigen Beispielen bitte in den korrespondierenden Feldern entsprechende Werte belassen damit man vernünftig prüfen kann. In der Beispiel-db findet sich jetzt für Abteilung1 Arbeitsgruppe1 jetzt 1 Mitarbeiter der zugeordnet wird. Alle anderen werden nicht angezeigt, weil sie in nicht passenden Gruppen sind.

    hth
     
    el_gomero, 9. Juli 2014
    #25
  11. ich glaube ich verstehe nicht ganz, was du da gemacht hast.

    Bei der von dir hochgeladenen DB gibt es jetzt keine Verbindung mehr zwischen Arbeitsgruppen und Abteilungen.

    in dem Formular wird mir nur das angezeigt, was im angehängten Screenshot zu sehen ist. (Bei anderen Einträgen werden mir Nachname und Vorname korrekt angezeigt, bei den anderen Feldern bleibt es bei "xName?")

    Wähle ich im "cmb_Abteilungen" etwas aus, passiert im Formular an sich nichts, nur im "cmb_Arbeitsgruppen" steht dann untereinander so oft die "Abt_ID" wie es Arbeitsgruppen in der Abteilung gibt.

    Was Funktioniert:
    Wenn ich in dem "cmb_Arbeitsgruppe" einen Eintrag wähle, unter dem sich User befinden, werden diese unten angezeigt.

    Was nicht Funktioniert:
    - Wenn ich eine Abteilung Auswähle, sollten unten alle User aus der Abteilung (also aus alles Arbeitsgruppen der gewählten Abteilung) angezeigt werden
    - Wenn ich eine Abteilung Auswähle, sollte ich im "cmb_Arbeitsgruppe" die Arbeitsgruppen statt der "Abt_ID" sehen. das ist wahrscheinlich nur ein Zusatz im AfterUpdate ereignis.
    (das konnte ich beheben, es war nur die Reihenfolge in der die Daten in den Str geladen wurden. dieser Punkt funktioniert also)

    Was ich nicht verstehe:
    was hast du dort verändert? außer den fehlenden Beziehung habe ich keinen Unterschied gesehen

    Ich weiß nicht, was du damit meinst, in den verknüpften Feldern waren die entsprechenden werte der zugehörigen Datensätze. Wäre hier für eine Erklärung dankbar.

    Vielen Dank schon mal für deine Mühe

    Grüße
    Hamster
     
    Cute_Hamster, 9. Juli 2014
    #26
  12. Teste doch mal deine Abfrage, die du als Recordsource für das Formular angegeben hast, im Abfrageentwurf. Da siehst du genau die Daten, die du auch im Formular hast.
    Code:
    Das dürfte der Sache schon näher kommen.
    maike
     
    maikek, 9. Juli 2014
    #27
  13. Syntaxfehler in JOIN-Operation

    \@ Maike : wenn du das so schreibst wirkt das irgendwie sehr logisch xD

    hab das übernommen und damit ist das Problem der leeren Datensätze gelöst.

    jetzt müsste ich nur noch die Lösung von el_gomero einbauen, damit das Arbeitsgruppen kombi den richtigen Inhalt hat.

    Und das große Problem das bleibt:

    Wieso werden in den Feldern Arbeitsgruppe und Abteilung nur "#Name?" angezeigt? Die Datensätze sind schon die richtigen, dass sehe ich ja an den angezeigten vor- und Nachnamen.

    Aber wieder mal vielen Dank, wieder ein Schritt weiter.

    mfg
    Hamster

    Nachtrag:

    Ich habe mit dem von euch beiden erstellten Code nun soweit alles hinbekommen.

    Auswahl aus Abteilung lässt alle Datensätze der Abteilung anzeigen und erstellt die Datenherkunft für "cmb_arbeitsgruppe" neu.
    Auswahl aus "cmb_arbeitsgruppe" lässt nur die User aus der Arbeitsgruppe anzeigen.

    Soweit also alles super.

    Nur steht in "Arbeitsgruppe" und "Abteilung" sowie in den beiden ID Feldern immer noch "#Name?"

    Hier noch mal mein aktueller Code:

    Code:
     
    Cute_Hamster, 9. Juli 2014
    #28
  14. Ich bin mir nicht sicher, ob die Abfrage aktualisierbar ist, ob du also jetzt Daten in deinem Formular ändern kannst.
    maike
     
    maikek, 9. Juli 2014
    #29
  15. \@Maike : das ist so gewollt. Dieses Formular soll zur Ansicht sein. Sobald diese Funktioniert will ich versuchen Die Datensätze anklickbar zu machen um so dann ein Formular zu öffnen, in dem ggf. etwas bearbeitet werden kann.

    Ich habe extra in den Formulareigenschaften das Hinzufügen und Löschen von Datensätzen deaktiviert.

    Habe den Aktuellen Code der Recordsource im Abfrageeditor getestet. Er gibt mir dort die korrekten User aus. Allerdings sehe ich dort die entsprechenden Datensätze aus der Tabelle "User" mit allen Spalten. Die Problematischen spalten im Formular sind ja die, die aus den beiden anderen Tabellen dazu gesetzt werden.

    ... wo ich das so hinschreibe... dann müsste ich ja auch die entsprechenden Felder mit laden, wenn ich die Source des Formulars ändere, weil er die Informationen ja sonst nicht haben kann...

    EDIT

    Danke für diesen Denkanstoß.
    Habe nun zumindest die Felder richtig drinn, wenn ich eine Abteilung Auswähle. Nur beim Auswählen einer Arbeitsgruppe mache ich wohl noch etwas falsch.

    Code:
    bei Auswahl einer Arbeitsgruppe bekomme ich die Meldung:
    3070 Das Microsoft Access-Datenbankmodul erkennt 'tbl_Abteilungen_neu.*' nicht als gültigen Feldnamen oder Ausdruck.

    wie kann das kommen? wenn er es doch bei der Aktualisierung des "cmb_Abteilungen" annimmt?

    Weiterer Nachtrag

    Ich habe nun die Select Anweisung vom "cmb_Abteilungen" für das "cmb_Arbeitsgruppen" übernommen, weil mir bewusst geworden ist, dass dort im Prinzip das gleiche passieren soll. Nur die Where Funktion habe ich beibehalten (da hier ja der unterschied liegt)

    vom testen her Funktioniert das jetzt so.

    Spricht etwas dagegen das so zu belassen? kann ich da später probleme mit haben?
    Wenn das so in Ordnung ist würde ich das Theme hier anschließend auf erledigt setzen. Würde mir nur fürs gewissen helfen, wenn sich das jemand noch mal angeguckt hat und genickt hat ^^

    Vielen Dank soweit

    mfg
    Hamster
     
    Cute_Hamster, 9. Juli 2014
    #30
Thema:

Syntaxfehler in JOIN-Operation

Die Seite wird geladen...
  1. Syntaxfehler in JOIN-Operation - Similar Threads - Syntaxfehler JOIN Operation

  2. Ich sehe den Syntaxfehler nicht!

    in Microsoft Excel Hilfe
    Ich sehe den Syntaxfehler nicht!: Hallo zusammen! Ich sitz schon eine halbe Stunde davor und sehe einfach diesen Syntaxfehler nicht! Sieht ihn jemand von euch? Code: Range("B3").FormulaR1C1 = _...
  3. Syntaxfehler

    in Microsoft Excel Hilfe
    Syntaxfehler: Moin Moin zusammen, ich hab grad Tomaten auf den Augen. Der Akzeptiert die Syntax mit Verweis auf die "AdvancedFiltermethode des Range Objektes konnte nicht ausgeführt werden" Aber irgendwie tue...
  4. Syntaxfehler

    in Microsoft Access Hilfe
    Syntaxfehler: Hallo, auf meinen Befehl erhalte ich die Information "Syntaxfehler im Abfrageausdruck". Beide Felder sind Textfelder. Code: Dim strSQL As String strSQL = "SELECT * FROM abfr_Adressen_3 " strSQL =...
  5. Syntaxfehler in From-Klausel

    in Microsoft Access Hilfe
    Syntaxfehler in From-Klausel: Hallo Leute. Ich habe ein kleines Problem, das ich nicht selbst lösen kann. Ich habe eine Datenbank die unter anderem eine Kundentabelle enthält. Außerdem existiert eine übergeordnete Kunden-DB...
  6. Syntaxfehler in Datum in Abfrageausdruck

    in Microsoft Access Hilfe
    Syntaxfehler in Datum in Abfrageausdruck: Hallo, leider habe ich ein Problem mit einem Datumsfeld in einer Insert Into Anweisung unter Access. Das Feld in das eingefügt wird, ist ein Datumsfeld, und ich übernehme das aktuelle Datum per...
  7. Syntaxfehler in Insert

    in Microsoft Access Hilfe
    Syntaxfehler in Insert: Hallo zusammen, ich habe eben in einem Formular in Access ein weiteres Textfeld hinzugefügt. Leider bekomme ich nun beim Insert die Fehlermeldung Syntaxfehler (fehlender Operator) in...
  8. Syntaxfehler/Fehler beim Kompilieren

    in Microsoft Excel Hilfe
    Syntaxfehler/Fehler beim Kompilieren: Hallo ich habe ein VBA geschrieben, der folgende bewirken soll: Wenn in F14, F16 und G14 ein Wert steht (unabhängig welcher Wert) soll sich G15 entsperren, wenn in G15 das Ergebnis von G14/F14...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden