August 13, 2022, 20:32:44

Neuigkeiten:

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


openform mit acFormEdit: immer auf ersten Tabellensatz Wiederholung)

Begonnen von Walterio, August 03, 2022, 10:32:00

⏪ vorheriges - nächstes ⏩

Walterio

Hallo

(Habe fälschlicherweise diesen Post schon unter Formulare plaziert. Da keine Antwort versuche ich es hier.)

Eine Tabelle enthält die Felder "ProzessID" (kurzer Text) und "Prozessversion" (Zahl, mit Format "\V00").
Es soll ein Formular für den Satz mit ID PN31-001) und höchster Versionsnummer aufgerufen werden.
Mit   
strSQL = "ProzessID = 'PN31-001' & Prozessversion = " & _
             DMax("Prozessversion", "[MNG21-Prozesse]", "ProzessID = 'PN31-001'")
    DoCmd.OpenForm "ProzessDetails", , , strSQL, acFormEdit
(strSql ist eine Public string-Variable)
Dmax liefert die richtige Versionsnummer.

Das Formular wird zwar geöffnet, aber mit dem ersten Satz der Tabelle!

was mache ich falsch?

Danke für jede Hilfe
Walter

DF6GL

Hallo,

wenn das Tabellenfeld "Prozessversion"  den Datentyp TEXT aufweist, fehlen die umschließenden  Hochkommata und zusätzlich muss es AND statt "&" heißen

strSQL = "ProzessID = 'PN31-001' And Prozessversion = '" & _
             DMax("Prozessversion", "[MNG21-Prozesse]", "ProzessID = 'PN31-001'") & "'"

Beaker s.a.

ZitatDa keine Antwort
Warum so ungeduldig? Ich habe da inzwischen geantwortet.
Da auch die von Franz gepostete Korrektur nicht korrekt ist
edit: wohl gerade noch korrigiert
ZitatstrSQL = "ProzessID = 'PN31-001' AND Prozessversion = '" & _
             DMax("Prozessversion", "[MNG21-Prozesse]", "ProzessID = 'PN31-001'") & "'"
für eine WhereCondition. Da braucht es dann natürlich kein
SELECT ... FROM, wie im anderen Thread geschrieben. Da hatte
ich die Kommas nicht gezählt bzw. gar nicht darauf geachtet.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

ebs17

Zitatwas mache ich falsch?
strSQL als Bezeichnung für einen Filter zu verwenden ist immerhin schon mal irritierend, einen Filter würde ich auch als solchen bezeichnen.

ZitatstrSQL = "ProzessID = 'PN31-001' & Prozessversion = ...
Dass man logisch per AND verkettet, nicht per &, hast Du den Vorbeiträgen sicher schon entnommen.

Zu dem weiteren: Zuerst sollte man sich informieren, welchen Datentyp das Feld Prozessversion hat und was also das DMax zurückliefert.
Mit freundlichem Glück Auf!

Eberhard

Walterio

August 03, 2022, 14:25:44 #4 Letzte Bearbeitung: August 03, 2022, 15:09:28 von Walterio
Vor lauter Bäumen...

Ich habe das total übersehen! Danke euch allen!
Und ja, Prozessversion ist eine Zahl


Walter