Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage kommt bei cmd.close

Begonnen von dierk1804, Februar 08, 2014, 19:27:20

⏪ vorheriges - nächstes ⏩

dierk1804

Hallo liebe Accessgemeinde,
ich bitte wieder einmal um eure Hilfe.
Ich habe in einem Formular 2 Uforms, die in ihrer Abfrage auf das Hauptform ein Kriterium haben.
[forms]![Prüfplan]![modell] & " " & [forms]![prüfplan]![benennung]
Beim Schließen des Hauptformulars kommt eine Abfrage der o.a. Felder !???
Kann ich das unterbinden ? bzw was ist falsch?

Gruß

database

Hallo,

Zitat[forms]![Prüfplan]![modell] & " " & [forms]![prüfplan]![benennung]
Verwendest du diesen Teil als WHERE-Klausel??

oder was soll diese Abfrage bewirken?

dierk1804

dies steht im Kriterium der Abfrage des UForms. Der Grund dafür ist, dass ich zwei Oberbegriffe im Hauptform habe, die eine Übereinstimmung brauchen.
Es funktioniert auch alles super bis auf den cmdclose, da fragt er genau die Felder ab. Warum werden die UForms nicht einfach so geschlossen ohne die Datenherkunft abzufragen

database

Hallo,

weil ich annehme, dass die Gestaltung des Kriteriums nicht stimmen kann.

zeig mal die gesamte Abfrage

dierk1804

ich habe 2 Uforms mit der identischen Abfrage
SELECT tbl_Messen.ID, tbl_Messen.Modell, tbl_Messen.Messung, tbl_Messen.Mass, tbl_Messen.Tol_plus, tbl_Messen.Tol_minus
FROM tbl_Messen
WHERE (((tbl_Messen.Modell)=[forms]![Prüfplan]![modell] & " " & [forms]![prüfplan]![benennung]));

database

#5
Hmmm...

sind die beiden Felder Textfelder oder Zahlen?

bei Zahlenfeldern:
WHERE (((tbl_Messen.Modell)=[forms]![Prüfplan]![modell] & " AND tbl_Messen.Benennung=" & [forms]![prüfplan]![benennung]));

Bei Texten:
WHERE (((tbl_Messen.Modell)='" & [forms]![Prüfplan]![modell] & "' AND tbl_Messen.Benennung='" & [forms]![prüfplan]![benennung] & "'));"

Vorausgesetzt, dass Benennung in der tbl_Messen vorkommt

dierk1804


database


dierk1804

vielleicht habe ich mich falsch ausgedrückt.
Das Problem ist nicht die Abfrage, sondern dass beim Schließen des HF die Abfragen kommen.
Siehe Anhang

database

Die Abfrage kann so wie du die da stehen hast nicht funktionieren.
Du suchst nach einer Übereinstimmung des Feldes Modell mit dem zusammengesetztem Eintrag aus 2 Formularfeldern - das läuft sicher nicht.

Existiert am Formular 'Pruefplan' das Feld 'Modell' und das Feld 'Benennung' überhaupt - schau noch mal nach ob die nicht einen anderen Namen haben

Die Abfrage nach einem Parameter deutet darauf hin, dass das Feld nicht gefunden wird

dierk1804

in meinem HF läuft die Abfrage. Beim öffnen des Formulars wird alles angezeigt und es kommt zu keiner Fehlermeldung wie im Anhang angezeigt. Nur beim schließen des HF gibt es diese  Probleme

database

#11
Hallo,

dieser WHERE Klausel ist falsch!

WHERE (((tbl_Messen.Modell)=[forms]![Prüfplan]![modell] & " " & [forms]![prüfplan]![benennung]));
hier wird geprüft ob der Eintrag im Tabellenfeld Modell der Gleiche ist wie der zusammengesetzte Inhalt der Formularfelder Modell und Benennung. Noch dazu wird der ermittelte String nicht richtig übergeben, da die Textbegrenzungszeichen nicht vorhanden sind
und das kann beim besten Willen nicht funktionieren!

Wenn du die Abfrage für das UFo mit dem Abfrageassistenten machst und für die beiden Tabellenfelder die Kriterien setzt dann wird die WHERE Klausel niemals so aussehen - probier das mal aus und schau dir die SQL-Ansicht der Abfrage danach an.
Hast du das Kriterium für das Feld Benennung nachträglich reingeschrieben?

Du schreibst zu dem cmd.close ... schließt du das HF mittels Code bzw. wird beim Schließen irgendein Code ausgeführt?

Hast du kontrolliert ob die beiden Felder Modell und Benennung mit diesen Namen am HFo vorhanden sind?

Des gibt's ja net - kannst du eine leere DB erzeugen, die Forms und die dazugehörigen Tabellen reinschieben,
Reparieren und komprimieren, danach zippen und dann lad das Ding da mal hoch bitte

dierk1804

Hallo,
ich habe es hinbekommen, dank Deiner Hilfe. Ich habe die Uforms neu und mit dem Assi machen lassen. Jetzt funktioniert es.
Danke für die Geduld.

database

Aber bitte, Geduld ist einer meiner vielen Vornamen  :D ;D ;)

Und schau dir mal die SQL der funktionierenden Abfrage an - hmmm....

Setz bitte den Thread auf gelöst - DANKE