Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Per Button auf ander Form mit gleichem Item

Begonnen von boehnli01, September 23, 2012, 14:01:09

⏪ vorheriges - nächstes ⏩

boehnli01

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
     

boehnli01

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 ?

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

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...

boehnli01

#4
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  

DF6GL

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?




boehnli01

#6
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.

DF6GL

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


boehnli01

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

DF6GL

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"

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

boehnli01