Hallo Zusammen,
ich bekomm folgende Fehlermeldung ( AC2007)
Laufzeitfehler-2147417848(80010108)
Die Methode "Filter" für das Objekt Form_Dispoplan_DT_Erfassung_Ufo ist fehlgeschlagen.
Der Fehler kommt nicht immer. Gefühlt nach jeder 20sten Filterung.
Info:
HF ( nicht Tabellend beassierend )
UFO ( Abfrage bassierend )
Code :
[size=8pt]
Public Sub Sendung_Suchen()
' **************************************
' * SENDUNGEN SUCHEN *
' **************************************
'Me.Filter = ""
'Me.FilterOn = True
Dim Krit As String
Krit = ""
'Beispiel für Filtersetzen mit Text, Zahl, Datum LagerCode
If Not IsNull(Me!LfdNr) Then Krit = Krit & " And LfdNr =" & Me!LfdNr
If Not IsNull(Me!AG_FirmenName1) Then Krit = Krit & " And AG_FirmenName1 Like '*" & Me!AG_FirmenName1 & "*'"
If Not IsNull(Me!STATUS) Then Krit = Krit & " And Abfrage_DISPOPLAN_DT_ERFASSUNG_UFO.Status =" & Me!STATUS
If Not IsNull(Me!LieferscheinNr) Then Krit = Krit & " And LieferscheinNr Like '" & Me!LieferscheinNr & "*'"
If Not IsNull(Me!Auftragsnummer) Then Krit = Krit & " And Auftragsnummer Like '*" & Me!Auftragsnummer & "*'"
If Not IsNull(Me!LagerCode_Sendung) Then Krit = Krit & " And LagerCode Like '" & Me!LagerCode_Sendung & "*'"
If Not IsNull(Me!Auftragsnummer) Then Krit = Krit & " And Auftragsnummer Like '*" & Me!Auftragsnummer & "*'"
If Not IsNull(Me!LTW) Then Krit = Krit & " And LTW Like '" & Me!LTW & "*'"
If Not IsNull(Me!EMPF_Land) Then Krit = Krit & " And Empf_Land Like '" & Me!EMPF_Land & "*'"
If Not IsNull(Me!EMPF_Plz) Then Krit = Krit & " And Empf_Plz Like '" & Me!EMPF_Plz & "*'"
If Not IsNull(Me!EMPF_Ort) Then Krit = Krit & " And Empf_Ort Like '*" & Me!EMPF_Ort & "*'"
If Not IsNull(Me!Ladedatum) Then Krit = Krit & " And Ladedatum Like '*" & Me!Ladedatum & "*'"
If Me.BT_Alle_ungeplanten = True Then Krit = Krit & " And Isnull(DT_Erfassung.TourNr)"
If Me.BT_Alle_geplante = True Then Krit = Krit & " And Not Isnull(DT_Erfassung.TourNr)"
If Not IsNull(Me!TOURNR) Then Krit = Krit & " And DT_Erfassung.TourNr =" & Me!TOURNR
If Not IsNull(Me!Express) Then Krit = Krit & " And Express =" & Me!Express
If Not IsNull(Me!Fixtermin) Then Krit = Krit & " And Fixtermin =" & Me!Fixtermin
If Not IsNull(Me!Check_Rohre) Then Krit = Krit & " And Check_Rohre =" & Me!Check_Rohre
If Not IsNull(Me!SNDG_ART) Then Krit = Krit & " And SNDG_ART =" & Me!SNDG_ART
If Krit <> "" Then Krit = Mid(Krit, 6)
Me!DISPOPLAN_DT_ERFASSUNG_UFO.Form.Filter = Krit
Me!DISPOPLAN_DT_ERFASSUNG_UFO.Form.FilterOn = True
End Sub[/size]
Kann mir hier jemand weiterhelfen, warum es zu diesem Fehler kommt?
Hab den gleichen Code seit 3 Jahren in einer AC2003 Version und nie einen Fehler bekommen.
Danke
Lg Bernie
Hallo,
warum ist die Auftragsnummer doppelt behandelt?
"And Abfrage_DISPOPLAN_DT_ERFASSUNG_UFO.Status" warum ist hier der Abfragename mit angegeben. Heißt der wirklich so und gibt es "Status" in mehreren Tabellen?
folgendes sollte so lauten:
If nz(Me!BT_Alle_ungeplanten,0) Then Krit = Krit & " And DT_Erfassung.TourNr is Null"
If nz(Me!BT_Alle_geplante,0) Then Krit = Krit & " And Not DT_Erfassung.TourNr is Null"
Hallo Franz,
das mit der Auftragsnummer hatte ich übersehen. Ja ist nicht gewollt.
ZitatAbfrage_DISPOPLAN_DT_ERFASSUNG_UFO.Status"
Ja ich filtere 2 Ufos mit leider dem gleichem Namen "Status"
Hab alles so geändert. Trotzdem kommt der gleiche Fehler erneut , aber wie gesagt erst nach so der 20 ten Filterung.
Da es im ACC2003 funktioniert, muss man da vll igrend etwas in ACC2007 einstellen ?
Lg Bernie
Hallo,
das ist was anderes faul...(Vermutlich an den Qualifizierern oder den Abfrage-Verknüpfungen)
Poste mal den (Abfrage-)SQL-String, der für das Formular, das im UFO-Steuerelement "DISPOPLAN_DT_ERFASSUNG_UFO" angezeigt wird, verwendet ist.
Hi,
Zitat(Vermutlich an den Qualifizierern oder den Abfrage-Verknüpfungen)
Die Abfrage wurde aus einer einzigen Tabelle "DT_Erfassung" unter Access Abfragen erstellt.
Das einzige was in der Abfrage erfolgt ist:
STATUS = Zahlenfeld mit Kriterium 1 Oder 2 Oder 3 Oder 4 Oder 5 Oder 8
STATUS_SNDG = Zahlenfeld mit Kirterium >1
ZustellerCode = Textfeld mit Krit : <>"UPS"
und zwei Felder wo eine Zusammenfassung erfolgt :
Abgangsort:: [ABG_Land] & "-" & [ABG_Plz] & " " & [ABG_Ort]
Empfangsort: [EMPF_Land] & "-" & [EMPF_Plz] & " " & [EMPF_Ort]
Sorry ich weiss nicht wie ich an den (Abfrage-)SQL-String
rankomme. Wie gesagt ist eine ACCESS Abfrage.
Lg Bernie
ok, gefunden. :-)
Hier bitte ;
SELECT DT_ERFASSUNG.LfdNr, DT_ERFASSUNG.Geändert_am, DT_ERFASSUNG.Geändert_von, DT_ERFASSUNG.Import_Status, DT_ERFASSUNG.Aufklappen, DT_ERFASSUNG.Lieferinfo, DT_ERFASSUNG.Versandanweisung, DT_ERFASSUNG.Auftragsnummer, DT_ERFASSUNG.LieferscheinNr, DT_ERFASSUNG.Buchungsdatum, DT_ERFASSUNG.LS_Anzahl_gedruckt, DT_ERFASSUNG.Verkäufer, DT_ERFASSUNG.Kostenstelle, DT_ERFASSUNG.Belegdatum, DT_ERFASSUNG.Express, DT_ERFASSUNG.STATUS, DT_ERFASSUNG.STATUS_SNDG, DT_ERFASSUNG.Monat, DT_ERFASSUNG.Jahr, DT_ERFASSUNG.Woche, DT_ERFASSUNG.LTW, DT_ERFASSUNG.LTW_Träger, DT_ERFASSUNG.AG_ID, DT_ERFASSUNG.AG_MatchCode, DT_ERFASSUNG.AG_FirmenName1, DT_ERFASSUNG.AG_FirmenName2, DT_ERFASSUNG.AG_Adresse1, DT_ERFASSUNG.AG_Adresse2, DT_ERFASSUNG.AG_Land, DT_ERFASSUNG.AG_Plz, DT_ERFASSUNG.AG_Ort, DT_ERFASSUNG.AG_Kontakt, DT_ERFASSUNG.AG_TelNr, DT_ERFASSUNG.AG_Faxnr, DT_ERFASSUNG.AG_Email, DT_ERFASSUNG.AG_RefNr, DT_ERFASSUNG.AG_Ext_KommNr, DT_ERFASSUNG.ABG_ID, DT_ERFASSUNG.ABG_MatchCode, DT_ERFASSUNG.ABG_FirmenName1, DT_ERFASSUNG.ABG_FirmenName2, DT_ERFASSUNG.ABG_Adresse1, DT_ERFASSUNG.ABG_Adresse2, DT_ERFASSUNG.ABG_Land, DT_ERFASSUNG.ABG_Plz, DT_ERFASSUNG.ABG_Ort, DT_ERFASSUNG.ABG_Kontakt, DT_ERFASSUNG.ABG_TelNr, DT_ERFASSUNG.ABG_Faxnr, DT_ERFASSUNG.ABG_Email, DT_ERFASSUNG.EMPF_ID, DT_ERFASSUNG.EMPF_MatchCode, DT_ERFASSUNG.EMPF_FirmenName1, DT_ERFASSUNG.EMPF_FirmenName2, DT_ERFASSUNG.EMPF_Adresse1, DT_ERFASSUNG.EMPF_Adresse2, DT_ERFASSUNG.EMPF_Land, DT_ERFASSUNG.EMPF_Plz, DT_ERFASSUNG.EMPF_Ort, DT_ERFASSUNG.EMPF_Kontakt, DT_ERFASSUNG.EMPF_TelNr, DT_ERFASSUNG.EMPF_Faxnr, DT_ERFASSUNG.EMPF_Email, DT_ERFASSUNG.EMPF_ObjektCode, DT_ERFASSUNG.PaketverfolgunsNr, DT_ERFASSUNG.LagerCode, DT_ERFASSUNG.Transportzeit, DT_ERFASSUNG.ZustellerCode, DT_ERFASSUNG.Zustellertansportart, DT_ERFASSUNG.Ladedatum, DT_ERFASSUNG.Ladezeit, DT_ERFASSUNG.Lade_von, DT_ERFASSUNG.Lade_bis, DT_ERFASSUNG.Lieferart, DT_ERFASSUNG.Ladetag, DT_ERFASSUNG.EntLadedatum, DT_ERFASSUNG.EntLadezeit, DT_ERFASSUNG.EntLade_von, DT_ERFASSUNG.EntLade_bis, DT_ERFASSUNG.Entladetag, DT_ERFASSUNG.Ankunftszeit, DT_ERFASSUNG.Ankunftszeit_Ist, DT_ERFASSUNG.Fixtermin, DT_ERFASSUNG.Lieferzeitpunkt, DT_ERFASSUNG.Lieferbedingung, DT_ERFASSUNG.Lieferbedingung_beschreibung, DT_ERFASSUNG.Lieferbedingung_Code, DT_ERFASSUNG.Packstücke, DT_ERFASSUNG.Letztes_Druckdatum, DT_ERFASSUNG.[Letzes_Druckdatum-zeit], DT_ERFASSUNG.Verkauf_anDebitorenNr, DT_ERFASSUNG.Colli, DT_ERFASSUNG.Kg, DT_ERFASSUNG.Qbm, DT_ERFASSUNG.LM, DT_ERFASSUNG.EP_Tausch, DT_ERFASSUNG.GB_Tausch, DT_ERFASSUNG.ROHRE, DT_ERFASSUNG.LadePos, DT_ERFASSUNG.EntladePos, DT_ERFASSUNG.TU_ID, DT_ERFASSUNG.TU_MatchCode, DT_ERFASSUNG.TU_FirmenName1, DT_ERFASSUNG.TU_FirmenName2, DT_ERFASSUNG.TU_Adresse1, DT_ERFASSUNG.TU_Adresse2, DT_ERFASSUNG.TU_Land, DT_ERFASSUNG.TU_Plz, DT_ERFASSUNG.TU_Ort, DT_ERFASSUNG.TU_Kontakt, DT_ERFASSUNG.TU_TelNr, DT_ERFASSUNG.TU_Faxnr, DT_ERFASSUNG.TU_Email, DT_ERFASSUNG.TU_Fahrzeug, DT_ERFASSUNG.TU_LKW_Nr_A, DT_ERFASSUNG.TU_LKW_Nr_B, DT_ERFASSUNG.TU_Handy_Fahrer, DT_ERFASSUNG.TOURNR, DT_ERFASSUNG.TU_Ankunftszeit, DT_ERFASSUNG.TU_Fracht, DT_ERFASSUNG.TU_Fracht_TU_RE, DT_ERFASSUNG.TU_Fracht_Diff, DT_ERFASSUNG.Info_Paletten, DT_ERFASSUNG.Info_Notes, DT_ERFASSUNG.Info_Schäden, DT_ERFASSUNG.Inf_Avis, DT_ERFASSUNG.Dispoplan_Markierung, [ABG_Land] & "-" & [ABG_Plz] & " " & [ABG_Ort] AS Ausdr1, [EMPF_Land] & "-" & [EMPF_Plz] & " " & [EMPF_Ort] AS Ausdr2, DT_ERFASSUNG.TU_Manuell, DT_ERFASSUNG.TU_Fahrzeug, DT_ERFASSUNG.Tourenart, DT_ERFASSUNG.Fahrzeugart, DT_ERFASSUNG.TU_Fahrzeug_ID, DT_ERFASSUNG.TU_Fracht, DT_ERFASSUNG.STATUS_Geändert_am, DT_ERFASSUNG.STATUS_Geändert_von, DT_ERFASSUNG.SNDG_ART, DT_ERFASSUNG.SNDG_ART, DT_ERFASSUNG.Fixtermin, DT_ERFASSUNG.TU_Fracht_Kalk, DT_ERFASSUNG.TU_Fracht_Versicherung, DT_ERFASSUNG.TU_Fracht_Zuschlag, DT_ERFASSUNG.Dispoplan_Markierung, DT_ERFASSUNG.TU_OFFERTE, DT_ERFASSUNG.Sperrigkeit_Qbm, DT_ERFASSUNG.Sperrigkeit_LM, DT_ERFASSUNG.Sperrigkeit_EP_bis_140, DT_ERFASSUNG.Sperrigkeit_EP_über_140, DT_ERFASSUNG.Sperrigkeit_GB, DT_ERFASSUNG.Sperrigkeit_EW_bis_60x80, DT_ERFASSUNG.Sperrigkeit_EW_bis_120x80, DT_ERFASSUNG.Sperrigkeit_EW_über_120x80, DT_ERFASSUNG.LM_Ab, DT_ERFASSUNG.Check_Rohre, [EMPF_Adresse2] & " " & [EMPF_Adresse1] AS EMPF_Strasse, DT_ERFASSUNG.Anzahl_Kanäle
FROM DT_ERFASSUNG
WHERE (((DT_ERFASSUNG.STATUS)=1) AND ((DT_ERFASSUNG.STATUS_SNDG)>1) AND ((DT_ERFASSUNG.ZustellerCode)<>"UPS")) OR (((DT_ERFASSUNG.STATUS)=2)) OR (((DT_ERFASSUNG.STATUS)=3)) OR (((DT_ERFASSUNG.STATUS)=4)) OR (((DT_ERFASSUNG.STATUS)=5)) OR (((DT_ERFASSUNG.STATUS)=8))
ORDER BY DT_ERFASSUNG.TOURNR DESC;
Hallo,
ohne weiter auf den SQL-String einzugehen...,
was bedeutet dann dieses: ??
If Not IsNull(Me!STATUS) Then Krit = Krit & " And Abfrage_DISPOPLAN_DT_ERFASSUNG_UFO.Status =" & Me!STATUS
Wirf mal das Rot-Markierte weg.. eine solche Abfrage/Tabelle ist nicht in der Datensatzherkunft (deinem SQL-String) vorhanden.
Hi,
ZitatIf Not IsNull(Me!STATUS) Then Krit = Krit & " And Abfrage_DISPOPLAN_DT_ERFASSUNG_UFO.Status =" & Me!STATUS
heisst dann so oder ?
If Not IsNull(Me!STATUS) Then Krit = Krit & " And DT_ERFASSUNG.Status =" & Me!STATUS
DT_Erfassung wäre die Tabelle worauf sich die geamste Abfrage bezieht.
Das war hier so im Forum vorgeschlagen, da ich im HF ja mehre Filter auf 2 Ufos ausführe und jedes dieser UFOS ein Feld "Status" enthält.
Das hatte nämlich Proble verursacht.
Richtig ?
Lg Bernie
Hallo,
ja, das heißt so... wobei sich "Me!Status" auf das Feld in demjenigen Formulur bezieht, in dem der Code abläuft..
"da ich im HF ja mehre Filter auf 2 Ufos ausführe und jedes dieser UFOS ein Feld "Status" enthält" ???
Guten Morgen,
ok es scheint ersteinmal zu funktionieren.
Vielen Dank für deine Hilfe
lg Bernie