Hallo zusammen - ich habe diese Prozedur für eine andere DB in access 2003 eingebaut, aber nun muss ich diese eine neue DB 2010 einbauen.
Ich erinnere mich das ich noch eine Einstellung (Activex ?) ändern muss damit das funktioniert, aber leider erinnere ich mich nicht mehr wie, bzw wo ich die Einstellung in access 2010 machen musse.
Kann mir da jemand helfen?
Const frm = "frm_ZGLLX03_prep_new"
If Not CurrentProject.AllForms(frm).IsLoaded Then
DoCmd.OpenForm frm
End If
Forms(frm).Recordset.FindFirst _
BuildCriteria("ITEM", dbText, Me.ITEM) ' für ein Ganzzahlenfeld dbLong verwenden
Habe es gefunden - es war der Verweis auf die Microsoft DAO 3.6 Object Library im VBA-Editor (Extras/Verweise), aber leider funktioniert es immer nocht nicht. Jemand eine Idee ?
Hallo Cédric,
Hier
ZitatBuildCriteria("ITEM", dbText, Me.ITEM)
fehlt IMO der Vergleichsoperator
BuildCriteria("ITEM", dbText, "=" & Me.ITEM)
'oder
BuildCriteria("ITEM", dbText, "Like *" & Me.ITEM & "*")hth
gruss ekkehard
Hallo,
warum so umständlich?
Docmd.Openform "frm_ZGLLX03_prep_new",,,"[Item]= " & Me![Item]
reicht..
Wobei der Name "Item" als reserviertes Wort nicht verwendet werden sollte...
Danke DF6GL - ich erhalte die errormsg "Data type mismatch in criteria expression". Habe es ebefalls mit ITEM1 & ITEM probiert, aber erhalte die gleiche errormsg. Was muss ich ändern ? ITEM kommt übrigens ursprünglich von der gleichen Tabelle und kann nicht ein anderer Type sein.
Danke Beaker s.a - haben es mit deiner version probiert, aber hat auch nicht funktioniert. Aber hier ist etwas ganz komisches passiert. Die DB habe ich noch in Access 2003 gebastelt (inkl dieser Prozedur) und habe nun mit Acces 2007 weiter entwickelt. Ich habe die Abfrage für "frm_ZGLLX03_prep_new"
geändert, bzw habe habe ich in der Abfrage ein zusätzliches Kriterium eingebaut. Mit Aenderung funktioniert es nicht und wenn ich es wieder auf Original zurückstelle funktioniert es wieder. Sehr Komisch.
Im voraus danke für die Hilfe.
Gruss Cédric
Hallo,
der Datentyp ist hier (von mir) als Zahl,Long angenommen (was "Item" assoziiert) und das sehr wahscheinlich nicht zutrifft.
Vermutlich handelt es sich um "Text", so dass es lauten muss:
Docmd.Openform "frm_ZGLLX03_prep_new",,,"[Item]= '" & Me![Item] &"'"
Nochmal: Es ist dringend(!!) angeraten, reservierte Wörter für Feldnamen zu vermeiden.
"in der Abfrage ein zusätzliches Kriterium eingebaut....funktioniert ... nicht "
Wie lautet denn die SQL-der Abfrage?
Passt genau - Danke.
Wie würde es aussehen wen ich zwei Kriterien haben, z.b. Item und Batch.
Was meinst du mit reservierten Wörter? Wird Item von VBA für etwas andere gebraucht ?
ZitatNochmal: Es ist dringend(!!) angeraten, reservierte Wörter für Feldnamen zu vermeiden.
Habe auch das Problem der anderen Prozedur gefunden... Ueberlegungsfehler.
Hallo,
"Wird Item von VBA für etwas andere gebraucht ?"
in der Tat..
http://office.microsoft.com/de-de/access-help/reservierte-worter-und-symbole-in-access-2007-HA010030643.aspx
Dort steht zwar "Item" nicht explizit drin, "Item" wird aber bei vielen Aufzählungen als Eigenschaft verwendet.
"zwei Kriterien haben, z.b. Item und Batch"
Docmd.Openform "frm_ZGLLX03_prep_new",,,"[Item]= '" & Me![Item] &"' and [Batch] = " & Me![Batch] ' Datentyp "Batch": Zahl, Long
Hallo DF6GL
Ich habe deinen Befehl in einem anderen Formular probiert das ebenfalls mit 2 Kriterien geöffnet werden muss (beide Textfelder)
und erhalte eine data mismatch error msg.
DoCmd.OpenForm "F_Multible_Process_Orders", , , "[SO]='" & Me![SO] & "'" And "[SOITEM]='" & Me![SOITEM] & "'"
Kann mir jemand sage was falsch ist.
Danke Cédric
Hallo,
da wird dann wohl auch ein "data mismatch" vorliegen...
In Deinem Code müss(t)en die Tabellenfelder "SO" und SOITEM" beide den Datentyp TEXT aufweisen, wenn der Code funktionieren soll..
Siehe auch mein vorangeganges Posting bzgl. "Batch"
Hallo Cédric,
Da sind zwei " zuviel (eins vor dem And und eins danach)
DoCmd.OpenForm "F_Multible_Process_Orders", , , "[SO]='" & Me![SO] & "' And [SOITEM]='" & Me![SOITEM] & "'"
gruss ekkehard
Genau das wars - vielen dank.