Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: dan21 am Juli 16, 2010, 10:59:38

Titel: FindFirst mit 2 Kriterien und Datum
Beitrag von: dan21 am Juli 16, 2010, 10:59:38
Moin,
ich möchte überprüfen, ob es einen Datensatz schon gibt. Dazu hab ich folgenden Code verwendet:
Dim datenbank As dao.Database
Dim rs As dao.Recordset  'DAO3.6 Lib- Verweis setzen
Dim dtTemp As Date
Set datenbank = CurrentDb
Set rs = datenbank.OpenRecordset("tabIstArbeit", dbOpenDynaset)
dtTemp = Me.von
rs.FindFirst ("Tag = #" & dtTemp & " # AND Plandatensatz = " & Me.ID)
If Not rs.NoMatch Then
  rs.AddNew
End If
rs.Close
Set rs = Nothing


Ich hab es schon mit und ohne # versucht, ich komme einfach nicht weiter. Was ist an der Abfrage falsch?
Me.von ist ein Textfeld, mit Kalendersteuerelement und Format "Datum, kurz", wen das hilft.

Danke
Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: database am Juli 16, 2010, 11:11:23
Hallo,

vielleicht hilft dir dieser Hinweis weiter:

www.donkarl.com?FAQ6.8 (http://www.donkarl.com?FAQ6.8)

...ich denke es wird am Datum liegen.

HTH

Peter

Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: oma am Juli 16, 2010, 11:17:30
Hallo,

rs.FindFirst "Plandatensatz=" & Me!ID & " AND Tag = " & Format(Me!von, "\#yyyy-mm-dd\#")


Gruß Oma
Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: dan21 am Juli 16, 2010, 12:04:18
danke, so klappt es.
Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: dan21 am Juli 16, 2010, 12:39:17
Ich hänge das nochmal hieran.
Ich will nun in einem Unterformular den Filter setzen, damit nur Daten aus einem bestimmten Zeitraum angezeigt werden.
Leider klapt die Funktion erst beim zweiten Klicken auf den Button. Woran könnte das liegen?

PS. Zweimal Klicken ist nur bei der ersten Filterung nötig. Wenn ich den Zeitraum nur ändere, dann genügt ein Klick.

frmIst_Details.Requery
Me.frmIst_Details.Form.FilterOn = True
Me.frmIst_Details.Form.Filter = "Tag BETWEEN " & Format(Me.von, "\#yyyy-mm-dd\#") & " AND " & Format(Me.bis, "\#yyyy-mm-dd\#")
frmIst_Details.Requery
Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: database am Juli 16, 2010, 12:53:00
Hallo,

versuche mal die beiden Filter-Zeilen zu vertauschen.

1. Filter deklarieren
2. FilterOn = True

Du müsstest eigentlich ohne Requery auskommen

HTH

Peter

Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: oma am Juli 16, 2010, 13:02:59
Hallo,

geht auch in der Reihenfolge und ohne requery:

Me!frmIst_Details.FilterOn = True
Me!frmIst_Details.Filter = "Tag BETWEEN " & Format(Me!Von, "\#yyyy-mm-dd\#") & " AND " & Format(Me!Bis, "\#yyyy-mm-dd\#")


Gruß Oma
Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: database am Juli 16, 2010, 13:33:13
Hallo,

@oma

ist der Filter auf ein Unterformular nicht mit Hauptform!Unterform.Form.Filter zu setzen ?
Titel: Re: FindFirst mit 2 Kriterien und Datum
Beitrag von: oma am Juli 16, 2010, 14:03:04
Hallo,

sorry, das kommt immer von kopieren und einsetzen:


Me!frmIst_Details.Form.Filter = "Tag BETWEEN " & Format(Me!Von, "\#yyyy-mm-dd\#") & " AND " & Format(Me!Bis, "\#yyyy-mm-dd\#")
Me!frmIst_Details.Form.FilterOn = True


Gruß Oma