Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Access - Datenbank .findfirst

Access - Datenbank .findfirst
17.10.2007 15:09:00
Tom
Hi
Ich habe folgendes Problem mit der Abfrage aus einer Datenbank.
Und zwar mit findfirst bei einem Datum.
Es gibt immer den Error 3077 aus.
Die Abfrage mit dem Datentype Date ist glaub ich das Problem
Weiss jemand Rat?
Danke!!!!
Function GetEntryRow(ByVal databasename$, tablename$, fieldname$, searchtext As Date) As Long
Dim dbDB As Database
Dim rsrs As Recordset
Dim fieldpos As Integer
Dim strCriteria As Variant
Set dbDB = OpenDatabase(databasename)
Set rsrs = dbDB.OpenRecordset(tablename, dbOpenSnapshot)
rsrs.MoveFirst
rsrs.MoveLast
strCriteria = "[Datum]=" & searchtext
On Error GoTo errfindfirst
rsrs.FindFirst strCriteria
On Error GoTo 0
If Not rsrs.NoMatch Then
GetEntryRow = rsrs.AbsolutePosition + 1
Else
GetEntryRow = 0
End If
dbDB.Close
Set rsrs = Nothing
Set dbDB = Nothing
Exit Function
errfindfirst:
MsgBox Err

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Access - Datenbank .findfirst
17.10.2007 15:33:23
Tino
Hallo,
versuche mal tablename$ als Strin oder Variant anzugeben!
Gruß
Tino

AW: Access - Datenbank .findfirst
17.10.2007 15:52:47
Tom
ich nehme an Du meinst searchtext
das ändert leider nichts. egal ob string oder variant beide male error 3077
irgendwie sind diese .find Funktionen nicht wirklich das wahre
trotzdem danke

AW: Access - Datenbank .findfirst
17.10.2007 16:17:03
Tom
wen es interessiert...., das Problem ist das Datumsformat des Rechners...
umstellen auf / (im Betriebssystem) und ein leicht veränderter code funktioniert:

Function GetEntryRow(ByVal databasename$, tablename$, fieldname$, searchtext As Date) As Long
Dim dbDB As Database
Dim rsrs As Recordset
Dim fieldpos As Integer
Dim strCriteria As Variant
Set dbDB = OpenDatabase(databasename)
Set rsrs = dbDB.OpenRecordset(tablename, dbOpenSnapshot)
rsrs.MoveLast
rsrs.MoveFirst
strCriteria = "[Datum] = #" & searchtext & "# "
On Error GoTo errfindfirst
rsrs.FindFirst (strCriteria)
On Error GoTo 0
If Not rsrs.NoMatch Then
GetEntryRow = rsrs.AbsolutePosition + 1
Else
GetEntryRow = 0
End If
dbDB.Close
Set rsrs = Nothing
Set dbDB = Nothing
Exit Function
errfindfirst:
MsgBox Err
End Function


Anzeige
AW: Access - Datenbank .findfirst
17.10.2007 19:07:09
Luschi
Hallo Tom,
das Umstellen des Datumsformates im Betriebssystem ist keine gute Empfehlung. Auch der Admin der Firma wird da was dagegen haben.
Besser geht es so:
strCriteria = "[Datum] = #" & Format(searchtext, "mm\/dd\/yyyy") & "#"
Gruß von Luschi
aus klein-Paris

143 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige