Laufzeitfehler: 3021 - Kein aktueller Datensatz

26/10/2008 - 18:58 von Joerg M. | Report spam
Hi,

ich greife aus Outlook-VBA auf meine Access-DB (beides 2003) zu.
Funktioniert soweit super, nur dass ich, wenn es zum SQL keinen Wert gibt,
einen Laufzeitfehler 3021 erhalte.

Zwei Sachen:

1. Ich möchte gerne anstatt dieser Fehlermeldung eine Msgbox ausgeben
2. Immer auch wissen, wieviele Datensàtze gefunden wurden, damit ich diese
in einem Textfeld im UserForm anzeigen kann.

zu 1.)
Klar könnte ich über eine Error Sprungmarke abfangen. Aber das ist wohl
nicht die schönste Lösung. Auch wegen 2.) würde ich gerne vorher erfahren,
wieviele DS gefunden wurden und dann kann ich ja eine Prüfung auf "0" machen
und weiter arbeiten. Und die Zahl kann ich auch für 2) verwenden.

Besten Dank!

Gruß Joerg

Hier der Code:

Function fktListe1()
Dim oDataBase As DAO.Database

Dim rstSQLTer As DAO.Recordset
Dim cmbSQLTerArray(99, 11)
Dim ctlSQLTer As Object
Dim strSQLTer

Dim strPath As String
strPath = GetSetting("Outlook", "Programm", "Pfad ", "")
Set oDataBase = OpenDatabase(strPath)

'Werte aus DB für Liste Termine auslesen
strSQLTer = "SELECT tblLog.ID, tblLog.txtMailNaz, tblLog.txtMailNvg,
tblLog.txtMailNbd, tblLog.txtMailNbek, tblLog.txtMailNsb, tblLog.txtMailNted,
tblLog.txtMailNteh, tblLog.txtMailNtes, tblLog.txtMailNfol,
tblLog.txtMailNpat " & _
"FROM tblLog " & _
"ORDER BY tblLog.txtMailNted DESC;"

Set rstSQLTer = oDataBase.OpenRecordset(strSQLTer, dbOpenSnapshot)

Set ctlSQLTer = frmTermin.lstTermine

ctlSQLTer.ColumnCount = 11
cmbSQLTerArray(99, 11) = rstSQLTer.GetRows(100)
ctlSQLTer.Column() = cmbSQLTerArray(99, 11)
ctlSQLTer.ColumnWidths = "0cm;1,5cm;2,5cm;1cm;6cm; 1cm; 1,8cm;
5,5cm;1cm;0cm;0cm"

End Function


Laufzeitfehler: 3021 - Kein aktueller Datensatz

Bei Zeile

cmbSQLTerArray(99, 11) = rstSQLTer.GetRows(100)
 

Lesen sie die antworten

#1 Günter Gerold
26/10/2008 - 19:07 | Warnen spam
Hallo Joerg,

Joerg M. schrieb:
cmbSQLTerArray(99, 11) = rstSQLTer.GetRows(100)



mach doch vorher ein:

If rstSQLTer.EOF Then MsgBox "keine Datensàtze!"

Günter

Ähnliche fragen